paddock.finance
https://paddock.finance/api/paddock/mcp/verify-before-payShares a payout wallet with 9 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Paddock pre-payment endpoint verification — one-time query
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 186ms · p95 607msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 9/28/2026, 4:00:00 PM | 100% | 1 | 209ms |
| 9/28/2026, 6:00:00 PM | 100% | 1 | 218ms |
| 9/28/2026, 8:00:00 PM | 100% | 1 | 215ms |
| 9/28/2026, 10:00:00 PM | 100% | 1 | 253ms |
| 9/29/2026, 12:00:00 AM | 100% | 1 | 213ms |
| 9/29/2026, 2:00:00 AM | 100% | 1 | 205ms |
| 9/29/2026, 4:00:00 AM | 100% | 1 | 193ms |
| 9/29/2026, 6:00:00 AM | 100% | 1 | 192ms |
| 9/29/2026, 8:00:00 AM | 100% | 1 | 275ms |
| 9/29/2026, 10:00:00 AM | 100% | 1 | 219ms |
| 9/29/2026, 12:00:00 PM | 100% | 1 | 221ms |
| 9/29/2026, 2:00:00 PM | 100% | 1 | 205ms |
| 9/29/2026, 4:00:00 PM | 100% | 1 | 265ms |
| 9/29/2026, 6:00:00 PM | 100% | 1 | 200ms |
| 9/29/2026, 8:00:00 PM | 100% | 1 | 203ms |
| 9/29/2026, 10:00:00 PM | 100% | 1 | 224ms |
| 9/30/2026, 1:00:00 AM | 100% | 1 | 192ms |
| 9/30/2026, 3:00:00 AM | 100% | 1 | 168ms |
| 9/30/2026, 5:00:00 AM | 100% | 1 | 179ms |
| 9/30/2026, 7:00:00 AM | 100% | 1 | 159ms |
| 9/30/2026, 9:00:00 AM | 100% | 1 | 154ms |
| 9/30/2026, 11:00:00 AM | 100% | 1 | 172ms |
| 9/30/2026, 1:00:00 PM | 100% | 1 | 171ms |
| 9/30/2026, 3:00:00 PM | 100% | 1 | 189ms |
| 9/30/2026, 5:00:00 PM | 100% | 1 | 156ms |
| 9/30/2026, 7:00:00 PM | 100% | 1 | 178ms |
| 9/30/2026, 9:00:00 PM | 100% | 1 | 176ms |
| 9/30/2026, 11:00:00 PM | 100% | 1 | 233ms |
| 10/1/2026, 1:00:00 AM | 100% | 1 | 156ms |
| 10/1/2026, 3:00:00 AM | 100% | 1 | 245ms |
| 10/1/2026, 5:00:00 AM | 100% | 1 | 174ms |
| 10/1/2026, 7:00:00 AM | 100% | 1 | 168ms |
| 10/1/2026, 9:00:00 AM | 100% | 1 | 175ms |
| 10/1/2026, 11:00:00 AM | 100% | 1 | 217ms |
| 10/1/2026, 1:00:00 PM | 100% | 1 | 170ms |
| 10/1/2026, 3:00:00 PM | 100% | 1 | 93ms |
| 10/1/2026, 5:00:00 PM | 100% | 1 | 200ms |
| 10/1/2026, 7:00:00 PM | 100% | 1 | 196ms |
| 10/1/2026, 9:00:00 PM | 100% | 1 | 119ms |
| 10/1/2026, 11:00:00 PM | 100% | 1 | 162ms |
| 10/2/2026, 1:00:00 AM | 100% | 1 | 263ms |
| 10/2/2026, 3:00:00 AM | 100% | 1 | 181ms |
| 10/2/2026, 5:00:00 AM | 100% | 1 | 153ms |
| 10/2/2026, 7:00:00 AM | 100% | 1 | 458ms |
| 10/2/2026, 9:00:00 AM | 100% | 1 | 150ms |
| 10/2/2026, 11:00:00 AM | 100% | 1 | 1230ms |
| 10/2/2026, 1:00:00 PM | 100% | 1 | 1124ms |
| 10/2/2026, 3:00:00 PM | 100% | 1 | 164ms |
| 10/2/2026, 5:00:00 PM | 100% | 1 | 277ms |
| 10/2/2026, 7:00:00 PM | 100% | 1 | 596ms |
| 10/2/2026, 9:00:00 PM | 100% | 1 | 368ms |
| 10/2/2026, 10:00:00 PM | 100% | 1 | 85ms |
| 10/3/2026, 12:00:00 AM | 100% | 1 | 159ms |
| 10/3/2026, 2:00:00 AM | 100% | 1 | 159ms |
| 10/3/2026, 4:00:00 AM | 100% | 1 | 148ms |
| 10/3/2026, 6:00:00 AM | 100% | 1 | 153ms |
| 10/3/2026, 8:00:00 AM | 100% | 1 | 308ms |
| 10/3/2026, 10:00:00 AM | 100% | 1 | 813ms |
| 10/3/2026, 12:00:00 PM | 100% | 1 | 178ms |
| 10/3/2026, 2:00:00 PM | 100% | 1 | 259ms |
| 10/3/2026, 4:00:00 PM | 100% | 1 | 264ms |
| 10/3/2026, 6:00:00 PM | 100% | 1 | 163ms |
| 10/3/2026, 8:00:00 PM | 100% | 1 | 149ms |
| 10/3/2026, 11:00:00 PM | 100% | 1 | 98ms |
| 10/4/2026, 1:00:00 AM | 100% | 1 | 156ms |
| 10/4/2026, 2:00:00 AM | 100% | 1 | 184ms |
| 10/4/2026, 4:00:00 AM | 100% | 1 | 131ms |
| 10/4/2026, 6:00:00 AM | 100% | 1 | 275ms |
| 10/4/2026, 8:00:00 AM | 100% | 1 | 351ms |
| 10/4/2026, 1:00:00 PM | 100% | 1 | 239ms |
| 10/4/2026, 3:00:00 PM | 100% | 1 | 138ms |
| 10/4/2026, 5:00:00 PM | 100% | 1 | 167ms |
| 10/4/2026, 7:00:00 PM | 100% | 1 | 150ms |
| 10/4/2026, 9:00:00 PM | 100% | 1 | 298ms |
| 10/5/2026, 2:00:00 AM | 100% | 1 | 90ms |
| 10/5/2026, 7:00:00 AM | 100% | 1 | 147ms |
| 10/5/2026, 9:00:00 AM | 100% | 1 | 166ms |
| 10/5/2026, 11:00:00 AM | 100% | 1 | 866ms |
| 10/5/2026, 1:00:00 PM | 100% | 1 | 134ms |
| 10/5/2026, 2:00:00 PM | 100% | 1 | 340ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 49
- Activity
- 2
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
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- NameCheap, Inc.
- Domain registered
- 2026-05-22
- Hosting network
- CLOUDFLARENET
- Hosting country
- —
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 10/5/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 9/6/2026 | 1 | 0.01 | 1 |
| 9/8/2026 | 1 | 0.01 | 1 |
| 9/9/2026 | 1 | 0.01 | 1 |
| 9/10/2026 | 1 | 0.01 | 1 |
| 9/16/2026 | 2 | 0.26 | 2 |
| 9/17/2026 | 2 | 0.01 | 2 |
| 9/23/2026 | 1 | 0.01 | 1 |
| 9/28/2026 | 1 | 0.01 | 1 |
| 9/29/2026 | 9 | 4.1 | 1 |
| 9/30/2026 | 5 | 0.02 | 3 |
| 10/1/2026 | 1 | 0.01 | 1 |
| 10/5/2026 | 2 | 0.02 | 2 |
This payout wallet is shared: figures cover all 10 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.
Response schema
{
"properties": {
"_meta": {
"type": "object"
},
"checked_at": {
"description": "When the live probe ran. The whole value of this response is that it was taken at this instant; it is never cached.",
"format": "date-time",
"type": "string"
},
"checks": {
"description": "One block per check, each carrying its own status, universe, basis and as_of date. No figure in one block is divided by a figure in another.",
"properties": {
"circular": {
"type": "object"
},
"contract": {
"type": "object"
},
"liveness": {
"type": "object"
},
"paid_fulfillment": {
"description": "Independent third-party paid-verification result, re-served under CC-BY 4.0. Carries status, last_paid_attempt_at (the date the SOURCE observed it, never defaulted to now), basis, attribution_url, and the settlement tx_hash where one was published. Absent coverage returns not_assessed with a basis naming why.",
"type": "object"
},
"price": {
"type": "object"
},
"settlement": {
"type": "object"
}
},
"type": "object"
},
"contract_and_request_ok": {
"description": "The combined verdict (0.6). true only when the live contract matched your expectations (route === true) AND your own declared request passed pre-flight (checks.requestPreflight.status === \"pass\"). false when either term is bad - including when YOUR request is missing a parameter the challenge declares required. The STRING \"not_assessed\" when a term was never established, most often because you passed no intended_params or intended_params_empty, so there was no request of yours to clear; that is not a soft yes and not a no. Test with contract_and_request_ok === true. It does not replace route, which is unchanged, and it is NOT a clearance - read contract_and_request_ok_excludes.",
"oneOf": [
{
"type": "boolean"
},
{
"const": "not_assessed",
"type": "string"
}
]
},
"contract_and_request_ok_excludes": {
"description": "Every risk category the conjunction does NOT cover, each with the field where that category's own verdict lives and what it can be doing while contract_and_request_ok is true: settlement recency, an unassessed circular signal, attribution divergence, a payTo-only divergence from the seller's published config, a divergent second challenge channel, and price against the category median. The list is STATIC - it says what the formula leaves out, not how this endpoint scored, so coverage can never be inferred from an absence.",
"items": {
"properties": {
"category": {
"type": "string"
},
"note": {
"type": "string"
},
"where": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"evidence": {
"description": "One row per fact, each with the source it came from and the time it is as-of. Probe rows are as-of now; snapshot and classification rows are as-of their own dates, which are older.",
"items": {
"properties": {
"check": {
"type": "string"
},
"detail": {
"type": "string"
},
"observed_at": {
"format": "date-time",
"type": "string"
},
"source": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"expectations_supplied": {
"type": "object"
},
"mpp": {
"description": "Decoded MPP challenges from the live 402, with checks against the caller's expectations. Null when the seller offers no MPP challenge.",
"properties": {
"challenges": {
"items": {
"properties": {
"amount": {
"description": "Base units, as the seller wrote them.",
"type": [
"string",
"null"
]
},
"amount_usd": {
"description": "Six decimals, only for the Tempo mainnet USDC.e token; null otherwise.",
"type": [
"string",
"null"
]
},
"checks": {
"properties": {
"price": {
"enum": [
"match",
"mismatch",
"not_checked",
"inconclusive"
],
"type": "string"
},
"recipient": {
"enum": [
"match",
"mismatch",
"not_checked",
"inconclusive",
"not_applicable"
],
"type": "string"
},
"record": {
"enum": [
"inconclusive",
"not_applicable"
],
"type": "string"
}
},
"type": "object"
},
"currency": {
"type": [
"string",
"null"
]
},
"index": {
"description": "Zero-based position in header order.",
"type": "integer"
},
"intent": {
"type": [
"string",
"null"
]
},
"method": {
"description": "tempo (on-chain USDC.e) or stripe (card).",
"type": [
"string",
"null"
]
},
"realm": {
"type": [
"string",
"null"
]
},
"recipient": {
"description": "On-chain recipient for a tempo challenge; null for stripe.",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
},
"matched_rail": {
"description": "Which rail the pay_to you gave matched: x402 or tempo. Null when you gave no pay_to or it matched neither.",
"enum": [
"x402",
"tempo",
null
],
"type": [
"string",
"null"
]
},
"result": {
"enum": [
"ok",
"mismatch",
"inconclusive"
],
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"paddock_url": {
"description": "The paddock.finance/s/<domain> service page for this target, when one exists; null otherwise. Additive, non-breaking (no schema_version bump).",
"type": [
"string",
"null"
]
},
"reason_codes": {
"description": "Stable, append-only vocabulary, e.g. live_402_observed, contract_mismatch_price, circular_flagged_cluster_member, settlement_never_observed.",
"items": {
"type": "string"
},
"type": "array"
},
"route": {
"description": "true = the endpoint asked for payment and the contract you stated matched. false = do not pay. \"inconclusive\" = either we could not read a 402, so we cannot vouch for what it will charge you, or you supplied no pay_to and no expect_* so there was nothing to compare (reason code no_expectations_supplied).",
"oneOf": [
{
"type": "boolean"
},
{
"const": "inconclusive",
"type": "string"
}
]
},
"route_note": {
"type": "string"
},
"route_state": {
"description": "route_state carries the same verdict as route, always as a string (\"true\", \"false\", \"inconclusive\"), for clients that cannot type a boolean-or-string field.",
"enum": [
"true",
"false",
"inconclusive"
],
"type": "string"
},
"schema_version": {
"description": "Bumped when a stored response stops being comparable to a live one: a breaking shape change, a change to what an existing field means, or a new verdict the older version did not emit. Store it with the verdict - a verdict is only comparable to another at the same version.",
"type": "string"
},
"summary": {
"type": "string"
},
"target": {
"description": "What was probed, what the wallet resolved to, and which wallet the circular check used.",
"type": "object"
},
"tool": {
"const": "verify_before_pay",
"type": "string"
}
},
"type": "object"
}