/verify
Verify agent identity using ERC-8004 on-chain registry
Claude Code
$ npx -y skills add alsk1992/CloddsBot --skill verify --agent claude-code
Codex
$ npx skills add alsk1992/CloddsBot --skill verify -a codex -y
Cursor
$ npx skills add alsk1992/CloddsBot --skill verify -a cursor -y
Gemini CLI
$ npx skills add alsk1992/CloddsBot --skill verify -a gemini-cli -y
GitHub Copilot
$ npx skills add alsk1992/CloddsBot --skill verify -a github-copilot -y
OpenCode
$ npx skills add alsk1992/CloddsBot --skill verify -a opencode -y
Windsurf
$ npx skills add alsk1992/CloddsBot --skill verify -a windsurf -y
SKILL.md
verify.SKILL.mdname: 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
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)
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.
Other skills on cloddsbot.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
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.

