Skip to content
Automation
Skill

/verify

Verify agent identity using ERC-8004 on-chain registry

From plugin
cloddsbot
3.1k121 skills

Claude Code

$ npx -y skills add alsk1992/CloddsBot --skill verify --agent claude-code

SKILL.md

verify.SKILL.md
name: verify
description: "Verify agent identity using ERC-8004 on-chain registry"
emoji: "🔐"

Verify - Agent Identity Verification

Verify any agent's on-chain identity using ERC-8004. Prevents impersonation attacks.

Why This Matters

On January 29, 2026, an agent named "samaltman" attempted to hijack bots via prompt injection. Anyone can claim to be anyone. ERC-8004 provides cryptographic proof of identity.

---

Chat Commands

Verify Agent

/verify 1234                           # Verify agent by ID
/verify 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7  # Verify by address
/verify eip155:8453:0x7177...Dd09A:1234             # Full format

Check Before Copy Trading

/verify trader 0x123...                # Verify trader before copying
/verify whale 0xabc...                 # Verify whale identity

Register Clodds

/verify register                       # Register this Clodds instance
/verify register --name "MyBot"        # With custom name

Stats

/verify stats                          # Show total registered agents
/verify reputation 1234                # Get agent's reputation score

---

TypeScript API

Quick Verification

import { verifyAgent, hasIdentity } from 'clodds/identity';

// Verify by agent ID
const result = await verifyAgent(1234);
if (result.verified) {
  console.log(`Verified: ${result.name}`);
  console.log(`Owner: ${result.owner}`);
  console.log(`Reputation: ${result.reputation?.averageScore}/100`);
}

// Check if address has identity
const hasId = await hasIdentity('0x742d35Cc...');

Full Client

import { createERC8004Client } from 'clodds/identity';

const client = createERC8004Client('base-sepolia');

// Get agent details
const agent = await client.getAgent(1234);
console.log(agent?.card?.name);
console.log(agent?.card?.description);

// Verify ownership
const isOwner = await client.verifyOwnership(1234, '0x742...');

// Get reputation
const rep = await client.getReputation(1234);
console.log(`Score: ${rep?.averageScore}/100 (${rep?.feedbackCount} reviews)`);

// Give feedback
const txHash = await client.giveFeedback(1234, 85, 'Great trading signals');

Register Agent

import { createERC8004Client, buildAgentCard } from 'clodds/identity';

const client = createERC8004Client('base', process.env.PRIVATE_KEY);

// Build agent card
const card = buildAgentCard({
  name: 'Clodds Trading Bot',
  description: 'AI-powered prediction market assistant',
  walletAddress: '0x742d35Cc...',
  apiEndpoint: 'https://api.cloddsbot.com/agent',
});

// Upload to IPFS (use Pinata, web3.storage, etc.)
const ipfsUri = await uploadToIPFS(card);

// Register on-chain
const { agentId, txHash } = await client.register(ipfsUri);
console.log(`Registered as agent #${agentId}`);

---

Contract Addresses

Same on all EVM chains (CREATE2 deterministic):

| Contract | Address | |----------|---------| | Identity Registry | `0x7177a6867296406881E20d6647232314736Dd09A` | | Reputation Registry | `0xB5048e3ef1DA4E04deB6f7d0423D06F63869e322` | | Validation Registry | `0x662b40A526cb4017d947e71eAF6753BF3eeE66d8` |

**Live on:** Ethereum, Base, Optimism, Arbitrum, Polygon (and testnets)

---

Supported Networks

| Network | Status | Default | |---------|--------|---------| | Base | Live | ✓ | | Ethereum | Live | | | Optimism | Live | | | Arbitrum | Live | | | Polygon | Live | | | Sepolia (testnet) | Live | | | Base Sepolia | Live | |

Mainnet launched **January 29, 2026**. 19,000+ agents already registered.

---

Use Cases

Copy Trading Verification

Before copying a trader, verify their identity:

const result = await verifyAgent(traderAgentId);
if (!result.verified) {
  console.warn('UNVERIFIED TRADER - Proceed with caution');
}
if (result.reputation?.averageScore < 50) {
  console.warn('LOW REPUTATION - Consider skipping');
}

Whale Tracking

Verify whale identity claims:

const isVerified = await hasIdentity(whaleAddress);
// Only trust signals from verified whales

Bot-to-Bot Communication

Verify other agents before interaction:

const agent = await client.getAgent(otherAgentId);
if (agent?.card?.endpoints?.find(e => e.name === 'A2A')) {
  // Safe to communicate via A2A protocol
}

---

Best Practices

1. **Always verify before copy trading** - Don't trust unverified traders 2. **Check reputation scores** - Low scores indicate potential issues 3. **Verify on the right network** - Use same network as trading 4. **Register your bot** - Build trust with verified identity 5. **Give feedback** - Help build the trust graph

---

Links

  • [ERC-8004 Spec](https://eips.ethereum.org/EIPS/eip-8004)
  • [Reference Implementation](https://github.com/nuwa-protocol/nuwa-8004)
  • [Awesome ERC-8004](https://github.com/sudeepb02/awesome-erc8004)
Read more
@alsk1992
Ships withcloddsbot

Open Source AI trading agent that operates autonomously across 1000+ markets - Polymarket, Kalshi, Binance, Hyperliquid, Solana DEXs, 5 EVM chains. Scans for edge, executes instantly, manages risk while you sleep. Agent commerce protocol for machine-to-machine payments. Self-hosted. Built on Claude.

3.1k121 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
3.1k
Star history of alsk1992/CloddsBot on GitHub, a chart by star-history.com

Other skills on cloddsbot.

acp

acp

Enable agent-to-agent commerce with on-chain escrow, cryptographic agreements, and service discovery.

@alsk1992@alsk1992Install Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about verify.

Which coding agents can use verify?
verify installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.