What is UUPS Proxy?
The Universal Upgradeable Proxy Standard (UUPS) is a proxy pattern variant where the upgrade mechanism resides in the implementation contract rather than the proxy itself. This approach results in smaller, cheaper proxy contracts while maintaining full upgradeability. UUPS was formalized in EIP-1822 and has become a preferred pattern for gas-efficient upgradeable contracts.
How it Works
Unlike transparent proxies where the proxy contract contains upgrade logic, UUPS proxies are minimal. The proxy only handles forwarding calls via delegatecall and stores the implementation address. All upgrade functionality exists in the implementation contract itself.
The UUPS architecture includes:
- Minimal Proxy: Contains only delegatecall forwarding logic
- Implementation with Upgrade Function: Includes the _authorizeUpgrade function
- Authorization Check: Implementation verifies upgrade caller has permission
- Storage Slot Convention: Uses EIP-1967 slots for implementation address
When upgrading, the implementation's upgrade function is called through the proxy, which then updates the proxy's stored implementation address.
Practical Example
Argent wallet uses UUPS proxies for their smart contract wallets, enabling feature upgrades while minimizing deployment and interaction gas costs. Each user's wallet is a minimal UUPS proxy, significantly reducing the cost of wallet creation. OpenZeppelin's UUPS implementation is widely used, including by protocols like Optimism and various NFT platforms seeking gas-efficient upgradeability.
Why it Matters
UUPS offers meaningful gas savings over transparent proxies, particularly important for contracts deployed many times like user wallets or NFTs. However, UUPS carries unique risks. If an implementation is deployed without the upgrade function, or if an upgrade to a broken implementation occurs, the contract becomes permanently non-upgradeable. Careful implementation and thorough testing are essential.
Fensory evaluates protocol upgrade mechanisms and security practices, helping users understand the specific proxy patterns and associated risks of their DeFi investments.