Upgradeable Contract
A smart contract system designed so its underlying logic can be changed after deployment, typically via a proxy contract pattern.
An upgradeable contract is a smart contract system deliberately designed so its underlying logic can be changed after initial deployment, typically implemented using a proxy contract (see Kaavon's "Proxy Contract" glossary definition) that delegates execution to a separate, swappable logic contract.
Upgradeability trades away some of blockchain's core immutability guarantee in exchange for the ability to fix bugs or add features after launch — a genuine trade-off worth understanding, since it also means whoever controls the upgrade mechanism (see Kaavon's "Smart Contract" glossary definition for the broader immutability context) could potentially change the contract's behavior after users have already begun relying on it.
Examples
- An upgradeable contract can fix a discovered bug after deployment, something a genuinely immutable contract structurally cannot do.
- Whoever controls an upgradeable contract's upgrade mechanism holds real power over its future behavior, worth specifically checking before trusting the contract with significant funds.