BankrBot

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.

BankrBot 1,188 594 Updated 7mo ago

Resources

2
GitHub

Install

npx skillscat add bankrbot/openclaw-skills/erc-8004

Install via the SkillsCat registry.

About this skill

This skill registers AI agents on Ethereum mainnet using the ERC-8004 standard, creating on-chain identities through NFTs and setting up reputation profiles. It handles ETH bridging, IPFS uploads, and contract interactions to make agents discoverable. Developers should use it when they need to establish verifiable agent identities on Ethereum.

SKILL.md

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

Chain Identity Registry Reputation Registry
Ethereum Mainnet 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
Sepolia Testnet 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713

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

Variable Description Required
PINATA_JWT Pinata API JWT for IPFS uploads No (only for IPFS)
AGENT_NAME Agent display name No (defaults to wallet ENS or address)
AGENT_DESCRIPTION Agent description No
AGENT_IMAGE Avatar URL No

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