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.md
source 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

  • castFoundry 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

References