Check transfer
Performs a manual AML/KYT check of a single blockchain transfer identified by transaction hash and direction.
Use this endpoint when you already know the on-chain transaction hash and want to evaluate the transfer for AML risk.
HTTP Request
POST /v1/manual-checks/check-transfer/
Request body
The request must specify the network, transaction hash, analysed side of the transfer, and optional token / risk model.
{
"network": "string",
"token_id": "string | null",
"tx_hash": "string",
"output_address": "string",
"direction": "string",
"risk_model": "string | null"
}
Field descriptions
| Field | Type | Required | Description |
|---|---|---|---|
network | string | Yes | Blockchain network code (e.g. ETH, BTC, TRX). |
token_id | string or null | No | Token contract address, or "native" for the chain’s native asset. |
tx_hash | string | Yes | Transaction hash of the transfer to check. |
output_address | string | Yes | Address considered as the client side of this transfer (recipient for incoming, sender for outgoing). |
direction | string | Yes | Direction of the transfer relative to output_address: incoming or outgoing. |
risk_model | string or null | No | Custom risk model ID to apply. If omitted, the default model is used. |
Example request
{
"network": "ETH",
"token_id": "native",
"tx_hash": "0xd74f7e2a5081eb82c1d0a4fbd1859f23bed5fab8280f0aaf9e987019acc973a1",
"output_address": "0x2A6Ced4B10769147824A36e3D646eDA222E50f2A",
"direction": "incoming"
}
Response
Returns a manual check object with current status and risk data for the transfer.
Manual check object
| Field | Type | Description |
|---|---|---|
id | string | ID of the manual check. |
created_at | string (ISO8601) | When the check was created. |
check_type | string | Type of check (e.g. deposit, withdrawal). |
check_status | string | Status of the check: checking, checked. |
checked_at | string or null | When the check was finished (if completed). |
transfer | object or null | Transfer details (network, token, tx hash, addresses, amount, fiat value). Present for transfer checks. |
address | object or null | Address details (used for address-only checks). null for transfer checks. |
risk_level | string | AML risk level: high, medium, low, undefined. |
risk_score | number or null | Numerical risk score. |
fiat_currency | string | Fiat currency code used in risk calculations (USD). |
Example response
{
"id": "dda28996-5aac-4e6c-9844-e4e658b466ca",
"created_at": "2025-11-27T16:46:56.687761+03:00",
"check_type": "deposit",
"check_status": "checking",
"checked_at": null,
"transfer": {
"network": "ETH",
"token_id": "native",
"token_symbol": "ETH",
"tx_status": "bound",
"tx_hash": "0xd74f7e2a5081eb82c1d0a4fbd1859f23bed5fab8280f0aaf9e987019acc973a1",
"occurred_at": "2024-02-29T19:24:59+03:00",
"input_address": "0x98f79674d5f2f777d44e253bfaf905d7491e8cef",
"output_address": "0x2a6ced4b10769147824a36e3d646eda222e50f2a",
"direction": "incoming",
"amount": 7.2181350653139,
"value_in_fiat": 24403.099580450544
},
"address": null,
"risk_level": "undefined",
"risk_score": null,
"fiat_currency": "USD"
}
Try it
POST/v1/manual-checks/check-transfer/
API KEY ID
API KEY SECRET
Body (JSON)
HTTP Request
Press "Send Request" to generate HTTP request.
HTTP …
{
// Response will be shown here after the request.
}