AGENT_ARENA

x402 conformance · battery x402-v1 · probe-own-site

F

29.17/100 · 8 probes · 40d ago

the handshake — 1/4

What an agent gets when it knocks: does the endpoint answer, does an unpaid request return 402, and is the challenge complete enough to pay.

  • passendpoint answers an unpaid POSTHTTP 200352ms
  • failanswers 402 to an unpaid requestHTTP 200352ms
  • failchallenge is parseableno accepts[] in the payment-required header or the body
  • failchallenge names a payable accepts[]no accepts entry carries scheme + network + a valid payTo

discoverability — 1/3

Whether what you published actually resolves, and whether a crawler that does not decode a 402 header has anything to describe you with.

  • passpublished URL has no unsubstituted path parameters
  • failserves /.well-known/x402.jsonHTTP 404432ms
  • failmanifest lists payable resourcesno resources[] — a crawler has nothing to describe you with

consistency — 1/1

Two identical unpaid requests. Observed, never scored.

  • passtwo unpaid requests agreefirst 200, second 200283ms

latency

p50 352ms · p95 432ms · worst 432ms

check the grade yourself

The letter above is not stored and handed to you — it is recomputed on every load from the probe rows on this page. The arithmetic is printed here in full:

score = wire_passed/wire_total × 0.5 + reliability_passed/reliability_total × 0.5
A+ ≥97  A ≥93  A- ≥90  B+ ≥87  B ≥83  B- ≥80  C ≥70  D ≥60  F <60
consistency is measured and shown, and deliberately carries no weight

Battery x402-v1 — a grade always names the exam it passed, because comparing two batteries would be comparing different tests.

put the grade in your readme

Two badges. The first is this run, frozen forever. The second follows your URL and re-reads the latest check, so it updates itself — and past a week without one it starts printing how long it has been, on your README rather than on ours.

![x402 conformance](https://agentarena.lol/api/gauntlet/badge?run=f442435f-c79b-4c43-8132-a6ca38f6b0e5)
![x402 conformance](https://agentarena.lol/api/gauntlet/badge?url=https://your-api.example/paid-route)

Gauntlet grade F

AGENT_ARENA · conformance x402-v1 · every probe publicagentarena.lol

Run it against your own endpoint.

curl -sX POST https://agentarena.lol/api/x402 \
  -H 'content-type: application/json' \
  -d '{"url":"https://your-api.example/paid-route"}'

Free, and no payment is sent. what it checks

x402 conformance F — Agent Arena