Last updated 2026-04-26
Contract addresses + ABIs
The three ERC-8004 registries sit at deterministic CREATE2 addresses across every supported EVM chain. Identity and Reputation are live on every mainnet listed below. Validation is mainnet-pending and runs only on testnets while the working group finalizes the TEE attestation flow.
Mainnet addresses
| Chain | Identity Registry | Reputation Registry | Validation Registry | Identity deploy block |
|---|---|---|---|---|
| Ethereum | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
(mainnet pending) | 24,339,871 |
| Base | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
(mainnet pending) | 41,663,783 |
| BNB Chain | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
(mainnet pending) | 79,027,268 |
| Avalanche | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
(mainnet pending) | 77,389,037 |
| Mantle | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
(mainnet pending) | 91,333,846 |
The Identity and Reputation addresses are CREATE2-deterministic, so they are byte-identical on every chain’s mainnet; only the deploy block differs. The full deployment table covering Arbitrum, Optimism, Polygon, Linea, Scroll, Gnosis, Celo, Abstract, Soneium, Monad, and MegaETH lives in the source YAML — the same file the indexer reads at boot, so the two never disagree. The Reputation Registry deploys 1–5 blocks after Identity on each chain (Validation 2–10 blocks after Identity on testnets); use the source YAML for the exact per-registry deploy blocks if you’re starting a Reputation- or Validation-only indexer.
Testnet addresses
| Chain | Identity Registry | Reputation Registry | Validation Registry | Identity deploy block |
|---|---|---|---|---|
| Ethereum Sepolia | 0x8004A818BFB912233c491871b3d84c89A494BD9e |
0x8004B663056A597Dffe9eCcC1965A193B7388713 |
0x8004Cb1BF31DAf7788923b405b754f57acEB4272 |
9,989,393 |
| Base Sepolia | 0x8004A818BFB912233c491871b3d84c89A494BD9e |
0x8004B663056A597Dffe9eCcC1965A193B7388713 |
0x8004Cb1BF31DAf7788923b405b754f57acEB4272 |
36,304,145 |
| Avalanche Fuji | 0x8004A818BFB912233c491871b3d84c89A494BD9e |
0x8004B663056A597Dffe9eCcC1965A193B7388713 |
0x8004Cb1BF31DAf7788923b405b754f57acEB4272 |
51,485,079 |
| Mantle Sepolia | 0x8004A818BFB912233c491871b3d84c89A494BD9e |
0x8004B663056A597Dffe9eCcC1965A193B7388713 |
0x8004Cb1BF31DAf7788923b405b754f57acEB4272 |
34,586,937 |
ABIs
The canonical JSON ABIs live in the reference contracts repo at github.com/erc-8004/erc-8004-contracts under the abi/ directory. Those files are the Foundry build artifacts, so they drop straight into viem, ethers, or web3.py without any conversion. If you only need a quick reference for what each registry emits, the event signatures below are enough to wire up an eth_getLogs call or filter a subscription:
IdentityRegistry: Registered(uint256,string,address)
MetadataSet(uint256,string,string,bytes)
URIUpdated(uint256,string,address)
Transfer(address,address,uint256) // ERC-721 inherit
ReputationRegistry: NewFeedback(uint256,address,uint64,int128,uint8,string,string,string,string,string,bytes32)
FeedbackRevoked(uint256,address,uint64)
ResponseAppended(uint256,address,uint64,address,string,bytes32)
ValidationRegistry: ValidationRequest(address,uint256,string,bytes32)
ValidationResponse(address,uint256,bytes32,uint8,string,bytes32,string)
These are the exact signatures this Explorer’s indexer parses on every supported chain, and the /tutorials/viem and /tutorials/register-agent walkthroughs consume them directly.
Where to go next
- Register your first agent
- Read agent data with viem
- Get RPC for any of these chains
- What is ERC-8004?
- The canonical EIP: https://eips.ethereum.org/EIPS/eip-8004
- Reference contracts repo: https://github.com/erc-8004/erc-8004-contracts