ERC-8004 Explorer by

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