erc-800clawThe OpenClaw entry point for ERC-8004 agent identity and reputation. Register agents on-chain, query identities, give and receive feedback ratings.
Install via ClawdBot CLI:
clawdbot install primer-dev/erc-800clawYour 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:
npm install erc-800claw
pip install erc-800claw
| User Says/Asks | What 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 |
| Command | Description |
|---------|-------------|
| erc-800claw agent | Get agent details by ID |
| erc-800claw exists | Check if an agent exists |
| erc-800claw owner | Get agent count for an address |
| erc-800claw register | Register a new agent (requires PRIVATE_KEY) |
| erc-800claw networks | List supported networks |
| erc-800claw contracts [network] | Show contract addresses |
--network, -n - 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:
The flow:
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:
See the xClaw02 skill for payment setup.
| Network | Chain ID | Status |
|---------|----------|--------|
| Ethereum Mainnet | 1 | Live |
| Sepolia Testnet | 11155111 | Live |
0x8004A169FB4a3325136EB29fA0ceB6D2e539a4320x8004BAa17C55a88189AE136b182e5fdA19dE9b630x8004A818BFB912233c491871b3d84c89A494BD9e0x8004B663056A597Dffe9eCcC1965A193B7388713| Variable | Format | Description |
|----------|--------|-------------|
| PRIVATE_KEY | 0x + 64 hex chars | Wallet private key (required for registration/feedback) |
| ERC8004_NETWORK | mainnet, sepolia | Default network (default: mainnet) |
| ERC8004_RPC_URL | URL | Custom RPC endpoint |
| Error | Meaning | What to Do |
|-------|---------|------------|
| Agent not found | No agent with that ID | Verify the agent ID is correct |
| Agent already exists | Token already minted | Each agent ID is unique |
| Not the owner | Can't modify other's agents | Only owner can update agent metadata |
| Invalid address | Malformed Ethereum address | Check address format (0x + 40 hex chars) |
0x followed by 64 hexadecimal charactersGenerated Mar 1, 2026
A company deploys an autonomous agent to handle customer inquiries, using ERC-800Claw to register the agent on-chain for verifiable identity. Clients can give feedback ratings after interactions, building a reputation that helps users trust the agent's reliability and efficiency in resolving issues.
Freelancers register as agents to offer services like coding or design, with ERC-800Claw providing on-chain identities to prevent fraud. Clients can query agent reputations and give feedback, enabling a transparent marketplace where high-rated agents attract more work and build trust over time.
Logistics companies use autonomous agents to track shipments, with ERC-800Claw registering each agent to ensure tamper-proof identity on the blockchain. Other agents in the chain can give feedback on performance, creating an auditable reputation system that enhances transparency and reduces errors in supply operations.
A healthcare provider employs an agent to manage patient appointments, using ERC-800Claw to register it for secure identity verification. Patients can rate the agent's scheduling accuracy and responsiveness, building a reputation that helps improve service quality and patient trust in automated systems.
Financial institutions deploy agents to provide investment advice, with ERC-800Claw ensuring each agent has a registered on-chain identity for compliance and trust. Clients can check reputations and give feedback on advice quality, enabling a scalable system where high-performing agents gain credibility and attract more users.
Companies charge a monthly fee for access to registered agents that handle tasks like support or data analysis, using ERC-800Claw to verify identities and track reputations. Revenue comes from subscriptions, with higher tiers offering premium agents with better feedback scores, encouraging continuous improvement and user retention.
A platform connects clients with agent services, taking a small fee per transaction where agents are registered via ERC-800Claw for identity assurance. Revenue is generated from fees on each interaction, such as feedback ratings or service completions, incentivizing high-quality agents to participate and grow the ecosystem.
Selling licenses to businesses that integrate ERC-800Claw into their internal systems for agent identity management, with revenue from upfront licensing fees and ongoing support contracts. This model targets industries needing secure, scalable reputation tracking, leveraging the protocol's on-chain capabilities for auditability and trust.
š¬ Integration Tip
Start by installing the package via npm or pip, then use the CLI commands for quick testing before integrating the API into your codebase for production.
Connect Claude to Clawdbot instantly and keep it connected 24/7. Run after setup to link your subscription, then auto-refreshes tokens forever.
ERC-8004 Trustless Agents - Register, discover, and build reputation for AI agents on Ethereum. Use when registering agents on-chain, querying agent registries, giving/receiving reputation feedback, or interacting with the AI agent trust layer.
Autonomous crypto trading on Base via Bankr. Use for trading tokens, monitoring launches, executing strategies, or managing a trading portfolio. Triggers on "trade", "buy", "sell", "launch", "snipe", "profit", "PnL", "portfolio balance", or any crypto trading task on Base.
Deploy ERC20 tokens on Base using Clanker SDK. Create tokens with built-in Uniswap V4 liquidity pools. Supports Base mainnet and Sepolia testnet. Requires PRIVATE_KEY in config.
Query DeFi portfolio data across 50+ chains via Zapper's GraphQL API. Use when the user wants to check wallet balances, DeFi positions, NFT holdings, token prices, or transaction history. Supports Base, Ethereum, Polygon, Arbitrum, Optimism, and more. Requires ZAPPER_API_KEY.
Interact with Solana blockchain via Helius APIs. Create/manage wallets, check balances (SOL + tokens), send transactions, swap tokens via Jupiter, and monitor addresses. Use for any Solana blockchain operation, crypto wallet management, token transfers, DeFi swaps, or portfolio tracking.