Upgradable contract
A smart contract whose logic can be changed after deployment via a proxy pattern.
An upgradable contract uses a proxy pattern where the user-facing contract address delegates calls to a separate implementation contract. The implementation can be swapped out without changing the proxy address. This lets teams fix bugs and add features post-deployment, but introduces upgrade key risk: whoever controls the proxy can change behavior entirely.
Non-upgradable contracts are immutable once deployed. Upgradable contracts are not, regardless of marketing language. Upgrade authority should be behind a timelock and multi-sig, with both publicly documented.