Clone Contract (EIP-1167)
A minimal proxy contract standard that lets developers cheaply deploy many identical contract instances that all delegate their logic to one shared implementation contract.
A clone contract, standardized under Ethereum Improvement Proposal 1167, is an extremely small, gas-efficient proxy contract (see Kaavon's "Proxy Contract" glossary definition) whose only job is to forward every function call to a single shared implementation contract using delegatecall. Because the clone itself contains almost no bytecode, deploying one is dramatically cheaper than deploying a full copy of the implementation contract's code each time.
This pattern is especially useful for protocols that need to spin up many independent but functionally identical contract instances — for example, a new vault, vesting contract, or NFT collection per user or per campaign — since each clone shares the same underlying logic while keeping its own separate storage and state. Unlike the Diamond Standard (see Kaavon's "Diamond Standard (EIP-2535)" glossary definition), a clone contract is designed for cheaply replicating one fixed set of logic many times, not for modular, piecewise upgrades.
Examples
- A factory contract that needs to deploy thousands of near-identical vesting contracts can save substantial gas by deploying clone contracts instead of full copies of the vesting logic.
- All clone contracts pointing to the same implementation share identical logic but maintain entirely separate storage and state.