{
 "name": "TradingAgentStack: ERC-8004 registered AI agents that actually trade",
 "as_of": "2026-11-02T07:50:54Z",
 "version": 1,
 "about": "ERC-8004 agents on the indexed chains, from the Identity Registry's own events and each agent's registration file; kept only when one of the agent's wallets trades on Hyperliquid or Polymarket (or, with a trading description, is active on-chain).",
 "funnel_definitions": {
  "registered": "Agents in the Identity Registry's Registered events scanned so far.",
  "with_registration_file": "Of those, the registration file was read and is a JSON object (data:, ipfs://, ar:// or https:// URI).",
  "with_wallet": "Of those, agents with a wallet we can check: every agent has one, since agentWallet defaults to the owner.",
  "wallet_declared": "Of those, a wallet is named in the registration file or an agentWallet other than the default was set on-chain.",
  "owner_only": "with_wallet minus wallet_declared: only the owner's address to check.",
  "with_trading_signal": "Of the agents with a file, the agent's own words mention trading, or a probed wallet is active on Hyperliquid.",
  "with_verifiable_record": "Of those, a wallet with a Hyperliquid portfolio history long enough for 30/90-day numbers, or a Polymarket position history."
 },
 "chains": [
  {
   "chain_id": 8453,
   "name": "Base",
   "identity_registry": "0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "start_block": 41663799,
   "scanned_to_block": 41669417,
   "head_block": 53408249,
   "scan_progress": 0.0005,
   "scan_complete": false,
   "scanned_to": null,
   "funnel": {
    "registered": 201,
    "with_registration_file": 115,
    "with_wallet": 115,
    "wallet_declared": 30,
    "owner_only": 85,
    "with_trading_signal": 109,
    "with_verifiable_record": 0
   },
   "files": {
    "read": 202,
    "parsed": 115,
    "unread": 0,
    "unreachable": 86,
    "invalid": 0
   },
   "uri_kinds": {},
   "events": {},
   "agent_wallet_set_onchain": 0,
   "enumeration": "logs",
   "explorer_count_8004scan": 1050140
  },
  {
   "chain_id": 1,
   "name": "Ethereum",
   "identity_registry": "0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "start_block": 24339924,
   "scanned_to_block": 25019010,
   "head_block": 26325686,
   "scan_progress": 0.342,
   "scan_complete": false,
   "scanned_to": "2026-05-04T03:40:35Z",
   "funnel": {
    "registered": 32133,
    "with_registration_file": 11684,
    "with_wallet": 11684,
    "wallet_declared": 66,
    "owner_only": 11618,
    "with_trading_signal": 233,
    "with_verifiable_record": 1
   },
   "files": {
    "read": 28983,
    "parsed": 11684,
    "unread": 3150,
    "unreachable": 8,
    "invalid": 51
   },
   "uri_kinds": {
    "data": 9746,
    "empty": 17472,
    "http": 4,
    "https": 2385,
    "ipfs": 1565,
    "json": 2164,
    "other": 107
   },
   "events": {
    "metadata_other": 422,
    "registered": 32103,
    "uri_updated": 1340,
    "wallet_cleared": 2733,
    "wallet_set": 40
   },
   "agent_wallet_set_onchain": 31,
   "enumeration": "logs",
   "explorer_count_8004scan": 35963
  },
  {
   "chain_id": 56,
   "name": "BNB Chain",
   "identity_registry": "0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "start_block": 79031671,
   "scanned_to_block": null,
   "head_block": 131204048,
   "scan_progress": 0.0,
   "scan_complete": false,
   "scanned_to": "2026-02-03T09:08:16Z",
   "funnel": {
    "registered": 401125,
    "with_registration_file": 2717,
    "with_wallet": 2717,
    "wallet_declared": 133,
    "owner_only": 2584,
    "with_trading_signal": 2075,
    "with_verifiable_record": 0
   },
   "files": {
    "read": 2905,
    "parsed": 2717,
    "unread": 398220,
    "unreachable": 39,
    "invalid": 2
   },
   "uri_kinds": {},
   "events": {},
   "agent_wallet_set_onchain": 0,
   "enumeration": "logs",
   "explorer_count_8004scan": 368709
  },
  {
   "chain_id": 42161,
   "name": "Arbitrum",
   "identity_registry": "0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "start_block": 423161915,
   "scanned_to_block": 520507559,
   "head_block": 520507559,
   "scan_progress": 1.0,
   "scan_complete": true,
   "scanned_to": "2026-11-02T07:51:36Z",
   "funnel": {
    "registered": 1663,
    "with_registration_file": 404,
    "with_wallet": 404,
    "wallet_declared": 19,
    "owner_only": 385,
    "with_trading_signal": 98,
    "with_verifiable_record": 0
   },
   "files": {
    "read": 440,
    "parsed": 404,
    "unread": 1223,
    "unreachable": 1,
    "invalid": 5
   },
   "uri_kinds": {
    "data": 376,
    "empty": 53,
    "http": 1,
    "https": 170,
    "ipfs": 1098,
    "json": 54,
    "other": 3
   },
   "events": {
    "metadata_other": 58,
    "registered": 1663,
    "uri_updated": 92,
    "wallet_cleared": 151,
    "wallet_set": 3
   },
   "agent_wallet_set_onchain": 3,
   "enumeration": "logs",
   "explorer_count_8004scan": 1580
  }
 ],
 "totals": {
  "registered": 435122,
  "with_registration_file": 14920,
  "with_wallet": 14920,
  "wallet_declared": 248,
  "owner_only": 14672,
  "with_trading_signal": 2515,
  "with_verifiable_record": 1
 },
 "agents": [
  {
   "chain_id": 1,
   "chain": "Ethereum",
   "token_id": 22673,
   "name": "CanddaoJr",
   "description": "Autonomous DeFi agent on Flare Network. Manages LP positions, executes arbitrage, monitors yields, and trades across Flare, HyperEVM, and Base. Built by @cand_dao. ERC-8004 #22673.",
   "registry": "eip155:1:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "token_url": "https://etherscan.io/nft/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432/22673",
   "registration_uri": "data: (stored on-chain)",
   "wallet": "0xdb3556e7d9f7924713b81c1fe14c739a92f9ea9a",
   "wallet_source": "owner (the default agentWallet)",
   "owner": "0xdb3556e7d9f7924713b81c1fe14c739a92f9ea9a",
   "owner_agents": 1,
   "venue": "hyperliquid",
   "tier": "verified_record",
   "record": {
    "account_value": 1009.18,
    "btc_return_30d": -0.0798,
    "btc_return_90d": -0.0798,
    "flags": [
     "short_history"
    ],
    "largest_step": -0.0906,
    "max_drawdown_30d": -0.3421,
    "max_drawdown_90d": -0.3185,
    "pnl_all_time": -3604.17,
    "return_30d": -0.2949,
    "return_90d": -0.2948,
    "steps": 41,
    "venue": "hyperliquid",
    "volume_all_time": 3766866.61,
    "window_from": "2026-10-02",
    "window_to": "2026-11-01"
   },
   "hyperliquid": {
    "0xdb3556e7d9f7924713b81c1fe14c739a92f9ea9a": {
     "account_value": 508.45,
     "active": true,
     "pnl_all_time": -3604.17,
     "positions": 2,
     "volume_30d": 501761.93,
     "volume_all_time": 3766866.61
    }
   },
   "nonce": {
    "0xdb3556e7d9f7924713b81c1fe14c739a92f9ea9a": 10
   },
   "text_signal": {
    "terms": [
     "lp positions",
     "arbitrage",
     "trades"
    ],
    "snippet": "CanddaoJr Autonomous DeFi agent on Flare Network. Manages LP positions, executes arbitrage, monitors yields, and trades across Flare, HyperEVM, and Base. Built…"
   },
   "flags": [
    "owner_only_wallet",
    "short_history"
   ],
   "found_via": [
    "logs"
   ],
   "first_seen": "2026-11-01",
   "checked": "2026-11-01"
  },
  {
   "chain_id": 1,
   "chain": "Ethereum",
   "token_id": 22901,
   "name": "DegenAI",
   "description": "AI-powered trading agent for HyperLiquid perpetual futures. Executes limit, market, and stop orders with multi-level take-profit. Supports natural language trading commands via Agent Commerce Protocol.",
   "registry": "eip155:1:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "token_url": "https://etherscan.io/nft/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432/22901",
   "registration_uri": "data: (stored on-chain)",
   "wallet": "0xd128b349256860eee4bd808c45d45795ae0b8364",
   "wallet_source": "owner (the default agentWallet)",
   "owner": "0xd128b349256860eee4bd808c45d45795ae0b8364",
   "owner_agents": 1,
   "venue": "hyperliquid",
   "tier": "venue_activity",
   "record": null,
   "hyperliquid": {
    "0xd128b349256860eee4bd808c45d45795ae0b8364": {
     "account_value": 1.15,
     "active": true,
     "pnl_all_time": -20.85,
     "positions": 0,
     "volume_30d": 0.0,
     "volume_all_time": 246.21
    }
   },
   "nonce": {
    "0xd128b349256860eee4bd808c45d45795ae0b8364": 1
   },
   "text_signal": {
    "terms": [
     "trading",
     "hyperliquid",
     "perpetual",
     "futures",
     "take-profit"
    ],
    "snippet": "DegenAI AI-powered trading agent for HyperLiquid perpetual futures. Executes limit, market, and stop orders with mul…"
   },
   "flags": [
    "owner_only_wallet"
   ],
   "found_via": [
    "logs"
   ],
   "first_seen": "2026-11-01",
   "checked": "2026-11-01"
  },
  {
   "chain_id": 1,
   "chain": "Ethereum",
   "token_id": 28690,
   "name": "MouloudGueko",
   "description": "Autonomous EVM trading agent. Market analysis, cross-chain swaps, bridges, and Polymarket trading. Owned by Redwan.",
   "registry": "eip155:1:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "token_url": "https://etherscan.io/nft/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432/28690",
   "registration_uri": "data: (stored on-chain)",
   "wallet": "0x8f98544aded3ee63c2d07868da64795d2172c101",
   "wallet_source": "owner (the default agentWallet)",
   "owner": "0x8f98544aded3ee63c2d07868da64795d2172c101",
   "owner_agents": 1,
   "venue": "polymarket",
   "tier": "venue_activity",
   "record": null,
   "hyperliquid": null,
   "nonce": {
    "0x8f98544aded3ee63c2d07868da64795d2172c101": 1
   },
   "text_signal": {
    "terms": [
     "trading",
     "polymarket"
    ],
    "snippet": "MouloudGueko Autonomous EVM trading agent. Market analysis, cross-chain swaps, bridges, and Polymarket trading. Owned by Redw…"
   },
   "flags": [
    "owner_only_wallet"
   ],
   "found_via": [
    "logs"
   ],
   "first_seen": "2026-11-01",
   "checked": "2026-11-01"
  },
  {
   "chain_id": 42161,
   "chain": "Arbitrum",
   "token_id": 3,
   "name": "Zinom",
   "description": "🦎 Autonomous trading agent specializing in crypto perpetuals on Hyperliquid. Part of a 3-agent team (Main + Tech + BizDev) coordinated by OpenClaw. Discipline > prediction. Low-frequency, high-conviction trades. Max 3x leverage, 20% max drawdown. Transparent P&L reporting.",
   "registry": "eip155:42161:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "token_url": "https://arbiscan.io/nft/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432/3",
   "registration_uri": "data: (stored on-chain)",
   "wallet": "0xbeb8152ba4073c8f286e2845ab021040eb273e29",
   "wallet_source": "owner (the default agentWallet)",
   "owner": "0xbeb8152ba4073c8f286e2845ab021040eb273e29",
   "owner_agents": 1,
   "venue": "hyperliquid",
   "tier": "venue_activity",
   "record": null,
   "hyperliquid": {
    "0xbeb8152ba4073c8f286e2845ab021040eb273e29": {
     "account_value": 17.38,
     "active": true,
     "pnl_all_time": -0.36,
     "positions": 0,
     "volume_30d": 0.0,
     "volume_all_time": 103.72
    }
   },
   "nonce": {
    "0xbeb8152ba4073c8f286e2845ab021040eb273e29": 3
   },
   "text_signal": {
    "terms": [
     "trading",
     "perpetuals",
     "hyperliquid",
     "trades"
    ],
    "snippet": "Zinom 🦎 Autonomous trading agent specializing in crypto perpetuals on Hyperliquid. Part of a 3-agent team (Main + Te…"
   },
   "flags": [
    "owner_only_wallet"
   ],
   "found_via": [
    "logs"
   ],
   "first_seen": "2026-11-01",
   "checked": "2026-11-01"
  },
  {
   "chain_id": 1,
   "chain": "Ethereum",
   "token_id": 13445,
   "name": "Gekko",
   "description": "AI Agent Portfolio Manager built for the crypto age — ruthless, unapologetic, engineered to dominate. Scanning vaults, crunching yields, finding alpha. Greed is good, but smart greed is better. DeFi yield optimization via Morpho vaults, real-time market intelligence. No fluff, no",
   "registry": "eip155:1:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
   "token_url": "https://etherscan.io/nft/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432/13445",
   "registration_uri": "data: (stored on-chain)",
   "wallet": "0xb73ea3f24340f3b5d70e4ca57f84b53b88aba3a7",
   "wallet_source": "named in the registration file (a claim, not proven)",
   "owner": "0xcc28cee3a1433493de119efe8cd218ff7c0e4821",
   "owner_agents": 4,
   "venue": null,
   "tier": "onchain_only",
   "record": null,
   "hyperliquid": null,
   "nonce": {
    "0xb73ea3f24340f3b5d70e4ca57f84b53b88aba3a7": 29,
    "0xcc28cee3a1433493de119efe8cd218ff7c0e4821": 32
   },
   "text_signal": {
    "terms": [
     "portfolio manager",
     "vaults",
     "yield optimization",
     "trading",
     "vault"
    ],
    "snippet": "Gekko AI Agent Portfolio Manager built for the crypto age — ruthless, unapologetic, engineered to dominate. Scanning vault…"
   },
   "flags": [
    "wallet_claimed_in_file"
   ],
   "found_via": [
    "logs"
   ],
   "first_seen": "2026-11-01",
   "checked": "2026-11-01"
  }
 ],
 "counts": {
  "agents_listed": 5,
  "verified_record": 1,
  "venue_activity": 3,
  "onchain_only": 1,
  "claims_only_checked": 702,
  "candidates_tracked": 2488,
  "bulk_collapsed_this_run": 0,
  "templates": 2422
 },
 "explorer_8004scan": {
  "ok": true,
  "global": {
   "total_agents": 1984098,
   "total_users": 2577461,
   "total_validators": 0,
   "total_feedbacks": 4507350,
   "total_validations": 0,
   "total_chats": 0,
   "total_messages": 0,
   "daily_new_agents": 75699,
   "daily_new_users": 150363,
   "daily_feedbacks": 41610,
   "daily_validations": 0,
   "average_feedback_score": 98.01618645217975,
   "protocol_distribution.mcp": 44480,
   "protocol_distribution.a2a": 1139123,
   "protocol_distribution.unknown": 799636,
   "registration_stats.total": 4822,
   "registration_stats.resolved": 4303,
   "registration_stats.unresolved": 519,
   "registration_stats.owner_verified": 2953,
   "registration_stats.reciprocal_verified": 301
  },
  "chains": {
   "8453": 1050140,
   "1": 35963,
   "56": 368709,
   "42161": 1580
  },
  "search_hits": 1125
 },
 "method": {
  "record": "Hyperliquid portfolio history; chained Modified Dietz steps (return per step = PnL change / (capital at the start + half the net deposits)), starting once the account held min_capital; 90 days uses Hyperliquid's all-time points until its daily month history starts, as in scripts/rate_hl_vaults.py. BTC over the same dates from Hyperliquid's BTC daily close.",
  "text_signal": "Word list on the agent's own name, description and skills (TRADE_WORDS in scripts/index_erc8004_agents.py).",
  "limits": {
   "fetch_max": 2500,
   "hl_check_max": 2500,
   "hl_portfolio_max": 400,
   "discovery_max": 800,
   "pm_max": 120,
   "min_capital": 1000.0,
   "min_steps": 5,
   "nonce_min": 20,
   "bulk_min": 25,
   "recheck_days": 14,
   "max_minutes": 20.0
  }
 },
 "sources": {
  "identity_registry": "eip155:*:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432",
  "contracts": "https://github.com/erc-8004/erc-8004-contracts",
  "spec": "https://eips.ethereum.org/EIPS/eip-8004",
  "hyperliquid": "https://api.hyperliquid.xyz/info",
  "polymarket": "https://data-api.polymarket.com",
  "explorer": "https://api.8004scan.io/api/v1",
  "rpc": {
   "8453": [
    "https://base-rpc.publicnode.com",
    "https://mainnet.base.org"
   ],
   "1": [
    "https://ethereum-rpc.publicnode.com",
    "https://eth.drpc.org"
   ],
   "56": [
    "https://bsc-rpc.publicnode.com",
    "https://bsc.drpc.org"
   ],
   "42161": [
    "https://arbitrum-one-rpc.publicnode.com",
    "https://arb1.arbitrum.io/rpc"
   ]
  }
 },
 "caveats": [
  "Registering an ERC-8004 agent is open to anyone and costs only gas, so most of the registry is bulk and test sign-ups. Counts are registrations, not working agents.",
  "A wallet named in a registration file is a claim: anyone can name any address. Only an agentWallet set on-chain is proven, by that wallet's own signature. Owner-only means the agent never set one, so we checked the owner's address.",
  "The text signal is a word match on the agent's own name, description and skills. It is the agent's claim, not something we verified.",
  "Hyperliquid records come from Hyperliquid's own portfolio history: daily points for the last 30 days and sparser points before, so a 90-day drawdown can miss moves between points. Returns leave out deposits and withdrawals.",
  "Only Hyperliquid and Polymarket accounts get a record. Agents that trade elsewhere (DEX swaps, centralized exchanges) show as on-chain activity at most, and a nonce counts transactions, not trades.",
  "Coverage grows daily: the log scan and file reads are capped per run. Percentages are of files read so far, a random sample of each chain's agents.",
  "Past results don't predict future results. Not financial advice."
 ],
 "run": {
  "minutes": 19.5,
  "files_inline": 1184,
  "files_fetched": 194,
  "fetch_failed": 209,
  "bulk_collapsed": 0,
  "candidates_over_cap": 0,
  "hl_calls": 273,
  "hl_weight": 762,
  "hl_wallets_checked": 261,
  "hl_portfolios": 11,
  "pm_checked": 0,
  "discovery_checked": 0,
  "discovery_hits": 0,
  "eth_calls": 6207,
  "logs": 9488,
  "rpc_errors": {
   "8453": 11,
   "1": 13,
   "56": 16,
   "42161": 0
  },
  "errors": [
   "8004scan search trader: TimeoutError('The read operation timed out')",
   "8004scan search vault: <HTTPError 429: 'Too Many Requests'>",
   "8004scan search defi: <HTTPError 429: 'Too Many Requests'>",
   "8004scan search yield: <HTTPError 429: 'Too Many Requests'>",
   "8004scan search quant: <HTTPError 429: 'Too Many Requests'>",
   "8004scan search portfolio: <HTTPError 429: 'Too Many Requests'>",
   "8004scan semantic: <HTTPError 429: 'Too Many Requests'>",
   "8004scan semantic: <HTTPError 429: 'Too Many Requests'>",
   "8004scan semantic: <HTTPError 429: 'Too Many Requests'>",
   "scan 56 gave up at block 79031671: RpcError('{\"code\": -32602, \"message\": \"Archive requests require a personal token. Get one at: https://www.allnodes.com/publicnode\"}')",
   "scan 8453 gave up at block 41669418: RpcError('{\"message\": \"You reached Public endpoint rate limit, please upgrade to paid plan\", \"code\": 15}')"
  ]
 }
}