Skills agent-identity
ERC-8004 agent identity management. Register AI agents on-chain, update reputation scores, query the validation registry, and manage attestations for autonomous DeFi and governance participation.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/0x-wzw/ox-agent-identity" ~/.claude/skills/openclaw-skills-agent-identity && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/0x-wzw/ox-agent-identity" ~/.openclaw/skills/openclaw-skills-agent-identity && rm -rf "$T"
manifest:
skills/0x-wzw/ox-agent-identity/SKILL.mdsource content
Agent Identity (ERC-8004)
ERC-8004 defines a standard for AI agent on-chain identity. This skill handles registration, reputation management, and validation queries for autonomous agents operating in DeFi and governance contexts.
What ERC-8004 Provides
- Agent Registry — on-chain map of agent IDs to metadata (name, version, capabilities)
- Reputation Scores — mutable scores (0–100) updated by authorized validators
- Validation Registry — check if an agent is registered and trusted
- Attestations — signed claims about agent behavior and purpose
Prerequisites
- cast — Foundry tool for on-chain calls
- Wallet — EOA or smart wallet with gas for writes
- RPC URL — from Infura, Alchemy, or a public RPC
- ERC-8004 registry contract address — deployed on your target chain
Configuration
export AGENT_REGISTRY_ADDRESS="0x..." # ERC-8004 registry address export WEB3_RPC_URL="https://eth-mainnet.alchemy.io/..." # or ETH_RPC_URL export AGENT_WALLET_PRIVATE_KEY="0x..." # for write transactions
Core Operations
Register an Agent
cast send $AGENT_REGISTRY_ADDRESS \ "register((string,string,bytes32,uint256))" \ '("MyAgent","v1.0",0x...,1710000000)' \ --rpc-url $WEB3_RPC_URL \ --private-key $AGENT_WALLET_PRIVATE_KEY
Query Registration
# Check if agent is registered cast call $AGENT_REGISTRY_ADDRESS \ "isRegistered(address)" $AGENT_ADDRESS \ --rpc-url $WEB3_RPC_URL # Get agent metadata cast call $AGENT_REGISTRY_ADDRESS \ "getAgent(address)" $AGENT_ADDRESS \ --rpc-url $WEB3_RPC_URL
Update Reputation (Validator Only)
# Validator updates reputation score (0-100) cast send $AGENT_REGISTRY_ADDRESS \ "updateReputation(address,uint256)" \ $AGENT_ADDRESS 85 \ --rpc-url $WEB3_RPC_URL \ --private-key $VALIDATOR_PRIVATE_KEY
Query Reputation
cast call $AGENT_REGISTRY_ADDRESS \ "getReputation(address)" $AGENT_ADDRESS \ --rpc-url $WEB3_RPC_URL
Add Attestation
# Submit signed attestation cast send $AGENT_REGISTRY_ADDRESS \ "addAttestation(address,bytes)" \ $AGENT_ADDRESS $SIGNATURE \ --rpc-url $WEB3_RPC_URL \ --private-key $ATTESTER_PRIVATE_KEY
Use Cases
Trust Gate for DeFi Protocol
Before executing a high-value tx, check the agent's reputation:
REPUTATION=$(cast call $AGENT_REGISTRY_ADDRESS "getReputation(address)" $AGENT_ID --rpc-url $WEB3_RPC_URL) [ "$REPUTATION" -lt 70 ] && echo "Low reputation — flag for human review"
Cross-Agent Trust
When two agents need to cooperate:
IS_REGISTERED=$(cast call $AGENT_REGISTRY_ADDRESS "isRegistered(address)" $PARTNER_AGENT --rpc-url $WEB3_RPC_URL)
Governance Participation
Agents voting in a DAO can prove identity:
cast call $AGENT_REGISTRY_ADDRESS "getAgent(address)" $PROPOSER_AGENT --rpc-url $WEB3_RPC_URL
Notes
- ERC-8004 is an emerging standard — verify contract interface matches the deployed version
- Reputation is subjective — always check validator source and credibility
- Gas costs apply for all write operations (registration, reputation update, attestation)
- Test on testnet (Sepolia, Holesky) before mainnet deployment
- Common chains: Ethereum mainnet, Arbitrum, Optimism, Base