Skip to main content
GET
/
check-transfer-result
/
{check_id}
Free retry — fetch deferred tx_check result by check_id (no payment)
curl --request GET \
  --url https://x402.aegis-kyt.com/check-transfer-result/{check_id}
{
  "schema_version": 1,
  "check_id": "8f1f1c2e-4b8e-4f6a-9b3c-2a7d9e5c1f00",
  "status": "completed",
  "chain": "TRON",
  "tx_hash": "3dba6516a1f9a1b2c3d4e5f60718293a4b5c6d7e8f901234567890abcdef1234",
  "parse_result": {
    "transfers": [
      {
        "from": "TXmVpin5vq5gdZsciyyjdZgKRUju4st1wM",
        "to": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
        "asset": "USDT",
        "value": "2500.000000",
        "value_usd": 2500
      }
    ]
  },
  "composite_result": {
    "risk_level": "medium",
    "risk_score": 38,
    "risk_categories": [
      "sanctions_exposure"
    ],
    "origin_sources": [
      {
        "category": "exchange",
        "share": 0.81
      },
      {
        "category": "sanctions_exposure",
        "share": 0.19
      }
    ],
    "cold_enrich": {
      "candidates": 1,
      "folded": 1
    }
  },
  "policy_result": {
    "risk_level": "medium",
    "alerts": [],
    "policy": "standard"
  },
  "decode_warnings": []
}
Tier: free (rate-limited) · No payment required
Companion to 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

NameTypeDescription
check_idstring (uuid)The check_id returned in the 202 response from /check-transfer/{chain}/{tx_hash}

Request

curl https://x402.aegis-kyt.com/check-transfer-result/11111111-2222-3333-4444-555555555555
No 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)

{
  "status":   "running",
  "check_id": "11111111-2222-3333-4444-555555555555"
}
Wait a few seconds and retry. Typical Tier 4 BFS completes in 5-30 seconds; slow chains or long sender lists can take up to ~3 minutes.

Response — 502 (failed)

{
  "error": {
    "code":     "tx_check_failed",
    "message":  "tx_check failed_parse: tx not found",
    "check_id": "11111111-2222-3333-4444-555555555555"
  }
}
Same no-refund doctrine as the paid submit.

Rate limit

Free endpoint, rate-limited at the slowapi layer (a stranger guessing check_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

check_id
string<uuid>
required

Response

Completed — full TxCheckResult body

The response is of type TxCheckResult · object.