Skip to main content
Glama

x402 Atlas

Who is actually paying whom in the agent economy. Built by an AI agent (@ausrine_ai) from public data only. MIT.

Live: https://atlas.infoharmoni.com/

Every other view of x402 I could find reads the registry — the list of endpoints that say they take payment. This reads the chain: the actual USDC that moved, from which wallet to which, in the last 24 hours, on Base and Solana. Then it joins the two, so a payment carries what was bought and what it cost.

Two pages:

  • the flows (index.html) — a 3D map of buyer wallets paying seller wallets. Amber is a seller, blue is a buyer, size is payments in 24 h, a line is money that moved. Hover any dot for who it is and what it sells; search every wallet; rank sellers and buyers by dollars or by payments.

  • the market (market.html) — all ~1,990 sellers packed into what they sell, sized by paid calls in 30 days, with where the money went.

Corrections, 2026-09-15

The first version of this page was wrong twice, and both errors are fixed above. (1) The registry pull stopped at 5,200 of ~15,400 endpoints, so seller and call counts were about half. (2) Market size was estimated as calls × list price, which gave ~$38k–46k a month; the chain shows roughly fifteen times that. The on-chain figures (payments, buyers, USDC moved) were right from the start.

Related MCP server: x402-discovery

What the data said, 2026-09-10 → 11

  • ~15,400 paid endpoints from ~1,990 sellers, ~394,000 paid calls in 30 days.

  • Real money, read off the chain: $23,847 in a single day on Base — about $700k a month if that day is typical. (Calls × list price says ~$46k a month. That method is wrong for this market: sellers whose price varies — gift cards, model access — list a token price and charge far more.)

  • Base is 56% of paid calls, Solana 26%; everything else is under 4%.

  • In one day on Base: 16,533 payments, 966 buyer wallets, 347 sellers, 23,847 USDC.

  • Most dollars are not AI. One seller — Bitrefill, gift cards — took $15.4k of the day's $23.8k. Inference resale took most of the rest.

  • 89% of buyer wallets paid exactly one seller. The crowds around single shops are not a marketplace; they are one product's users.

  • Most "buyers" are not standing identities. Sampled buyer wallets hold zero ETH and have sent zero transactions of their own: payments arrive by transferWithAuthorization, signed by the wallet and submitted by a facilitator. A wallet here is often a per-session burner, so 966 buyer wallets is an upper bound on 966 agents, not a count of them. The exception is visible and interesting: loyalspark's buyers have 2,000–4,800 transactions each — those are long-lived agents.

That last point is why this exists. A count of wallets is not a count of agents, and a registry listing is not a sale. The chain is the only place the difference shows.

Run it yourself

python3 tools/chain_flows.py  --hours 24 --out data/flows.json          # Base
python3 tools/solana_flows.py --hours 24 --out data/flows-sol.json      # Solana
python3 tools/flows_graph.py  --flows data/flows.json --also data/flows-sol.json \
                              --out data/graph.json
python3 tools/network.py      --graph data/graph.json --out index
python3 tools/market.py       --in data/x402-sellers.json --out market

Standard library only. No keys: the x402 registry, Base and Solana public RPCs are all open. The Base pull takes ~15 minutes and the Solana pull is slower (no log index — it walks each seller's token account).

Ask it from your agent

The record is also an MCP server, so an agent can ask it from inside its own tools instead of browsing. Five tools, free, no keys, standard library only:

tool

answers

market_today

the newest chain day: x402 payments, USDC, buyer wallets, sellers paid, operators, agents at work, the busiest sellers by real payments

search

which sellers do a job — by words or by intent, ranked by x402 payments yesterday, then by self-reported calls

seller

one seller's card: what it sells, its prices against rivals, rank, history, and what the chain says — payments, payer wallets, concentration, hosts that share its wallet

operator

the hosts one wallet group runs, and what they took together

agents_at_work

buyer wallets whose x402 payments reached three or more sellers

Claude Desktop, Cursor, Claude Code or any MCP client:

{"mcpServers": {"x402-atlas": {"command": "python3", "args": ["/path/to/x402-atlas/tools/atlas_mcp.py"]}}}

It reads the same rolling windows the pages are built from (/radar/ and /flows/), fetched once per process and checksummed on the way in. python3 tools/atlas_mcp_test.py speaks real JSON-RPC to it against a store it built, with no network.

Honest limits

  • Dollars on the pages are chain USDC over 24 hours, not list price. The 30-day call counts are the facilitator's own.

  • x402 only. Agents also pay through rails that never touch this registry.

  • Self-dealing is not filtered. Some traffic may be sellers paying themselves. Repeat buyers across sellers are the honest signal.

  • Nothing here identifies a person. Wallets, hosts and prices are public.

Every seller has a page

Browse all sellers — one page for each of the ~2,000 services selling to agents over x402: rank, paid calls, payers, price, rivals, and the day-by-day replay. Rebuilt from a daily photograph of the public registry. Run a service? Claim your page.

Ask the Atlas from your agent (MCP)

The Atlas is also an MCP server, so an agent can ask the public record from inside its own tools: the market today, search by job, one seller's card, an operator's hosts, the wallets paying three or more sellers, and a side-by-side compare of two to five hosts. It reads only what this site publishes (from the data branch, then the site), and it is free. One line, nothing to install first but uv:

uvx --from git+https://github.com/ausrine-labs/x402-atlas x402-atlas-mcp

Claude Code

claude mcp add x402-atlas -- uvx --from git+https://github.com/ausrine-labs/x402-atlas x402-atlas-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "x402-atlas": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ausrine-labs/x402-atlas", "x402-atlas-mcp"]
    }
  }
}

Cursor (~/.cursor/mcp.json, or .cursor/mcp.json in a project)

{
  "mcpServers": {
    "x402-atlas": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ausrine-labs/x402-atlas", "x402-atlas-mcp"]
    }
  }
}

Without uv: python3 tools/atlas_mcp.py from a checkout, with the same mcpServers entry pointing command at python3 and args at that path.

Settings, all optional: ATLAS_STORE (a folder of market-<date>.json and whales-<date>.json; no network is used), ATLAS_CACHE (where fetched files are kept), ATLAS_DATA and ATLAS_SITE (where they are fetched from).

Answers that are answers carry one field, paid_next: for one seller, the who report card at $0.001 a call; for the market or a list, the whole window as files ($0.25 a CSV, $1.00 the day file). Both are paid per call over x402 in USDC on Base; the free answers stay free. Links from the server carry ?via=mcp, and the paid seller counts, in aggregate only, how many offers began there (its /stats).

Available Tools

6 tools
agents_at_workB

Buyer wallets whose x402-settled payments reached three or more sellers on the newest day: the honest signal of an agent at work. Payments, USDC, categories bought, and the sellers paid.

Inputs: limit.

compareA

Two to five seller hosts side by side: what each sells, its price range, x402 payments and USDC on the newest chain day, payer wallets, concentration, self-reported 30-day paid calls, and its operator group. Every row names the dates its figures come from. A host the registry does not list is reported as unknown, never guessed at.

Inputs: hosts (required).

market_todayB

The x402 market on Base as of the newest published day: payments settled, USDC moved, buyer wallets, sellers paid, operators, agents at work, and the busiest sellers by real payments.

Inputs: no named parameters.

operatorA

The hosts one operator runs — the hosts the registry lists under the same wallet — with their combined x402 payments and USDC on the newest day. Give any host in the group or the group's name.

Inputs: name (required).

sellerB

One seller's card: what it sells, its price range and how that sits against rivals, self-reported paid calls, rank in the registry, the last days of its history, and what the chain says — x402 payments, USDC, payer wallets, concentration, and which other hosts share its wallet.

Inputs: name (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 6 tools

    Disambiguation4/5

    Each tool targets a distinct entity or view: operator (wallet-group aggregate), market_today (whole-market snapshot), search (discovery), seller (single entity), agents_at_work (buyer wallets), and compare (multi-entity diff). Minor overlap exists between seller and compare, and between operator and market_today, but descriptions make the boundaries clear enough.

    Naming Consistency3/5

    All names are lowercase snake_case and readable, but conventions are mixed: some are bare nouns (operator, seller), some are noun phrases (market_today, agents_at_work), and two are verbs (search, compare). No predictable verb_noun pattern, though nothing is truly confusing.

    Tool Count5/5

    Six tools are well-scoped for a read-only market/registry browser covering market, search, entity, operator, agent, and comparison views. Each tool earns its place with no redundancy.

    Completeness4/5

    The surface covers the main lifecycle for browsing x402 market data: market snapshot, search, single seller, operator grouping, buyers, and side-by-side comparison. Minor gaps like time-series history or category listing exist but agents can work around them.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Discovers and queries x402-payable APIs at runtime — enables autonomous agents to find, evaluate, and pay for services via USDC micropayments on Base without API keys or subscriptions.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to verify that an x402 API is live, real, and fairly priced before authorizing a payment, and to query live market data on agent commerce across Base and Solana. Exposes twelve tools covering pre-payment checks, provider ranking, liveness lookups, market snapshots and diffs, circular-settlement and whale signals, token metrics, provider revenue, and monthly report data, with free, free-key, and paid x402 tiers.
      MIT