Skip to main content

How to bind a transaction to a transfer attempt

Each transfer attempt can be upgraded to a full transfer by binding a blockchain transaction using its hash.

To bind a transaction to a transfer attempt using POST /v1/transfers/{id}/bind-transaction/, you must provide the following fields:

  • tx_hash — the hash of the transaction the transfer belongs to.
  • token_id — token identifier (required if not defined before).
  • output_address — recipient address (required if not defined before). Required for deposit attempts only.

Request

curl -X POST "https://kyt-api.bitok.org/v1/transfers/3c6b874e-f76c-42b4-8a08-e13fc50fa6a5/bind-transaction/"   --header "Content-Type: application/json"   --header "Accept: application/json"   --header "API-KEY-ID:{KEY_ID}"   --header "API-TIMESTAMP:{TIMESTAMP}"   --header "API-SIGNATURE:{SIGNATURE}"   --data '{
"tx_hash": "0xc9ebe3254e683705c2553e268b915bf310995bf7540285146901b17fc3b437e6"
}'

Response

{
"id": "3c6b874e-f76c-42b4-8a08-e13fc50fa6a5",
"client_id": "id0001",
"attempt_id": "0a805206bab649a68b3408032a7352e6",
"registered_at": "2023-12-18T14:15:02.266520+03:00",
"occurred_at": "2023-12-18T14:15:02.258132+03:00",
"direction": "outgoing",
"risk_level": "medium",
"network": "ETH",
"token_id": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"token_symbol": "USDT",
"tx_hash": "0xc9ebe3254e683705c2553e268b915bf310995bf7540285146901b17fc3b437e6",
"tx_status": "binding",
"input_address": null,
"output_address": "0x92a5b444907902daa39de28a82ef66af12e7f170",
"amount": 500,
"fiat_currency": "USD",
"value_in_fiat": 499.67,
"check_state": {
"exposure": "queued",
"exposure_checked_at": null,
"counterparty": "checked",
"counterparty_checked_at": "2023-12-18T11:15:04.733475Z",
"sanctions": "checked",
"sanctions_checked_at": "2023-12-18T11:15:04.733475Z"
}
}

After binding

When the transaction is fully bound, the transfer is enriched with all on-chain data and updated risk checks.

Request

curl -X GET "https://kyt-api.bitok.org/v1/transfers/3c6b874e-f76c-42b4-8a08-e13fc50fa6a5/"   --header "Accept: application/json"   --header "API-KEY-ID:{KEY_ID}"   --header "API-TIMESTAMP:{TIMESTAMP}"   --header "API-SIGNATURE:{SIGNATURE}"

Response

{
"id": "3c6b874e-f76c-42b4-8a08-e13fc50fa6a5",
"client_id": "id0001",
"attempt_id": "0a805206bab649a68b3408032a7352e6",
"registered_at": "2023-12-18T14:15:02.266520+03:00",
"occurred_at": "2023-12-18T13:52:35+03:00",
"direction": "outgoing",
"risk_level": "medium",
"network": "ETH",
"token_id": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"token_symbol": "USDT",
"tx_hash": "0xc9ebe3254e683705c2553e268b915bf310995bf7540285146901b17fc3b437e6",
"tx_status": "bound",
"input_address": "0x3a2c752d3a78a2234b0caf8d6bcc2ec4c9dedfa8",
"output_address": "0x92a5b444907902daa39de28a82ef66af12e7f170",
"amount": 500,
"fiat_currency": "USD",
"value_in_fiat": 499.67,
"check_state": {
"exposure": "checked",
"exposure_checked_at": "2023-12-18T11:37:54.204528Z",
"counterparty": "checked",
"counterparty_checked_at": "2023-12-18T11:37:54.204528Z",
"sanctions": "checked",
"sanctions_checked_at": "2023-12-18T11:37:54.204528Z"
}
}