Deep scan of a Base USDC payment by tx hash: same checks and verdict as /check (confirm…
Deep scan of a Base USDC payment by tx hash: same checks and verdict as /check (confirmations, payTo/amount match, fake-token/lookalike warnings, external|self_funded|unknown funding) but reads the payer's FULL inbound USDC history from the Blockscout index (…
by paycheck.hectichustle.workers.dev · discovered, not yet claimed by its owner · updated 2026-10-12
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
Deep scan of a Base USDC payment by tx hash: same checks and verdict as /check (confirmations, payTo/amount match, fake-token/lookalike warnings, external|self_funded|unknown funding) but reads the payer's FULL inbound USDC history from the Blockscout index (no window, no early stop), plus coverage stats and a recheckable sha256 receipt. Not charged if the index is down. Body: {txHash, expectedPayTo?, expectedAmount?}.
Tags: base · usdc · payments · verification · onchain · bazaar
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-12
{
"expectedAmount": "1",
"expectedPayTo": "0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE",
"txHash": "0xc37cbdfa44230f05129348d5160254abf354791d79de68228b201ba09de143c1"
}{
"block": 52409752,
"confirmations": 1200,
"confirmed": true,
"coverage": {
"blocksCovered": 52409753,
"complete": true,
"coveragePct": 100,
"endpoints": [
"quicknode (keyed)"
],
"getLogsChunks": 0,
"historyComplete": true,
"inboundTransfers": 2,
"indexer": "blockscout pro (keyed)",
"indexerPages": 1,
"rpcCalls": 4,
"source": "blockscout",
"uniqueFunders": 1,
"windowBlocks": 52409753,
"windowFrom": 0,
"windowTo": 52409752
},
"found": true,
"funding": {
"scannedBlocks": {
"complete": true,
"from": 0,
"history": "full",
"to": 52409752,
"windowBlocks": 52409753
},
"source": "blockscout",
"topFunders": [
{
"count": 2,
"from": "0x86bafb3916943fbba78e7add6c25a230ec27df44",
"total": "161.651325"
}
],
"verdict": "external"
},
"match": {
"amountMatch": true,
"ok": true,
"payToMatch": true
},
"mode": "live_paid_deep",
"payment": {
"amount": "1",
"from": "0xfc1e390266f3b29179b5d63a7937a689d1e5279a",
"to": "0x509e55c4f898b43c856fb0e51048b1b7bfbc9ede"
},
"receipt": {
"blocksScanned": {
"complete": true,
"from": 0,
"to": 52409752
},
"priceCharged": "0.05 USDC",
"reason": null,
"recheck": {
"hash": "0x…",
"hashAlg": "sha256(canonical JSON, keys sorted, no whitespace)",
"payload": {
"blockRange": {
"from": 0,
"to": 52409752
},
"chain": "eip155:8453",
"source": "blockscout",
"v": 2
}
},
"rpcCalls": 4,
"verdict": "external"
},
"summary": "1 USDC from 0xfc1e… to 0x509e… at block 52409752. Matches expected payment. Payer was funded externally.",
"warnings": []
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/33183.jsonfor the price and payment options. - Pay. Call
GET https://paycheck.hectichustle.workers.dev/check/deep. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.05 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 1 calls · 1 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.05 | 0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"amountUsd": 0.05,
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"properties": {
"authorization": {
"description": "Present when authorization was given: {from, nonce, used, chainTime, validBefore, expired}",
"type": "object"
},
"block": {
"type": [
"integer",
"null"
]
},
"confirmations": {
"type": "integer"
},
"confirmed": {
"type": "boolean"
},
"coverage": {
"description": "Deep scan coverage stats",
"properties": {
"blocksCovered": {
"type": "integer"
},
"complete": {
"type": "boolean"
},
"coveragePct": {
"type": "number"
},
"endpoints": {
"items": {
"type": "string"
},
"type": "array"
},
"historyComplete": {
"type": "boolean"
},
"inboundTransfers": {
"type": "integer"
},
"indexer": {
"type": "string"
},
"indexerMode": {
"type": "string"
},
"indexerPages": {
"type": "integer"
},
"rpcCalls": {
"type": "integer"
},
"source": {
"type": "string"
},
"uniqueFunders": {
"type": "integer"
},
"windowBlocks": {
"type": "integer"
},
"windowFrom": {
"type": "integer"
},
"windowTo": {
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"found": {
"type": "boolean"
},
"funding": {
"properties": {
"payeeFundedPayer": {
"type": "boolean"
},
"reason": {
"description": "Only present when verdict=unknown",
"enum": [
"no_inbound_in_window",
"scan_incomplete"
],
"type": "string"
},
"scannedBlocks": {
"properties": {
"complete": {
"type": "boolean"
},
"from": {
"type": "integer"
},
"to": {
"type": "integer"
}
},
"type": "object"
},
"topFunders": {
"type": "array"
},
"verdict": {
"enum": [
"external",
"self_funded",
"unknown"
],
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"match": {
"properties": {
"amountMatch": {
"type": [
"boolean",
"null"
]
},
"ok": {
"type": "boolean"
},
"payToMatch": {
"type": [
"boolean",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"mode": {
"enum": [
"live_paid_deep"
],
"type": "string"
},
"payment": {
"properties": {
"amount": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"receipt": {
"properties": {
"blocksScanned": {
"properties": {
"complete": {
"type": "boolean"
},
"from": {
"type": "integer"
},
"to": {
"type": "integer"
}
},
"type": [
"object",
"null"
]
},
"priceCharged": {
"description": "'0.01 USDC' on /check, '0' on /demo",
"type": "string"
},
"reason": {
"enum": [
"no_inbound_in_window",
"scan_incomplete",
null
],
"type": [
"string",
"null"
]
},
"rpcCalls": {
"type": "integer"
},
"verdict": {
"enum": [
"external",
"self_funded",
"unknown",
null
],
"type": [
"string",
"null"
]
}
},
"required": [
"blocksScanned",
"rpcCalls",
"priceCharged",
"verdict",
"reason"
],
"type": "object"
},
"settlement": {
"description": "Added field: did the payment settle on-chain?",
"properties": {
"note": {
"description": "For settled: delivery/response by the seller cannot be verified on-chain",
"type": "string"
},
"reason": {
"enum": [
"confirmed_onchain",
"pending_confirmation",
"authorization_used",
"tx_not_found",
"tx_reverted",
"no_usdc_transfer",
"authorization_unused",
"authorization_unused_or_expired",
"authorization_unused_pending"
],
"type": "string"
},
"verdict": {
"enum": [
"settled",
"not_settled"
],
"type": "string"
}
},
"type": "object"
},
"status": {
"type": [
"string",
"null"
]
},
"summary": {
"type": "string"
},
"timestamp": {
"type": [
"string",
"null"
]
},
"usdcTransfers": {
"items": {
"properties": {
"amount": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"warnings": {
"items": {
"properties": {
"code": {
"enum": [
"fake_token",
"lookalike_address",
"tx_reverted",
"no_usdc_transfer"
],
"type": "string"
},
"message": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"found",
"summary",
"mode",
"receipt"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {
"authorization": {},
"block": 0,
"confirmations": 0,
"confirmed": true,
"coverage": {
"blocksCovered": 0,
"complete": true,
"coveragePct": 0,
"endpoints": [
"string"
],
"historyComplete": true,
"inboundTransfers": 0,
"indexer": "string",
"indexerMode": "string",
"indexerPages": 0,
"rpcCalls": 0,
"source": "string",
"uniqueFunders": 0,
"windowBlocks": 0,
"windowFrom": 0,
"windowTo": 0
},
"found": true,
"funding": {
"payeeFundedPayer": true,
"reason": "no_inbound_in_window",
"scannedBlocks": {
"complete": true,
"from": 0,
"to": 0
},
"topFunders": [
"value"
],
"verdict": "external"
},
"match": {
"amountMatch": true,
"ok": true,
"payToMatch": true
},
"mode": "live_paid_deep",
"payment": {
"amount": "string",
"from": "string",
"to": "string"
},
"receipt": {
"blocksScanned": {
"complete": true,
"from": 0,
"to": 0
},
"priceCharged": "string",
"reason": "no_inbound_in_window",
"rpcCalls": 0,
"verdict": "external"
},
"settlement": {
"note": "string",
"reason": "confirmed_onchain",
"verdict": "settled"
},
"status": "string",
"summary": "string",
"timestamp": "string",
"usdcTransfers": [
{
"amount": "string",
"from": "string",
"to": "string"
}
],
"warnings": [
{
"code": "fake_token",
"message": "string"
}
]
},
"type": "string"
}Examples
curl "https://paycheck.hectichustle.workers.dev/check/deep"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://paycheck.hectichustle.workers.dev/check/deep");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://paycheck.hectichustle.workers.dev/check/deep")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- paycheck.hectichustle.workers.dev
- Endpoint
- https://paycheck.hectichustle.workers.dev/check/deep
- Machine-readable
/resources/33183.json