Skip to main content
GET
$0.50 — Transaction Check (KYT): decode + Tier 4 BFS + policy → alerts
Tier: $0.50 · Asset: USDC · Network: Base
Per-tx KYT analysis. The endpoint:
  1. Decodes the transaction on the target chain (parses Transfer events for ERC-20 / TRC-20 + native value).
  2. Analyses every sender via Aegis Tier 4 BFS exposure.
  3. Builds a USD-weighted composite category vector across senders.
  4. Applies the BitOK Standard AML Policy (281 rules) to produce policy_alerts[].
Synchronous wait up to 30 s. If the underlying check completes inside the window, the full result body is returned (HTTP 200). If it’s still running, a 202 is returned with a check_id + a free retry URL — you pay only once per (chain, tx_hash) tuple.

Path parameters

Request

Response — 200 (completed within 30 s)

Response — 202 (still running past 30 s)

Fetch the deferred result for free via the retry URL — see /check-transfer-result/.

Sender attribution semantics

The entityName / 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

Failure responses include the check_id so you can correlate logs. No refund on failure — same doctrine as /check-address.

Path Parameters

chain
enum<string>
required
Available options:
ETH,
BSC,
POLYGON,
BASE,
ARBITRUM,
TRON
tx_hash
string
required
Pattern: ^(0x)?[0-9a-fA-F]{64}$

Response

Completed — full TxCheckResult body

The response is of type TxCheckResult · object.