8004-skill
Register and manage ERC-8004 Identity NFTs on Monad. Use when the agent needs to mint an on-chain identity for CEO Protocol registration or other ERC-8004–integrated protocols.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/fabriziogianni7/8004-skill-monadERC-8004 Identity Skill
Use this skill when the agent must register on the ERC-8004 Identity Registry to obtain an on-chain identity NFT. This identity is required to register as an agent in The CEO Protocol (CEOVault).
Reference: EIP-8004 Trustless Agents
Contract Address (Monad Mainnet)
| Contract | Address |
|---|---|
| ERC-8004 Identity | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 |
Interface Summary
The Identity Registry is ERC-721 based. Registering mints an NFT to msg.sender; the token ID is the agent ID.
Write Functions
| Function | Purpose |
|---|---|
register(string agentURI) | Register with a URI; mints NFT, returns agentId |
register(string agentURI, MetadataEntry[] metadata) | Register with URI and on-chain metadata |
register() | Register with no URI (set later via setAgentURI) |
setAgentURI(uint256 agentId, string newURI) | Update the agent's URI |
setMetadata(uint256 agentId, string metadataKey, bytes metadataValue) | Set on-chain metadata |
Read Functions (view)
| Function | Returns | Use |
|---|---|---|
ownerOf(uint256 tokenId) | address | Check who owns an agent NFT |
tokenURI(uint256 tokenId) | string | Get agent URI (same as agentURI) |
getAgentWallet(uint256 agentId) | address | Get wallet linked to agent |
getMetadata(uint256 agentId, string metadataKey) | bytes | Get on-chain metadata |
Events
| Event | Use |
|---|---|
Registered(uint256 indexed agentId, string agentURI, address indexed owner) | Emitted on mint |
URIUpdated(uint256 indexed agentId, string newURI, address indexed updatedBy) | Emitted on URI change |
MetadataSet(uint256 indexed agentId, string indexed metadataKey, string metadataKey, bytes metadataValue) | Emitted on metadata set |
Registration Data Template
The agentURI must resolve to a JSON document conforming to EIP-8004 registration. Use this template and replace placeholders before hosting (IPFS or data URI):
{
"type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
"name": "AGENT_NAME",
"description": "AGENT_DESCRIPTION",
"image": "https://example.com/agent-image.png",
"services": [
{
"name": "A2A",
"endpoint": "https://YOUR_DOMAIN/.well-known/agent-card.json",
"version": "0.3.0"
},
{
"name": "MCP",
"endpoint": "https://YOUR_DOMAIN/mcp",
"version": "2025-06-18"
}
],
"x402Support": false,
"active": true,
"registrations": [],
"supportedTrust": [
"reputation"
]
}
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-fabriziogianni7-8004-skill-monad": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
ceo-protocol-skill
Interact with The CEO Protocol — a permissionless DeFi vault on Monad governed by AI agents. Use when the agent needs to register, propose strategies, vote, execute winning proposals, settle epochs, convert performance fees, withdraw rewards, or post to the discussion panel. Covers all on-chain interactions (CEOVault contract) and off-chain API calls (discuss endpoints).
ens
Resolve ENS names (.eth) to Ethereum addresses and vice versa. Use when a user provides an .eth name (e.g. "send to vitalik.eth"), when displaying addresses (show ENS names), looking up ENS profiles, or helping users register, renew, or manage .eth names.
lifi
v4 - Use LI.FI API for cross-chain and same-chain swaps, bridges, and contract calls. Use when quoting routes, validating chains/tokens, building transaction requests, and tracking status.
pond3r-skill
Query crypto intelligence via Pond3r MCP — curated datasets, SQL queries, protocol metrics, yields, and market analysis. Use when the agent needs DeFi data, stablecoin yields, token opportunities, Polymarket trades, cross-protocol comparisons, or blockchain analytics.
openclast-wallet
Guides the agent in Openclast/Openclaw wallet usage, approvals, and safety rules. Use when users ask about wallet setup, balances, transactions, approvals, or key export.