Free retry — fetch deferred tx_check result by check_id (no payment)
x402 Endpoints (USDC pay-per-call)
GET /check-transfer-result/{check_id}
Free, idempotent retry — fetch the deferred result of a paid /check-transfer submission.
GET
Free retry — fetch deferred tx_check result by check_id (no payment)
Tier: free (rate-limited) · No payment required
GET /check-transfer/{chain}/{tx_hash}.
The paid submit waits up to 30 s for the underlying check to complete;
if it doesn’t finish in time, the 202 response includes a check_id
that you bring here to fetch the deferred result.
You pay $0.50 once per tx_hash on the paid submit. Subsequent
calls to this endpoint for the same check_id are free — fetch as
many times as you need until you get a terminal answer.
Why hyphenated /check-transfer-result/...
The path is a deliberate sibling of /check-transfer/..., not a
child. The x402 SDK matches /check-transfer/:chain/:tx_hash as a regex,
so /check-transfer/result/<id> would otherwise look like a paid submit
with chain="result" and double-charge. The hyphenated path is the
non-ambiguous sibling.
Path parameters
| Name | Type | Description |
|---|---|---|
check_id | string (uuid) | The check_id returned in the 202 response from /check-transfer/{chain}/{tx_hash} |
Request
X-PAYMENT header — endpoint is free. No Authorization either —
the check_id (a 122-bit-entropy UUID) is the only token needed.
Response — 200 (completed)
Same body shape as the synchronous 200 from/check-transfer/{chain}/{tx_hash} —
see its docs
for the full TxCheckResult schema.
Response — 202 (still running)
Response — 502 (failed)
Rate limit
Free endpoint, rate-limited at the slowapi layer (a stranger guessingcheck_ids — UUID, 122 bits of entropy — can’t realistically pull
other people’s results, but the limit caps brute-force enumeration
cost). Typical clients won’t hit the limit; if you do, you’ll see
HTTP 429 with a Retry-After header.Path Parameters
Response
Completed — full TxCheckResult body
The response is of type TxCheckResult · object.

