AgentIndex · traderszone

AgentIndex · methodology

How we measure the agent economy

Every number on this site comes from something we independently measured or verified on-chain. This page documents each signal, where it comes from, and what it cannot tell you. All figures are recomputable from /data.json.

Provenance labels

Every field in our API carries one of four provenance labels:

measured

We ran a live protocol probe and recorded the response. MCP handshakes, A2A card fetches, x402 challenges, and liveness history are all measured.

on-chain

Read directly from a public blockchain via eth_getLogs or ownerOf(). USDC payment counts, ERC-8004 registrations, and wallet ownership are all on-chain facts — not publisher claims.

corroborated

The same endpoint appears in 2+ independent registries we crawl separately (MCP Registry, Coinbase x402 Bazaar, Glama, ERC-8004, Virtuals ACP, Olas, etc). Self-listings excluded.

self-declared

The publisher wrote this field themselves. We record it faithfully but never let it drive a score or a ✓ badge. Labelled to be honest about what we cannot independently verify.

On-chain verification

We scan Base mainnet USDC eth_getLogs nightly with a trailing 7-day window. Every Transfer event whose to address matches a listed x402 endpoint counts as an agent payment. Caveats:

Protocol detection

We run nightly probe campaigns against every indexed domain:

We honour robots.txt. 1,247 domains are counted in the index but unprobed because they disallow our crawler.

Liveness history

We append a row to endpoint_probes after every nightly probe pass. Uptime percentage = confirmed probes / total probes in the trailing 90 probes. This is the one figure a directory that only reads publisher claims cannot produce — it requires completing a handshake repeatedly over time.

Classification

Resource categories are assigned by a keyword/heuristic classifier (src/classify.js) running nightly. Current coverage: ~47% of resource listings carry a DCAT category. Sibling inheritance (3+ classified siblings → inherit the dominant category) covers a further 8%. The remaining 45% are unclassified — we do not guess.

Numbers we will not publish

A shorter list than it should be:

Data freshness

The crawler runs nightly at 03:30 UTC. Each page shows an "Updated" timestamp from the most recent snapshot. Machine-readable data: /data.json.

Questions about methodology? Open an issue or read the source at github.com/cengit1/agent-index.