1,000,000 free RPC requestsJust a wallet, via x402.

Start building
ERC-8004 Explorer by

Last updated 2026-09-17

Contract addresses + ABIs

The three ERC-8004 registries sit at deterministic CREATE2 addresses across every supported EVM chain. All three are live on every mainnet listed below.

The tables below mirror config/chains.yml, the file the indexer reads at boot; that file is the source of truth if the two ever disagree. Click any contract address to open it on that network’s block explorer.

Mainnet addresses

Chain Identity Registry Reputation Registry Validation Registry Identity deploy block
Ethereum 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 24,339,871
Base 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 41,663,783
BNB Chain 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 79,027,268
Avalanche 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 77,389,037
Mantle 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 91,333,846
Arbitrum 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 428,895,443
OP Mainnet 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 147,514,947
Polygon 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 82,458,484
Scroll 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 29,432,417
Gnosis 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 44,505,010
Celo 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 58,396,724
Linea 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 28,662,553
Abstract 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 39,596,871
Soneium 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 18,879,198
Monad 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 52,952,790
Robinhood Chain 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 12,058,809
Arc 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 13,344,062
Tempo 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58 13,955,753

The registry addresses are CREATE2-deterministic, so they are byte-identical on every mainnet; only the deploy block and the explorer differ. The Reputation and Validation Registries usually deploy a few blocks after Identity, but not always (Validation on Robinhood Chain came much later, and on Avalanche it came first); use config/chains.yml 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
BNB Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 84,555,147
Avalanche Fuji 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 51,485,079
Mantle Sepolia 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 34,586,937
Arbitrum Sepolia 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 239,945,838
OP Sepolia 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 39,412,868
Polygon Amoy 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 33,069,064
Scroll Sepolia 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 16,543,185
Abstract Sepolia 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 16,493,173
Monad Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 10,391,697
Robinhood Chain Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 98,249,220
Arc Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 29,241,340
Tempo Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272 12,189,608

ABIs

The canonical JSON ABIs live in the reference contracts repo at github.com/erc-8004/erc-8004-contracts under the abis/ directory. Those files are the Hardhat 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