Blockchain & Cryptocurrency Glossary

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • search-icon Clear Definitions
  • search-icon Practical
  • search-icon Technical
  • search-icon Related Terms

Contract Address

1 min read
Pronunciation
[kon-trakt ad-dress]
Analogy
A contract address is like a PO Box number—it’s where messages (transactions) are sent to interact with that contract.
Definition
The unique 20‑byte identifier at which a smart contract’s bytecode and storage reside on the blockchain.
Key Points Intro
Contract addresses are generated via:
Key Points

CREATE: `address = keccak256(rlp(sender, nonce))[12:]`.

CREATE2: `address = keccak256(0xff ++ sender ++ salt ++ keccak256(init_code))[12:]`.

Deterministic: Predictable before deployment with correct inputs.

Unique: No two contracts share the same address.

Example
Deploying from address `0xABC…` with nonce 5 yields contract address `keccak256(rlp([0xABC…,5]))[12:]`.
Technical Deep Dive
Under CREATE, the EVM computes RLP encoding of `[sender, senderNonce]`, hashes it with Keccak‑256, and uses the last 20 bytes. CREATE2 adds a 0xff prefix, a user‑supplied salt, and the init code hash. Clients enforce address collision checks and revert on conflicts.
Security Warning
Front‑running deployment with CREATE2 salts can hijack intended addresses; keep salts secret until deployment.
Caveat
EOA vs contract addresses share same format; ensure you check code size to distinguish.

Contract Address - Related Articles

No related articles for this term.