Your paid endpoint answers 402. Agents still are not paying. Here is what they see.

Paste any public x402 endpoint. We call it from outside with no payment and no credentials, then read the 402 back to you the way a buying agent reads it.

Free, one endpoint per check, no signup. We never send a payment and never see your traffic.

What it checks, and why each one loses you money

CheckWhat goes wrong when it fails
Facilitator named at all three levelsA spec-following client reads the facilitator from accepts[0].extra, then accepts[0], then the root. Named nowhere, it falls back to a default that cannot settle to you, so a healthy endpoint reads to the buyer as a payment failure.
The facilitator actually answersAn advertised facilitator that 404s on /verify is worse than none: the buyer trusts your terms and stalls. We probe the one you name.
Payment-Required header presentCoinbase's indexer reads the terms from that header, not the body. Absent, the endpoint cannot be listed at all, however perfect the JSON is.
Header survives a default proxyPast 4KB, nginx's default buffer drops it and the buyer gets 502 while your app logs a clean 402. Silent, and it looks like their bug.
Terms complete enough to signMissing payTo, asset, network, amount or maxTimeoutSeconds and the agent cannot construct a payment even when it wants to.
Price clears the settlement floorPriced below the cost of broadcasting the payment, a buyer that settles for itself loses money by trading with you. We measure that floor from real settlement receipts, not a textbook estimate.
Discoverable and describableNo serviceName, description or schemas, and an agent must guess what it is buying. Most do not guess.

Scope, stated plainly

Beyond a single check