Search

PythonReactSEOPDF
OpenClaw

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.

fabriziogianni70 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install fabriziogianni7/8004-skill-monad

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

ERC-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 registrat...

Source information

Source
github
Repository
openclaw/skills
Path
skills/fabriziogianni7/8004-skill-monad
Version
—
Commit
a929001d0cca7ac2da66838b0ed912b331f1114b
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# ERC-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](https://eips.ethereum.org/EIPS/eip-8004)

## 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 registrat...

Related skills

OpenClaw

13-Day Sprint Method

galizki

Productivity system based on Maya calendar with 13 natural tones for project management and personal development

OpenClaw

1password

daggerkun007

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.