$0.50 — Transaction Check (KYT): decode + Tier 4 BFS + policy → alerts
x402 Endpoints (USDC pay-per-call)
GET /check-transfer/{chain}/{tx_hash}
Transaction Check (KYT) — decode an inbound tx, exposure-analyse every sender, return policy alerts. Paid $0.50.
GET
$0.50 — Transaction Check (KYT): decode + Tier 4 BFS + policy → alerts
Tier: $0.50 · Asset: USDC · Network: Base
- Decodes the transaction on the target chain (parses Transfer events for ERC-20 / TRC-20 + native value).
- Analyses every sender via Aegis Tier 4 BFS exposure.
- Builds a USD-weighted composite category vector across senders.
- Applies the BitOK Standard AML Policy (281 rules) to produce
policy_alerts[].
check_id + a free retry URL —
you pay only once per (chain, tx_hash) tuple.
Path parameters
| Name | Type | Description |
|---|---|---|
chain | string | One of ETH, BSC, POLYGON, BASE, ARBITRUM, TRON. Case-insensitive. |
tx_hash | string | 32-byte transaction hash, with or without 0x prefix. |
Request
Response — 200 (completed within 30 s)
Response — 202 (still running past 30 s)
Sender attribution semantics
TheentityName / entityAddress on each policy alert reference the
top-USD sender that exposes the category, not the dirty entity
itself. Format: Sender <label-or-short-addr> (exposed to <slug>).
A row reading Sender 0xab…ef01 (exposed to mixer) means: this
address sent value into the analysed transaction, AND this address
has historical exposure to Mixer category through its own activity —
NOT that the address IS a mixer.
This indirection matters for compliance reporting; see the docstring
in aggregator.py for the trade-off rationale.
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | Unsupported chain slug, or tx_hash doesn’t match the 32-byte regex |
| 402 | (x402) | Missing or invalid X-PAYMENT proof |
| 502 | tx_check_failed_parse | Transaction not found on chain, or unparseable |
| 502 | tx_check_failed_rpc | Etherscan / TronGrid rate-limit or 5xx after 3 retries |
| 502 | tx_check_failed_aggregate | Composite aggregator crashed (rare) |
| 502 | upstream_unavailable | Internal aegis-api unreachable |
check_id so you can correlate logs.
No refund on failure — same doctrine as /check-address.
