Can a Smart Contract Be Designed to Be Upgradable despite Immutability?

Yes, smart contracts can be designed to be logically upgradable while maintaining the immutability of the underlying blockchain record. This is typically achieved using a "proxy pattern," where the main contract (the proxy) is immutable and holds the state, but delegates its logic execution to a separate "implementation" contract.

The logic contract can be replaced or upgraded, allowing for bug fixes or feature additions without losing the contract's history or state.

How Are Upgrades or Fixes Implemented on an Immutable Smart Contract?
Does the Proxy Pattern Affect the Cost of Contract Deployment?
Can a Smart Contract Be Immutable?
How Does the ‘Delegatecall’ Opcode Enable the Proxy Pattern?
How Does a Mutable Smart Contract Differ Fundamentally from an Immutable One in Terms of Security?
What Is an ‘Upgradeable’ Smart Contract and Why Is It Controversial in the Context of Immutability?
Can a Smart Contract Be Designed with a Mechanism to Update Its Logic despite Immutability?
What Is the Risk Associated with a Bug in an Immutable Smart Contract?

Glossar