Methodology
How we measure, rank, and reconcile
AgenticTxn is an agentic-commerce index. This page describes what we count, how we attribute it, and where we deliberately stop.
Overview
AgenticTxn indexes servers that accept agentic payments — the paid-tool endpoints that price, quote, and charge agents. We do not attempt to track every settlement on every chain; the universe of addresses, memecoins, and off-platform transfers is out of scope. Our data is servers-first, and the numbers you see reflect revenue flowing through indexed servers only.
Protocols & settlements
We index two protocols today:
- x402 — HTTP 402 micropayments over EVM and Solana rails, typically USDC on Base, Solana mainnet, or Tempo.
- mpp — MCP payment pointer flows, which pair a discovery manifest with a settlement rail (on-chain or off-chain via Stripe).
A settlement is the rail the money lands on. We surface settlement CAIP-2 ids (e.g. eip155:8453) and group off-chain rails as offchain:stripe-card.
Discovery
Servers enter the index through three paths:
- Bazaar — x402 marketplaces we periodically crawl.
- mpp.dev — the public mpp manifest registry.
- Submissions — operators can submit their server directly; we probe the endpoint and enqueue backfill if a valid price quote is returned.
Attribution
Every charge is attributed to a server at ingest via a drop-on-miss policy. If a settling transaction cannot be linked to a known server payee address, the row is dropped from the servers index rather than bucketed as Unknown. This keeps our aggregates honest: we only claim what we can attribute. Hot-path lookups are memoized in Redis; cold-path ingest falls back to Mongo.
Sessions
An agent session is a sequence of one or more charges on the same server. Sessions are opened on the first charge, accumulate via subsequent charges, and close after an idle window. We surface two views of a session:
- usage — every billable request, one row per charge.
- settlement — one row per on-chain settlement (charges can batch).
The ?view=usage|settlement parameter on most leaderboards toggles which count you see.
Wash heuristic
A conservative wash filter runs at query time. It flags charges where payer and payee share an owner cluster, or where a server appears to be paying itself through a proxy address. Flagged charges are excluded when filterWash=true (the default). Toggle it off in the header to see the raw numbers. The heuristic is intentionally conservative — we would rather undercount than launder noise into a leaderboard.
USD conversion
Stablecoin rails (USDC, USDP, PYUSD) are treated as USD 1:1. For other tokens we pin to a daily close from the CoinGecko feed, with a 24-hour fallback window when the feed is unavailable. Off-chain rails (Stripe) report USD directly. All volume figures on the site are normalized to USD at the time of settlement, not the time of query.
What we don’t do
Methodology changes log
- — Initial methodology published alongside the F20 launch.