402atlas.com
https://402atlas.com/api/verifiedAtlas — independent paid-test map of x402 services: every verified service + response samples + avoid-list, each with on-chain receipts. Free human-readable reports: https://402atlas.com/report.html and https://402atlas.com/market-report.html (audit / discovery layer, not a task service)
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
85.3% avgResponse time
p50 219ms · p95 245msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 8/15/2026, 1:00:00 AM | 100% | 1 | 215ms |
| 8/15/2026, 2:00:00 AM | 100% | 1 | 223ms |
| 8/15/2026, 3:00:00 AM | 100% | 1 | 231ms |
| 8/15/2026, 4:00:00 AM | 100% | 1 | 260ms |
| 8/15/2026, 6:00:00 AM | 100% | 1 | 221ms |
| 8/15/2026, 7:00:00 AM | 100% | 1 | 255ms |
| 8/15/2026, 8:00:00 AM | 100% | 1 | 222ms |
| 8/15/2026, 9:00:00 AM | 100% | 1 | 215ms |
| 8/15/2026, 10:00:00 AM | 100% | 1 | 211ms |
| 8/15/2026, 11:00:00 AM | 100% | 1 | 219ms |
| 8/15/2026, 12:00:00 PM | 100% | 1 | 225ms |
| 8/15/2026, 1:00:00 PM | 100% | 1 | 224ms |
| 8/15/2026, 3:00:00 PM | 100% | 1 | 225ms |
| 8/15/2026, 4:00:00 PM | 100% | 1 | 213ms |
| 8/15/2026, 5:00:00 PM | 100% | 1 | 216ms |
| 8/15/2026, 6:00:00 PM | 100% | 1 | 209ms |
| 8/15/2026, 7:00:00 PM | 100% | 1 | 215ms |
| 8/15/2026, 8:00:00 PM | 100% | 1 | 212ms |
| 8/15/2026, 10:00:00 PM | 100% | 1 | 211ms |
| 8/15/2026, 11:00:00 PM | 100% | 1 | 215ms |
| 8/16/2026, 12:00:00 AM | 100% | 1 | 222ms |
| 8/16/2026, 1:00:00 AM | 100% | 1 | 221ms |
| 8/16/2026, 2:00:00 AM | 100% | 1 | 228ms |
| 8/16/2026, 3:00:00 AM | 100% | 1 | 223ms |
| 8/16/2026, 5:00:00 AM | 100% | 1 | 222ms |
| 8/16/2026, 6:00:00 AM | 100% | 1 | 218ms |
| 8/16/2026, 7:00:00 AM | 100% | 1 | 216ms |
| 8/16/2026, 8:00:00 AM | 100% | 1 | 220ms |
| 8/16/2026, 9:00:00 AM | 100% | 1 | 215ms |
| 8/16/2026, 10:00:00 AM | 100% | 1 | 208ms |
| 8/16/2026, 12:00:00 PM | 100% | 1 | 223ms |
| 8/16/2026, 1:00:00 PM | 100% | 1 | 219ms |
| 8/16/2026, 2:00:00 PM | 100% | 1 | 219ms |
| 8/16/2026, 3:00:00 PM | 100% | 1 | 217ms |
| 8/16/2026, 4:00:00 PM | 100% | 1 | 216ms |
| 8/16/2026, 5:00:00 PM | 100% | 1 | 216ms |
| 8/16/2026, 7:00:00 PM | 100% | 1 | 237ms |
| 8/16/2026, 8:00:00 PM | 100% | 1 | 212ms |
| 8/16/2026, 9:00:00 PM | 100% | 1 | 217ms |
| 8/16/2026, 10:00:00 PM | 100% | 1 | 213ms |
| 8/16/2026, 11:00:00 PM | 100% | 1 | 210ms |
| 8/17/2026, 12:00:00 AM | 100% | 1 | 212ms |
| 8/17/2026, 2:00:00 AM | 100% | 1 | 232ms |
| 8/17/2026, 3:00:00 AM | 100% | 1 | 209ms |
| 8/17/2026, 4:00:00 AM | 100% | 1 | 235ms |
| 8/17/2026, 5:00:00 AM | 100% | 1 | 217ms |
| 8/17/2026, 6:00:00 AM | 100% | 1 | 219ms |
| 8/17/2026, 7:00:00 AM | 100% | 1 | 235ms |
| 8/17/2026, 9:00:00 AM | 100% | 1 | 212ms |
| 8/17/2026, 10:00:00 AM | 100% | 1 | 230ms |
| 8/17/2026, 11:00:00 AM | 100% | 1 | 208ms |
| 8/17/2026, 12:00:00 PM | 100% | 1 | 225ms |
| 8/17/2026, 1:00:00 PM | 100% | 1 | 215ms |
| 8/17/2026, 2:00:00 PM | 100% | 1 | 212ms |
| 8/17/2026, 4:00:00 PM | 100% | 1 | 212ms |
| 8/17/2026, 5:00:00 PM | 100% | 1 | 221ms |
| 8/17/2026, 6:00:00 PM | 100% | 1 | 250ms |
| 8/17/2026, 7:00:00 PM | 100% | 1 | 220ms |
| 8/17/2026, 8:00:00 PM | 100% | 1 | 224ms |
| 8/17/2026, 9:00:00 PM | 100% | 1 | 221ms |
| 8/17/2026, 11:00:00 PM | 100% | 1 | 222ms |
| 8/18/2026, 12:00:00 AM | 100% | 1 | 217ms |
| 8/18/2026, 1:00:00 AM | 100% | 1 | 216ms |
| 8/18/2026, 2:00:00 AM | 100% | 1 | 226ms |
| 8/18/2026, 3:00:00 AM | 100% | 1 | 214ms |
| 8/18/2026, 4:00:00 AM | 100% | 1 | 210ms |
| 8/18/2026, 6:00:00 AM | 100% | 1 | 215ms |
| 8/18/2026, 7:00:00 AM | 100% | 1 | 217ms |
| 8/18/2026, 8:00:00 AM | 100% | 1 | 209ms |
| 8/18/2026, 9:00:00 AM | 100% | 1 | 219ms |
| 8/18/2026, 10:00:00 AM | 100% | 1 | 234ms |
| 8/18/2026, 11:00:00 AM | 100% | 1 | 231ms |
| 8/18/2026, 1:00:00 PM | 100% | 1 | 225ms |
| 8/18/2026, 2:00:00 PM | 100% | 1 | 245ms |
| 8/18/2026, 3:00:00 PM | 100% | 1 | 211ms |
| 8/18/2026, 4:00:00 PM | 100% | 1 | 217ms |
| 8/18/2026, 5:00:00 PM | 100% | 1 | 209ms |
| 8/18/2026, 6:00:00 PM | 100% | 1 | 221ms |
| 8/18/2026, 8:00:00 PM | 100% | 1 | 226ms |
| 8/18/2026, 9:00:00 PM | 100% | 1 | 213ms |
| 8/18/2026, 10:00:00 PM | 100% | 1 | 220ms |
| 8/18/2026, 11:00:00 PM | 100% | 1 | 214ms |
| 8/19/2026, 12:00:00 AM | 100% | 1 | 214ms |
| 8/19/2026, 1:00:00 AM | 100% | 1 | 220ms |
| 8/19/2026, 3:00:00 AM | 100% | 1 | 214ms |
| 8/19/2026, 4:00:00 AM | 100% | 1 | 222ms |
| 8/19/2026, 5:00:00 AM | 100% | 1 | 247ms |
| 8/19/2026, 6:00:00 AM | 100% | 1 | 215ms |
| 8/19/2026, 7:00:00 AM | 100% | 1 | 210ms |
| 8/19/2026, 8:00:00 AM | 100% | 1 | 223ms |
| 8/19/2026, 10:00:00 AM | 100% | 1 | 207ms |
| 8/19/2026, 11:00:00 AM | 100% | 1 | 209ms |
| 8/19/2026, 12:00:00 PM | 100% | 1 | 219ms |
| 8/19/2026, 1:00:00 PM | 100% | 1 | 239ms |
| 8/19/2026, 2:00:00 PM | 100% | 1 | 216ms |
| 8/19/2026, 3:00:00 PM | 100% | 1 | 228ms |
| 8/19/2026, 4:00:00 PM | 100% | 1 | 223ms |
| 8/19/2026, 6:00:00 PM | 100% | 1 | 232ms |
| 8/19/2026, 7:00:00 PM | 100% | 1 | 225ms |
| 8/19/2026, 8:00:00 PM | 100% | 1 | 214ms |
| 8/19/2026, 9:00:00 PM | 100% | 1 | 225ms |
| 8/19/2026, 10:00:00 PM | 100% | 1 | 235ms |
| 8/19/2026, 11:00:00 PM | 100% | 1 | 215ms |
| 8/20/2026, 1:00:00 AM | 100% | 1 | 220ms |
| 8/20/2026, 2:00:00 AM | 100% | 1 | 220ms |
| 8/20/2026, 3:00:00 AM | 100% | 1 | 221ms |
| 8/20/2026, 4:00:00 AM | 100% | 1 | 214ms |
| 8/20/2026, 5:00:00 AM | 100% | 1 | 218ms |
| 8/20/2026, 6:00:00 AM | 100% | 1 | 217ms |
| 8/20/2026, 7:00:00 AM | 100% | 1 | 213ms |
| 8/20/2026, 8:00:00 AM | 100% | 1 | 218ms |
| 8/20/2026, 10:00:00 AM | 100% | 1 | 218ms |
| 8/20/2026, 11:00:00 AM | 100% | 1 | 251ms |
| 8/20/2026, 12:00:00 PM | 100% | 1 | 211ms |
| 8/20/2026, 1:00:00 PM | 100% | 1 | 216ms |
| 8/20/2026, 2:00:00 PM | 100% | 1 | 225ms |
| 8/20/2026, 3:00:00 PM | 100% | 1 | 229ms |
| 8/20/2026, 4:00:00 PM | 100% | 1 | 223ms |
| 8/20/2026, 6:00:00 PM | 100% | 1 | 233ms |
| 8/20/2026, 7:00:00 PM | 100% | 1 | 233ms |
| 8/20/2026, 8:00:00 PM | 100% | 1 | 245ms |
| 8/20/2026, 9:00:00 PM | 100% | 1 | 217ms |
| 8/20/2026, 10:00:00 PM | 0% | 1 | — |
| 8/20/2026, 11:00:00 PM | 0% | 1 | — |
| 8/21/2026, 1:00:00 AM | 0% | 1 | — |
| 8/21/2026, 2:00:00 AM | 0% | 1 | — |
| 8/21/2026, 3:00:00 AM | 0% | 1 | — |
| 8/21/2026, 4:00:00 AM | 0% | 1 | — |
| 8/21/2026, 5:00:00 AM | 0% | 1 | — |
| 8/21/2026, 6:00:00 AM | 0% | 1 | — |
| 8/21/2026, 7:00:00 AM | 0% | 1 | — |
| 8/21/2026, 9:00:00 AM | 0% | 1 | — |
| 8/21/2026, 10:00:00 AM | 0% | 1 | — |
| 8/21/2026, 11:00:00 AM | 0% | 1 | — |
| 8/21/2026, 12:00:00 PM | 0% | 1 | — |
| 8/21/2026, 1:00:00 PM | 0% | 1 | — |
| 8/21/2026, 2:00:00 PM | 0% | 1 | — |
| 8/21/2026, 3:00:00 PM | 0% | 1 | — |
| 8/21/2026, 5:00:00 PM | 0% | 1 | — |
| 8/21/2026, 6:00:00 PM | 0% | 1 | — |
| 8/21/2026, 7:00:00 PM | 0% | 1 | — |
| 8/21/2026, 8:00:00 PM | 0% | 1 | — |
| 8/21/2026, 9:00:00 PM | 0% | 1 | — |
- Availability
- 69
- Latency
- 100
- Security
- 100
- Transparency
- 67
- Activity
- 4
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- base
- Facilitator
- unknown
- SDK
- x402-express
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- Cloudflare, Inc.
- Domain registered
- 2026-06-02
- Hosting network
- CLOUD-HIL
- Hosting country
- US
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 7/27/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 7/27/2026 | 1 | 0.1 | 1 |
Only payments settled on chains and facilitators we index.
Response schema
{
"properties": {
"confidence_summary": {
"description": "Breakdown by evidence grade",
"type": "object"
},
"free_resources": {
"description": "Links to the free human-readable surfaces",
"type": "object"
},
"meta": {
"description": "Counts and the dataset cutoff date",
"type": "object"
},
"reading_guide": {
"description": "Read this first. Explains every field, including what we held back and why.",
"type": "object"
},
"services_by_category": {
"additionalProperties": {
"items": {
"properties": {
"calls_kept_out_of_this_record": {
"description": "Calls we paid for and did NOT publish, with the count and the reason. The omission is visible rather than silent.",
"type": "object"
},
"coverage": {
"description": "How much of that surface we bought — in both endpoint and capability-category terms.",
"type": "object"
},
"declared_endpoints_that_could_not_be_paid": {
"description": "Endpoints this host declares and prices but which would not take our payment. No receipt exists for these — that is the finding.",
"items": {
"type": "object"
},
"type": "array"
},
"domain": {
"type": "string"
},
"endpoints_to_skip": {
"description": "Present only when an endpoint on this otherwise-recommended host failed our check. Carries the endpoint, what went wrong and the receipt.",
"items": {
"type": "object"
},
"type": "array"
},
"evidence_grade": {
"description": "Strength of OUR method, not a judgement of the service",
"enum": [
"A",
"B",
"C"
],
"type": "string"
},
"health": {
"description": "Per-record shortcut: problem count, whether the host was still answering payment challenges when we last measured, and a safe_default flag.",
"type": "object"
},
"inference": {
"description": "Present when our sample did not cover every capability category. Always states in words that the untested part is an inference, not a guarantee.",
"type": "string"
},
"priceQuotedAt": {
"type": [
"string",
"null"
]
},
"priceUsd": {
"description": "Cheapest current quote across the tested endpoints, read off the seller own 402 challenge on priceQuotedAt. Null with a reason where no challenge answered.",
"type": [
"number",
"null"
]
},
"result": {
"description": "Mechanical roll-up over the published calls: ok / problem / transport_only.",
"type": "object"
},
"surface": {
"description": "How many payable endpoints this host declares, measured by us on as_of. total may be null with a reason; where it is, at_least gives a lower bound backed by receipts.",
"type": "object"
},
"tested": {
"description": "One element per endpoint we actually paid for. This is where the evidence lives.",
"items": {
"properties": {
"description": {
"description": "The seller's own description of THAT endpoint",
"type": [
"string",
"null"
]
},
"description_source": {
"description": "Exact pointer into the seller document it came from",
"type": [
"string",
"null"
]
},
"endpoint": {
"description": "Method + path as tested",
"type": "string"
},
"note": {
"description": "Why that verdict, in one sentence",
"type": "string"
},
"pay": {
"description": "network / asset / payTo / scheme, read off the seller own challenge",
"type": "object"
},
"priceUsd": {
"type": [
"number",
"null"
]
},
"request": {
"description": "The exact call that produced the response",
"type": [
"object",
"null"
]
},
"response": {
"description": "What came back. Full unless too large to reproduce, in which case response_excerpted appears alongside it.",
"type": [
"string",
"null"
]
},
"response_excerpted": {
"description": "Present only on oversized responses: excerpt size, original size, SHA-256 of the complete body, and either a link to the free public upstream it resells or the name of the file in our evidence archive.",
"type": "object"
},
"result": {
"description": "ok = delivered what it claimed; problem = paid and did not; transport-only = payment and shape verified but the content had no answer we could construct in advance",
"enum": [
"ok",
"problem",
"transport-only"
],
"type": "string"
},
"tx": {
"description": "On-chain settlement hash for our payment",
"type": [
"string",
"null"
]
},
"txUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"endpoint",
"result"
],
"type": "object"
},
"type": "array"
},
"verdict": {
"description": "Every record here is verified by construction — a service that fails as a whole is absent. Filtering on this alone tells you nothing.",
"enum": [
"verified"
],
"type": "string"
}
},
"required": [
"domain",
"verdict",
"tested",
"result"
],
"type": "object"
},
"type": "array"
},
"description": "Category name → array of records. One record = one HOST.",
"type": "object"
},
"total_services": {
"description": "Number of hosts in this payload",
"type": "integer"
}
},
"required": [
"reading_guide",
"total_services",
"services_by_category"
],
"type": "object"
}