SKIP TO CONTENT
Security

UUPS Proxy

Universal Upgradeable Proxy Standard where upgrade logic lives in the implementation contract.

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:

  1. Minimal Proxy: Contains only delegatecall forwarding logic
  2. Implementation with Upgrade Function: Includes the _authorizeUpgrade function
  3. Authorization Check: Implementation verifies upgrade caller has permission
  4. 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.

Examples

  • Argent wallet uses UUPS proxies for gas-efficient smart contract wallets
  • OpenZeppelin recommends UUPS for most upgradeable contract needs

See this concept in action across live DeFi protocols.

Track live yields, compare protocols, and build your DeFi portfolio with Fensory.

GET EARLY ACCESSArrow right