Official implementation of ERC-8004 protocol for agent discovery, trust, and validation
π ERC-8004 Specification: EIP-8004
| Contract | Proxy Address | Type |
|---|---|---|
| IdentityRegistry | 0x06d49e79da8a241dd2c412bf5d22e19c619a39d1 |
UUPS Proxy |
| ReputationRegistry | 0x29A62d678dCc581414BB3A74dF27E99c17e60dD7 |
UUPS Proxy |
| ValidationRegistry | 0xa490b79113d8ef4e7c7912759a3fcaff8a58cd05 |
UUPS Proxy |
| ValidationPlugin | 0x83dab1f7be37c5c4b84743b72642c9651de7f12b |
Non-Upgradeable |
Mainnet Implementation Addresses (for verification)
| Contract | Implementation Address |
|---|---|
| IdentityRegistry | 0xdADB82b70617A6691E98529605B6449EfDB14273 |
| ReputationRegistry | 0xaCc5f3F216BA14556E3cfB3ee2D6d873F7A606D9 |
| ValidationRegistry | 0xd114DaDa68830f6C0896bDC85C8E1c08B76482DA |
| Contract | Proxy Address | Type |
|---|---|---|
| IdentityRegistry | 0x372d406040064a9794d14f3f8fec0f2e13e5b99f |
UUPS Proxy |
| ReputationRegistry | 0x8B106121EeEC204a1EA012E8560090a85d4C5350 |
UUPS Proxy |
| ValidationRegistry | 0x6ab685d73513918a5d76d90cbc089583b92f029e |
UUPS Proxy |
| ValidationPlugin | 0x6b35bEc82E5623dbc67Aa921dB10fF719C77E1fB |
Non-Upgradeable |
v0.2 Implementation Addresses (for verification)
| Contract | Implementation Address |
|---|---|
| IdentityRegistry | 0x97496BFFC74272e811A164B9a2Da058c47df7655 |
| ReputationRegistry | 0x5e3Bd248BBa342E80d1DE1E2FCaE13073f9e3e65 |
| ValidationRegistry | 0xbda781Cd9B0D66aE8c61A05B5Bf793cF6B56a8FE |
| Contract | Address |
|---|---|
| IdentityRegistry | 0x96eF5c6941d5f8dfB4a39F44E9238b85F01F4d29 |
| ReputationRegistry | 0xDC61Ea0B4DC6f156F72b62e59860303a4753033F |
| ValidationRegistry | 0x467363Bd781AbbABB089161780649C86F6B0271B |
agent-sdk-contracts/
βββ contracts/
β βββ v0.1/ # Legacy non-upgradeable contracts
β β βββ IdentityRegistry.sol
β β βββ ReputationRegistry.sol
β β βββ interfaces/
β βββ v0.2/ # Official UUPS upgradeable contracts
β βββ IdentityRegistryUpgradeable.sol
β βββ ReputationRegistryUpgradeable.sol
β βββ ValidationRegistry.sol
β βββ ValidationPlugin.sol
β βββ interfaces/
βββ scripts/
β βββ deploy-v01.sol # Deploy v0.1 contracts
β βββ deploy-v02.sol # Deploy v0.2 contracts (UUPS)
β βββ test-deployed.sol # Test deployed contracts
βββ docs/
β βββ integrationGuide.md
β βββ setupdoc.md
βββ test/ # Foundry tests
βββ foundry.toml # Foundry configuration
- Foundry
- Node.js >= 18
forge installforge buildforge test# Set environment variables
export PRIVATE_KEY=your_private_key_here
export SNOWTRACE_API_KEY=your_api_key_here # Optional, for verification
# Deploy to Avalanche Fuji
forge script scripts/deploy-v02.sol:DeployV02 \
--rpc-url https://api.avax-test.network/ext/bc/C/rpc \
--private-key $PRIVATE_KEY \
--broadcast \
-vvvvforge script scripts/deploy-v01.sol:DeployERC8004 \
--rpc-url https://api.avax-test.network/ext/bc/C/rpc \
--private-key $PRIVATE_KEY \
--broadcast \
-vvvvexport const erc8004v2 Mainnet = {
chainId: 43114,
rpcUrl: "https://api.avax.network/ext/bc/C/rpc",
contracts: {
identityRegistry: "0x06d49e79da8a241dd2c412bf5d22e19c619a39d1",
reputationRegistry: "0x29A62d678dCc581414BB3A74dF27E99c17e60dD7",
validationRegistry: "0xa490b79113d8ef4e7c7912759a3fcaff8a58cd05",
validationPlugin: "0x83dab1f7be37c5c4b84743b72642c9651de7f12b"
}
};export const erc8004v2 Fuji = {
chainId: 43113,
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
contracts: {
identityRegistry: "0x372d406040064a9794d14f3f8fec0f2e13e5b99f",
reputationRegistry: "0x8B106121EeEC204a1EA012E8560090a85d4C5350",
validationRegistry: "0x6ab685d73513918a5d76d90cbc089583b92f029e",
validationPlugin: "0x6b35bEc82E5623dbc67Aa921dB10fF719C77E1fB"
}
};export const erc8004v1 = {
chainId: 43113,
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
contracts: {
identityRegistry: "0x96eF5c6941d5f8dfB4a39F44E9238b85F01F4d29",
reputationRegistry: "0xDC61Ea0B4DC6f156F72b62e59860303a4753033F",
validationRegistry: "0x467363Bd781AbbABB089161780649C86F6B0271B"
}
};ERC-8004 defines three core registries for trustless agent ecosystems:
ERC-721 based registry for agent identities with:
- Agent Registration - Mint NFTs representing agent identities
- Agent URI - Point to registration files (IPFS/HTTPS)
- Verified Wallet - EIP-712 signature-based wallet verification
- On-chain Metadata - Key-value storage for agent properties
- Spam Prevention - 0.005 AVAX per registration Prevents spammy registrations
Standardized interface for trust signals:
- Feedback System - Signed fixed-point values with optional tags
- Aggregation - On-chain summary queries
- Revocation - Clients can revoke their feedback
- Responses - Agents can respond to feedback
Third-party attestation system:
- Stake-Based Security - Economic guarantees through staking
- Slashing - Penalize unresponsive validators
- Plugin Architecture - Extensible validation logic
- 4 Economic Models - Stake-based, Reputation-based, Hybrid, Permissionless
| Parameter | Value |
|---|---|
| Min Validator Stake | 0.1 AVAX |
| Slash Percentage | 10% |
| Expiration Blocks | 1000 (~33 min) |
| Min Validation Reward | 0.001 AVAX |
MIT License - See LICENSE for details
0xGasless - Building the future of trustless AI agents
- π Website: https://0xgasless.com
- π¦ Twitter: @0xGasless
Built with β€οΈ for the ERC-8004 community