What Is a Proxy Pattern in the Context of Smart Contract Mutability?

A proxy pattern separates the contract's storage (data) from its logic (code). Users interact with a simple, immutable proxy contract, which delegates all function calls to a separate, upgradeable logic contract.

To upgrade, the developer simply points the proxy to a new logic contract address, preserving the contract's state and address.

Why Does a Transparent Proxy Need to Check the Caller’s Address?
How Can a ‘Proxy Contract’ Allow for an Apparent Code Change without Breaking Immutability?
Does Mutability Affect the Decentralization of a DeFi Protocol?
What Is an “Oracle Update” and How Does It Relate to Contract Mutability?
What Is the Role of a Proxy Contract in Maintaining Upgradability?
How Can Mutability Help a Derivatives Platform Adapt to Extreme Market Volatility?
What Is the Difference between a Transparent Proxy and a UUPS Proxy?
Does the Proxy Pattern Affect the Cost of Contract Deployment?

Glossar