Skip to main content

UUPS Upgradeable Proxy

A UUPS upgradeable contract pattern that allows logic upgrades while preserving state, using OpenZeppelin upgrades plugin. A UUPS upgradeable contract pattern that allows logic upgrades while preserving state, using OpenZeppelin upgrades plugin.

Explanation

UUPS places the upgrade logic in the implementation contract itself. The _authorizeUpgrade function gates who can upgrade. This pattern is more gas-efficient than the transparent proxy pattern but requires care to avoid self-destructing the implementation.

Code


Canonical knowledge ID: code-example:uups-upgradeable-proxy