Skip to main content

Can a Smart Contract Be Upgraded or Modified after Deployment?

Generally, an immutable smart contract cannot be directly upgraded. However, developers often use proxy patterns where a fixed "proxy" contract delegates calls to an "implementation" contract.

By changing the address of the implementation contract via a governance vote, the logic can be effectively "upgraded" while maintaining the same contract address.

Can a Smart Contract Be ‘Upgraded’ despite Being Immutable?
What Is the Difference between a Transparent Proxy and a UUPS Proxy?
How Can a ‘Proxy Contract’ Allow for an Apparent Code Change without Breaking Immutability?
Does the Proxy Pattern Affect the Cost of Contract Deployment?