Install
openclaw skills install ox-agent-identityERC-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.
openclaw skills install ox-agent-identityERC-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.
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
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
# 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
# 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
cast call $AGENT_REGISTRY_ADDRESS \
"getReputation(address)" $AGENT_ADDRESS \
--rpc-url $WEB3_RPC_URL
# Submit signed attestation
cast send $AGENT_REGISTRY_ADDRESS \
"addAttestation(address,bytes)" \
$AGENT_ADDRESS $SIGNATURE \
--rpc-url $WEB3_RPC_URL \
--private-key $ATTESTER_PRIVATE_KEY
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"
When two agents need to cooperate:
IS_REGISTERED=$(cast call $AGENT_REGISTRY_ADDRESS "isRegistered(address)" $PARTNER_AGENT --rpc-url $WEB3_RPC_URL)
Agents voting in a DAO can prove identity:
cast call $AGENT_REGISTRY_ADDRESS "getAgent(address)" $PROPOSER_AGENT --rpc-url $WEB3_RPC_URL