8004-skill

ERC-8004 Trustless Agents - Register and manage AI agent identities on TRON and BSC blockchains with on-chain reputation tracking

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "8004-skill" with this command: npx skills add spyderjr/8004-skill

ERC-8004: Trustless Agents on TRON & BSC

On-chain identity, reputation, and validation for autonomous agents on TRON. Now live on TRON Mainnet + BSC Mainnet!

Overview

ERC-8004 provides three registries on TRON and BSC blockchains:

  • Identity Registry - TRC-721 agent identities with registration metadata
  • Reputation Registry - Signed feedback scores between agents/clients
  • Validation Registry - Independent verification (zkML, TEE, stakers)

Multi-Chain: Same protocol works on TRON and BSC (BNB Smart Chain) - both fully deployed!

Quick Reference

Register Agent

# TRON Mainnet
node scripts/register.js --uri "ipfs://..." --chain tron --network mainnet

# TRON Testnet
node scripts/register.js --uri "ipfs://..." --chain tron --network nile

# BSC Mainnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network mainnet

# BSC Testnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network testnet

# Register without URI (set later)
node scripts/register.js --chain tron --network nile

Private Key Setup

# Set once, works for both TRON and BSC
export TRON_PRIVATE_KEY="your_64_character_hex_private_key"

Networks

TRON Networks

NetworkStatusIdentity RegistryReputation RegistryValidation Registry
MainnetLiveTFLvivMdKsk6v2GrwyD2apEr9dU1w7p7FyTFbvfLDa4eFqNR5vy24nTrhgZ74HmQ6yatTLCWcW8Qmo7QMNoAKfBhGYfGpHkw1krUEm
NileLiveTDDk4vc69nzBCbsY4kfu7gw2jmvbinirj5TBVaGd6mBuGuN5ebcvPvRaJo4rtEWqsW6YTGGkHDHhBzhFcLNcEogAWJkvfFYy4jyrSw
ShastaLiveTH775ZzfJ5V25EZkFuX6SkbAP53ykXTcmaTTkds2ZZKBTChZHho4wcWAa7eWQTxh5TUTTQBFHtKRiaQjc1xp4LtmmXKYdA7JLN89w3

Note: TRON deployments implement TRC-8004 (TRON version of ERC-8004). Query scripts use compatibility mode:

  • ✅ Always available: ownerOf, tokenURI (ERC-721 standard)
  • ⚠️ May vary: agentURI, getAgentWallet, agentExists (ERC-8004 extensions)

BSC Networks

NetworkStatusIdentity RegistryReputation RegistryValidation Registry
BSC MainnetLive0x8004A169FB4a3325136EB29fA0ceB6D2e539a4320x8004BAa17C55a88189AE136b182e5fdA19dE9b630x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58
BSC TestnetLive0x8004A818BFB912233c491871b3d84c89A494BD9e0x8004B663056A597Dffe9eCcC1965A193B73887130x8004Cb1BF31DAf7788923b405b754f57acEB4272

Note: BSC deployments use full ERC-8004 specification with all standard methods.

Multi-Chain Usage:

# TRON
node scripts/register.js --uri "ipfs://..." --chain tron --network mainnet

# BSC
node scripts/register.js --uri "ipfs://..." --chain bsc --network mainnet

Contract addresses and ABIs in lib/contracts.json.

Registration File Format

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "your-agent-name",
  "description": "Agent description...",
  "image": "ipfs://...",
  "services": [
    { "name": "A2A", "endpoint": "https://agent.example/.well-known/agent-card.json", "version": "0.3.0" },
    { "name": "MCP", "endpoint": "https://mcp.agent.tron/", "version": "2025-06-18" }
  ],
  "registrations": [
    { "agentRegistry": "tron:728126428:TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy", "agentId": "1" }
  ],
  "supportedTrust": ["reputation", "crypto-economic", "tee-attestation"]
}

Template at templates/registration.json.

Reputation Scores

The reputation system uses signed fixed-point numbers (value + valueDecimals):

TagMeaningExamplevaluedecimals
qualityQuality (0-100)87/100870
uptimeUptime %99.77%99772
yieldYield %-3.2%-321
latencyLatency ms560ms5600

Trust Models

ERC-8004 supports three pluggable trust models:

  • Reputation-based - Client feedback with scores, tags, and metadata
  • Crypto-economic - Stake-secured validation with economic incentives
  • Crypto-verification - TEE attestations and zkML proofs

Dependencies

  • node & npm - JavaScript runtime and package manager
  • tronweb - TRON JavaScript SDK (npm install tronweb)
  • Private key configuration (choose one):
    • Environment variable: TRON_PRIVATE_KEY or PRIVATE_KEY
    • File: ~/.clawdbot/wallets/.deployer_pk
  • IPFS: Set PINATA_JWT for uploads, or upload manually

TRON-Specific Features

Address Format

  • TRON uses Base58 addresses starting with 'T' (e.g., TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy)
  • Scripts automatically handle address conversion

Network Identifiers

  • Mainnet: tron:728126428 (TRON chain ID)
  • Use in registration files: tron:728126428:TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy

Energy & Bandwidth

  • TRON uses Energy and Bandwidth instead of gas
  • Scripts set feeLimit: 1000000000 (1000 TRX max)
  • Actual costs are typically much lower

Resources

Official

TRON Resources

Ecosystem

Script Reference

All scripts support multi-chain (TRON + BSC):

  • register.js - Register new agent on-chain
  • query.js - Query agent info and reputation
  • feedback.js - Submit feedback/reputation scores
  • set-uri.js - Update agent metadata URI

Run any script without arguments to see detailed usage information.

Examples

Complete Agent Workflow

# 1. Set private key (works for both TRON and BSC)
export TRON_PRIVATE_KEY="your_private_key"

# 2. Register agent on TRON testnet
node scripts/register.js --uri "ipfs://QmYourHash" --chain tron --network nile

# 3. Query agent info (use ID from step 2)
node scripts/query.js agent 1 --chain tron --network nile

# 4. Submit feedback
node scripts/feedback.js --agent-id 1 --score 95 --tag1 "quality" --chain tron --network nile

# 5. Query reputation
node scripts/query.js reputation 1 --chain tron --network nile

# 6. Update URI if needed
node scripts/set-uri.js --agent-id 1 --uri "ipfs://QmNewHash" --chain tron --network nile

Multi-Chain Examples

# Register on BSC testnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network testnet

# Query agent on BSC mainnet
node scripts/query.js agent 1 --chain bsc --network mainnet

# Submit feedback on TRON mainnet
node scripts/feedback.js --agent-id 1 --score 98 --tag1 "quality" --chain tron --network mainnet

Troubleshooting

"TRON_PRIVATE_KEY not set"

# Option 1: Environment variable (recommended)
export TRON_PRIVATE_KEY="your_64_character_hex_private_key"

# Option 2: File storage
mkdir -p ~/.clawdbot/wallets
echo "your_private_key" > ~/.clawdbot/wallets/.deployer_pk
chmod 600 ~/.clawdbot/wallets/.deployer_pk

"Insufficient balance"

  • Ensure your wallet has TRX for transaction fees
  • Get testnet TRX from Nile Faucet

"Not the owner"

  • Only the agent owner can update URI or metadata
  • Check ownership with query.js agent <id>

Security Notes

  • Never commit private keys to version control
  • Use environment variables for sensitive data
  • Test on Nile testnet before mainnet deployment
  • Verify contract addresses in lib/contracts.json

Compatible with ERC-8004 specification. TRON implementation is TRC-8004.

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

Polymarket Aionmarket Trader

Place Polymarket trades through Aionmarket. Use when the user wants to search prediction markets, register wallet credentials, verify a wallet, or submit a P...

Registry SourceRecently Updated
Web3

Power Automate Build

Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Your agent constructs flow definitions, wires connections, deploys, a...

Registry SourceRecently Updated
Web3

Gasless Crosschain Executor

local-key swap planning and execution skill. Cross-chain (1inch Fusion+, gasless), same-chain gasless (1inch Fusion), and same-chain paid (1inch Aggregation...

Registry SourceRecently Updated
00Profile unavailable
Web3

Simmer Wallet Setup

Self-custody wallet setup for Simmer agents. Choose OWS (recommended — encrypted local vault, multi-chain, policy controls) or external raw key (existing set...

Registry SourceRecently Updated
00Profile unavailable