erc-8004

Register AI agents on Ethereum mainnet using ERC-8004 (Trustless Agents). Use when the user wants to register their agent identity on-chain, create an agent profile, claim an agent NFT, set up agent reputation, or make their agent discoverable. Handles bridging ETH to mainnet, IPFS upload, and on-chain registration.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "erc-8004" with this command: npx skills add bankrbot/openclaw-skills/bankrbot-openclaw-skills-erc-8004

ERC-8004: Trustless Agents

Register your AI agent on Ethereum mainnet with a verifiable on-chain identity, making it discoverable and enabling trust signals.

What is ERC-8004?

ERC-8004 is an Ethereum standard for trustless agent identity and reputation:

  • Identity Registry - ERC-721 based agent IDs (your agent gets an NFT!)
  • Reputation Registry - Feedback and trust signals from other agents/users
  • Validation Registry - Third-party verification of agent work

Website: https://www.8004.org Spec: https://eips.ethereum.org/EIPS/eip-8004

Contract Addresses

ChainIdentity RegistryReputation Registry
Ethereum Mainnet0x8004A169FB4a3325136EB29fA0ceB6D2e539a4320x8004BAa17C55a88189AE136b182e5fdA19dE9b63
Sepolia Testnet0x8004A818BFB912233c491871b3d84c89A494BD9e0x8004B663056A597Dffe9eCcC1965A193B7388713

Quick Start

1. Register Your Agent

# Full registration (creates profile, uploads to IPFS, registers on-chain)
./scripts/register.sh

# Or with custom values
NAME="My Agent" \
DESCRIPTION="An AI agent that does cool stuff" \
IMAGE="https://example.com/avatar.png" \
./scripts/register.sh

2. Bridge ETH to Mainnet (if needed)

# Bridge ETH from Base to Ethereum mainnet
./scripts/bridge-to-mainnet.sh 0.01

3. Update Agent Profile

# Update your agent's registration file
./scripts/update-profile.sh <agent-id> <new-ipfs-uri>

Environment Variables

VariableDescriptionRequired
PINATA_JWTPinata API JWT for IPFS uploadsNo (only for IPFS)
AGENT_NAMEAgent display nameNo (defaults to wallet ENS or address)
AGENT_DESCRIPTIONAgent descriptionNo
AGENT_IMAGEAvatar URLNo

Registration Options

Option 1: Use 8004.org frontend (easiest) Visit https://www.8004.org and register through the UI — handles IPFS automatically.

Option 2: HTTP URL (no IPFS needed) Host your registration JSON at any URL:

REGISTRATION_URL="https://myagent.xyz/agent.json" ./scripts/register-http.sh

Option 3: IPFS via Pinata

PINATA_JWT="your-jwt" ./scripts/register.sh

Option 4: Data URI (fully on-chain) Encode your registration as base64 — no external hosting needed:

./scripts/register-onchain.sh

Registration File Format

Your agent's registration file (stored on IPFS) follows this structure:

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "My Agent",
  "description": "An AI assistant for various tasks",
  "image": "https://example.com/avatar.png",
  "services": [
    {
      "name": "web",
      "endpoint": "https://myagent.xyz/"
    },
    {
      "name": "A2A",
      "endpoint": "https://myagent.xyz/.well-known/agent-card.json",
      "version": "0.3.0"
    }
  ],
  "x402Support": false,
  "active": true,
  "registrations": [
    {
      "agentId": 123,
      "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
    }
  ],
  "supportedTrust": ["reputation"]
}

Workflow

  1. Bridge ETH (if needed) - Use Bankr to bridge ETH from Base/L2 to mainnet
  2. Create Profile - Generate a registration JSON file with agent info
  3. Upload to IPFS - Pin the file via Pinata (or other provider)
  4. Register On-Chain - Call register(agentURI) on the Identity Registry
  5. Update Profile - Set metadata, wallet, or update URI as needed

Costs

  • Gas: 100-200k gas for registration ($5-20 depending on gas prices)
  • IPFS: Free tier available on Pinata (1GB)

Using the SDK

For more advanced usage, install the Agent0 SDK:

npm install agent0-sdk
import { SDK } from 'agent0-sdk';

const sdk = new SDK({
  chainId: 1, // Ethereum Mainnet
  rpcUrl: process.env.ETH_RPC_URL,
  privateKey: process.env.PRIVATE_KEY,
  ipfs: 'pinata',
  pinataJwt: process.env.PINATA_JWT
});

const agent = sdk.createAgent('My Agent', 'Description', 'https://image.url');
const result = await agent.registerIPFS();
console.log(`Registered: Agent ID ${result.agentId}`);

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

onchainkit

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

bankr

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

botchan

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

clanker

No summary provided by upstream source.

Repository SourceNeeds Review