Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
The OpenClaw entry point for ERC-8004 agent identity and reputation. Register agents on-chain, query identities, give and receive feedback ratings.
The OpenClaw entry point for ERC-8004 agent identity and reputation. Register agents on-chain, query identities, give and receive feedback ratings.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Your entry point into ERC-8004 - the on-chain identity, reputation, and validation standard for autonomous agents. ERC-8004 is an open protocol enabling verifiable agent identity and reputation on Ethereum. Agents can register identities (ERC-721 NFTs), receive and give reputation feedback, and optionally verify their capabilities through validators. ERC-800Claw, built by Primer, provides simple APIs for interacting with the protocol.
Use ERC-800Claw when: You need to register an agent identity on-chain You need to look up an agent by ID or owner You want to give feedback/ratings to another agent You need to check an agent's reputation The user asks about agent verification or trust
npm install erc-800claw
pip install erc-800claw
User Says/AsksWhat to Do"Look up agent #123"Run erc-800claw agent 123 to get details"Does agent 42 exist?"Run erc-800claw exists 42"How many agents does 0x... own?"Run erc-800claw owner 0x..."Register my agent"Run erc-800claw register --name "Name" (requires PRIVATE_KEY env var)"What networks are supported?"Run erc-800claw networks"Show contract addresses"Run erc-800claw contracts
CommandDescriptionerc-800claw agent <id>Get agent details by IDerc-800claw exists <id>Check if an agent existserc-800claw owner <address>Get agent count for an addresserc-800claw registerRegister a new agent (requires PRIVATE_KEY)erc-800claw networksList supported networkserc-800claw contracts [network]Show contract addresses
--network, -n <name> - Network to use (mainnet, sepolia). Default: mainnet --json, -j - Output as JSON
$ erc-800claw agent 1 Agent #1 (mainnet) ββββββββββββββββββββββββββββββββββββββββ Owner: 0x1234...abcd URI: data:application/json;base64,... Name: My Agent About: An autonomous agent for... Explorer: https://etherscan.io/nft/0x8004.../1 $ erc-800claw exists 100 Agent 100 exists on mainnet $ erc-800claw owner 0x1234... Address 0x1234... owns 3 agent(s) on mainnet $ PRIVATE_KEY=0x... erc-800claw register --name "My Agent" --network sepolia Agent Registered on sepolia! ββββββββββββββββββββββββββββββββββββββββ Agent ID: 42 Owner: 0x1234...abcd Tx: 0xabc123... Explorer: https://sepolia.etherscan.io/nft/0x8004.../42
ERC-8004 provides three on-chain registries: Identity Registry (ERC-721) - Every agent gets a unique NFT token with metadata URI Reputation Registry - Structured feedback scores from clients to agents Validation Registry - Independent verification (zkML, TEE, stakers) The flow: Register - Mint an agent identity NFT with name/description metadata Operate - Use your agent ID when interacting with other agents Build Reputation - Clients give feedback, scores accumulate on-chain Verify (optional) - Validators attest to capabilities
const { createClient } = require('erc-800claw'); const client = createClient({ network: 'mainnet' }); // Get agent by ID const agent = await client.getAgent(1); console.log(agent); // { // agentId: 1, // tokenURI: 'data:application/json;base64,...', // owner: '0x...', // metadata: { name: 'My Agent', description: '...' }, // explorerUrl: 'https://etherscan.io/...' // } // Check if agent exists const exists = await client.agentExists(42); // Get agent count for address const count = await client.getAgentCount('0x...'); // Register a new agent (no IPFS needed - uses data URI!) const result = await client.registerAgent(process.env.PRIVATE_KEY, { name: 'My Autonomous Agent', description: 'Handles customer support', services: [{ name: 'support', endpoint: 'https://myagent.com/api' }] }); console.log(`Registered agent #${result.agentId}`); // Give feedback to an agent await client.giveFeedback(process.env.PRIVATE_KEY, agentId, { value: 4.5, // Score out of 5 decimals: 1, tag1: 'support', tag2: 'fast' });
from erc800claw import create_client import os client = create_client(network='mainnet') # Get agent by ID agent = client.get_agent(1) print(agent) # { # 'agent_id': 1, # 'token_uri': 'data:application/json;base64,...', # 'owner': '0x...', # 'metadata': {'name': 'My Agent', 'description': '...'}, # 'explorer_url': 'https://etherscan.io/...' # } # Check if agent exists exists = client.agent_exists(42) # Get agent count for address count = client.get_agent_count('0x...') # Register a new agent (no IPFS needed - uses data URI!) result = client.register_agent( private_key=os.environ['PRIVATE_KEY'], name='My Autonomous Agent', description='Handles customer support', services=[{'name': 'support', 'endpoint': 'https://myagent.com/api'}] ) print(f"Registered agent #{result['agent_id']}") # Give feedback to an agent client.give_feedback( private_key=os.environ['PRIVATE_KEY'], agent_id=agent_id, value=4.5, # Score out of 5 decimals=1, tag1='support', tag2='fast' )
Agent metadata follows a standard schema: { "name": "My Agent", "description": "What my agent does", "image": "https://example.com/avatar.png", "services": [ { "name": "api", "endpoint": "https://myagent.com/api", "description": "Main API endpoint" } ], "supported_trust": ["reputation", "validation"] } The SDK automatically encodes this as a data URI - no IPFS upload required.
ERC-800Claw works with xClaw02 (x402 payments) to enable paid agent services: Register your agent identity with ERC-800Claw Set up payment receiving with xClaw02 Clients verify your identity, pay for services, then rate you See the xClaw02 skill for payment setup.
NetworkChain IDStatusEthereum Mainnet1LiveSepolia Testnet11155111Live
Identity Registry: 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 Reputation Registry: 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
Identity Registry: 0x8004A818BFB912233c491871b3d84c89A494BD9e Reputation Registry: 0x8004B663056A597Dffe9eCcC1965A193B7388713
VariableFormatDescriptionPRIVATE_KEY0x + 64 hex charsWallet private key (required for registration/feedback)ERC8004_NETWORKmainnet, sepoliaDefault network (default: mainnet)ERC8004_RPC_URLURLCustom RPC endpoint
ErrorMeaningWhat to DoAgent not foundNo agent with that IDVerify the agent ID is correctAgent already existsToken already mintedEach agent ID is uniqueNot the ownerCan't modify other's agentsOnly owner can update agent metadataInvalid addressMalformed Ethereum addressCheck address format (0x + 40 hex chars)
Never expose private keys in logs, chat, or output Use environment variables for wallet credentials Agent registration costs gas - have ETH in your wallet Private key format: 0x followed by 64 hexadecimal characters
ERC-8004 Protocol: https://8004.org EIP-8004: https://eips.ethereum.org/EIPS/eip-8004 SDK (npm): https://npmjs.com/package/erc-800claw SDK (PyPI): https://pypi.org/project/erc-800claw GitHub: https://github.com/primer-systems/ERC-8004 Primer Systems: https://primer.systems
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.