Skip to content

Glossary

CREATE2

The EVM opcode that deploys a contract to a deterministic address derived from `deployer + salt + init_code` — the basis of counterfactual deployment.

CREATE2 (introduced in Constantinople, EIP-1014) deploys a new contract at an address computed as keccak256(0xff || deployer || salt || keccak256(init_code))[12:]. Unlike the original CREATE, the address does not depend on the deployer's nonce, so it can be computed in advance from off-chain.

The opcode is the basis of counterfactual contract deployment (Safe, ERC-4337 wallets), factory pools (Uniswap v3 pool addresses are derived deterministically from the trading pair), and many Layer-2 designs that want to pre-compute contract addresses across chains.