Library · Crypto, word by word · Infrastructure and development
What is a proxy contract?
A proxy contract is a smart contract that holds the data and funds but forwards every call to a separate logic contract. Whoever controls the proxy can point it at new logic, which is how 'upgradeable' contracts are changed after launch without users moving to a new address.
What it means for you
If a token or app you use sits behind a proxy, its rules can be rewritten by whoever holds the upgrade key, including how your deposits can be withdrawn. Check on a block explorer whether the contract is a proxy, who the admin is (one key, a multisig or a governance vote) and whether upgrades wait behind a timelock that gives you time to see a change coming.
A common mistake: “The code was audited, so the contract can't change.”
In fact: An audit reviews the code it was shown. If the contract is a proxy, the admin can later point it at new logic the audit never saw, and the address you interact with stays the same.
How it works
Users interact with the proxy, which uses delegatecall to run code from the current implementation contract while keeping state in the proxy's own storage. An upgrade replaces only the stored implementation address. EIP-1967 fixes where proxies keep that address, the beacon address and the admin address, in storage slots derived from a hash minus one, for example keccak256('eip1967.proxy.implementation') - 1, so block explorers can read them and show the real logic. Proxies are expected to emit Upgraded and AdminChanged events when those values change, leaving a public record.
Sources: ethereum.org: Upgrading smart contracts, EIP-1967: Proxy Storage Slots · checked 4 October 2026
Related words
Educational content, not financial advice. Written by hand and checked against the source named above. Something wrong? Tell us and we reply within two business days.