List of transfers
Returns a paginated list of transfers for the current account with basic risk information and metadata.
HTTP Request
GET /v1/transfers/
Query parameters
{
"page": 1,
"page_size": 20,
"client_id": "string | null",
"direction": "incoming | outgoing | null",
"network": "string | null",
"token_id": "string | null",
"token_symbol": "string | null",
"tx_hash": "string | null",
"input_address": "string | null",
"output_address": "string | null",
"registered_from": "2025-04-01",
"registered_to": "2025-04-30",
"occurred_from": "2025-04-01",
"occurred_to": "2025-04-30",
"risk_level": "string | null",
"counterparty_name": "string | null",
"counterparty_category": "string | null"
}
Field descriptions
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number within the paginated result set. Defaults to 1. |
page_size | integer | No | Number of results to return per page. Defaults to 20. |
client_id | string | No | Filter by external client ID. |
direction | string | No | Filter by transfer direction: incoming or outgoing. |
network | string | No | Filter by blockchain network code (e.g. ETH, TRX, BTC). |
token_id | string | No | Filter by token ID. Use native for native coins. |
token_symbol | string | No | Filter by token symbol (e.g. USDT, ETH). |
tx_hash | string | No | Filter by specific transaction hash. |
input_address | string | No | Filter by sender address. |
output_address | string | No | Filter by recipient address. |
registered_from | date | No | Filter by registration time from (ISO 8601 date). |
registered_to | date | No | Filter by registration time to (ISO 8601 date). |
occurred_from | date | No | Filter by occurrence time from (ISO 8601 date). |
occurred_to | date | No | Filter by occurrence time to (ISO 8601 date). |
risk_level | string | No | Filter by risk level: none, low, medium, high, severe, undefined. |
counterparty_name | string | No | Filter by counterparty entity name. |
counterparty_category | string | No | Filter by counterparty entity category code. |
Example request
GET /v1/transfers/?page=1&page_size=10&network=TRX&direction=incoming&occurred_from=2025-04-01&occurred_to=2025-04-30 HTTP/1.1
Host: kyt-api.bitok.org
API-KEY-ID: <your_api_key_id>
API-TIMESTAMP: <timestamp>
API-SIGNATURE: <signature>
Response
Returns a paginated object with transfers in the items field.
Pagination fields
| Field | Type | Description |
|---|---|---|
page | integer | Current page number (starts from 1). |
page_size | integer | Number of items per page. |
total_pages | integer | Total number of pages. |
total_items | integer | Total number of items matching the query. |
items | array | Array of transfer objects (REGISTERED_TRANSFER_EXTRA). |
Transfer object (REGISTERED_TRANSFER_EXTRA)
| Field | Type | Description |
|---|---|---|
id | string | Transfer UUID. |
client_id | string / null | External client ID (if provided). |
attempt_id | string / null | External attempt ID (if provided). |
registered_at | string (ISO8601) | When the transfer/attempt was registered in BitOK. |
risk_level | string | Aggregated risk level. Common values: none, low, medium, high, severe, undefined. |
risk_score | number / null | Numerical risk score. |
network | string | Blockchain network code (e.g. TRX, ETH). |
token_id | string / null | Token identifier (native for chain-native assets; or token contract/address). |
token_symbol | string / null | Token symbol (e.g. USDT, ETH). |
tx_status | string | Transaction binding status. Common values: none, binding, bound, not_found. |
tx_hash | string / null | Transaction hash (if provided / known). |
occurred_at | string (ISO8601) / null | On-chain transaction time (if known). |
input_address | string / null | Sender address (for incoming transfers; may be null until bound). |
output_address | string / null | Recipient address (for outgoing transfers; may be null until bound). |
direction | string | incoming or outgoing. |
amount | number / null | Transfer amount (may be null until parsed/bound). |
value_in_fiat | number / null | Fiat value in fiat_currency (may be null). |
check_state | object | Per-check state object (see below). |
fiat_currency | string | Fiat currency code (default USD). |
check_state object
| Field | Type | Description |
|---|---|---|
exposure | string | Exposure check state (e.g. none, queued, checking, checked, error). |
exposure_checked_at | string (ISO8601) / null | When exposure state was last updated. |
counterparty | string | Counterparty check state (e.g. none, queued, checking, checked, error). |
counterparty_checked_at | string (ISO8601) / null | When counterparty state was last updated. |
sanctions | string | Sanctions check state/result (e.g. none, queued, checking, checked, error). |
sanctions_checked_at | string (ISO8601) / null | When sanctions state was last updated. |
Example response
{
"page": 1,
"page_size": 20,
"total_pages": 7,
"total_items": 138,
"items": [
{
"id": "07067ca4-8552-47d3-b73b-61d305ddb8c5",
"client_id": "id0001",
"attempt_id": null,
"registered_at": "2026-01-29T10:09:59.199737+03:00",
"risk_level": "medium",
"risk_score": 0.517604,
"network": "TRX",
"token_id": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"token_symbol": "USDT",
"tx_status": "bound",
"tx_hash": "60389a97a30523c696b904a5faadf93521a4478f2d8dbcef9c519751148b008d",
"occurred_at": "2026-01-23T11:19:36Z",
"input_address": "TYR4w7SWcaWCHHoTvvR5aVWh6y7pa6wgdK",
"output_address": "TCM4UnCxL6p2KHbZeKETirjcDFJDCwhtqs",
"direction": "incoming",
"amount": 348000.0,
"value_in_fiat": 348117.24,
"check_state": {
"exposure": "checked",
"exposure_checked_at": "2026-01-30T10:52:47.486422Z",
"counterparty": "none",
"counterparty_checked_at": null,
"sanctions": "none",
"sanctions_checked_at": null
},
"fiat_currency": "USD"
}
]
}
Try it
GET/v1/transfers/
API KEY ID
API KEY SECRET
Query params (JSON)
HTTP Request
Press "Send Request" to generate HTTP request.
HTTP …
{
// Response will be shown here after the request.
}