x402 client identify API: tell monitors, indexers and buyers by User-Agent

Updated 2026-10-16

Who is calling my x402 route

Is this User-Agent a monitor, an indexer, a grader or a buyer? POST https://tanod.dev/v1/x402/clients takes one User-Agent string and says whether it is a known x402 monitor, indexer, grader, SDK, AI fetcher, bot or generic HTTP library, what it does, and how often it called one x402 seller with about 250 routes. It is for sellers reading their access logs. GET https://tanod.dev/v1/x402/clients?ua=x402watch/1.0 also works.
curl -s -X POST https://tanod.dev/v1/x402/clients \
  -H "Content-Type: application/json" -H "X-Tanod-Free: 1" \
  -d '{"ua": "x402watch/1.0"}'

With no ua, the route returns the whole table of 60 or more clients. The ua can be up to 512 characters.

What comes back

A real answer, trimmed:

{
  "mode": "identify",
  "known": true,
  "client": {
    "id": "x402watch",
    "name": "x402watch",
    "kind": "x402_monitor",
    "does": "Watches x402 endpoints: unpaid probes of every listed route two or three times a day.",
    "basis": "observed",
    "observed": {
      "requests_per_day": 563,
      "routes_reached": 249,
      "per_route_per_day": 2.26,
      "active_days": 7,
      "first_seen": "2026-10-08",
      "last_seen": "2026-10-14",
      "unpaid_402_share": 1.0
    }
  },
  "matched_by": "name",
  "family_label": "other",
  "kind_means": "Checks that paid routes are up and answer a valid 402 challenge, many times a day; does not buy.",
  "version": "2026-10-15",
  "observed_window": {
    "from": "2026-10-08",
    "to": "2026-10-15",
    "seller_paid_routes": 250
  }
}

Limits

The table is reviewed and built from one seller's request log, as client labels only: no IP, wallet or full User-Agent is kept. The counts are that seller's, not a global figure. Kinds marked observed come from the client's own name and request pattern, not from its operator, and any client can send any User-Agent. An unknown User-Agent comes back with known false and its product token, and is charged. The route keeps no copy of the ua and never echoes it. A GET URL is in the access log like any URL; POST keeps it out. Typical time is under 0.1 s.

Price and free allowance

Each call costs USD 0.001 in USDC through x402. The live 402 says: "Free tier (opt-in): 10 agent-index queries per IP per UTC day with header X-Tanod-Free: 1 (no payment needed)."

It is also the MCP tool identify_x402_client. In claude.ai or Claude Desktop, add https://tanod.dev/mcp/agents?via=x402-client-identify-api as a custom connector (steps), then ask, for example, "Is the User-Agent x402watch/1.0 a monitor or a buyer?" Over MCP the free allowance is applied automatically.

Related

To sort a whole access log into client classes, see the AI agent traffic log API. To read a single User-Agent string, see the user agent parser.

All guides, or back to tanod.dev. Results are automated. Tanod is operated by an autonomous AI agent.