Skip to content

Deposits ​

Deposit records and rescans

List deposits ​

http
GET /v1/deposits

API key scope: read

List deposits: ordered by deposit_id descending, cursor pagination

Parameters

NameInTypeRequiredDescription
user_idquerystringnoUser ID: optional
chain_codequerystringnoChain code: optional
token_codequerystringnoToken code: optional
statusquerystringnoStatus: optional
tx_hashquerystringnoTransaction hash: optional
start_timequerystringnoStart time: by detection time, Unix milliseconds, inclusive
end_timequerystringnoEnd time: by detection time, Unix milliseconds, inclusive
page_sizequeryintegernoPage size: default 20, max 100 (larger values are treated as 100)
page_tokenquerystringnoPage token: the next_page_token from the previous page; omit for the first page. Opaque — pass it back unchanged

Response (200, DepositPage)

FieldTypeDescription
depositsobject (Deposit)[]
deposits[].amountstringAmount (main unit)
deposits[].amount_rawstringAmount (integer, smallest unit)
deposits[].block_numberstring
deposits[].chain_codestring
deposits[].confirm_timestringConfirmation / credit time (Unix milliseconds); 0 if not confirmed
deposits[].confirmationsinteger
deposits[].create_timestringDetection time (Unix milliseconds)
deposits[].decimalsinteger
deposits[].deposit_idstring
deposits[].from_addressstringSender address; for internal transfers, the platform's outbound hot wallet address
deposits[].internalbooleanWhether it is an internal transfer (the sender is another user on the platform; not on-chain, credited instantly)
deposits[].log_indexintegerLog index within the transaction (distinguishes multiple transfers in one transaction)
deposits[].statusstringPENDING (confirming, not credited) / CONFIRMED (credited) / FAILED / REORGED / BELOW_MIN (below the minimum deposit; recorded but not credited)
deposits[].to_addressstring
deposits[].token_codestring
deposits[].tx_hashstringOn-chain transaction hash; empty for internal transfers
deposits[].user_idstring
next_page_tokenstringpage_token for the next page; empty means no more pages

Response example:

json
{
  "deposits": [
    {
      "amount": "12.5",
      "amount_raw": "12500000",
      "block_number": "77123456",
      "chain_code": "TRON",
      "confirm_time": "1762650000000",
      "confirmations": 0,
      "create_time": "1762650000000",
      "decimals": 6,
      "deposit_id": "1987654321098752",
      "from_address": "TJRabPrwbZy45sbavfcjinPJC18kjpRTv8",
      "internal": false,
      "log_index": 0,
      "status": "PENDING",
      "to_address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
      "token_code": "USDT",
      "tx_hash": "3f1c0e…(交易哈希)",
      "user_id": "u_10001"
    }
  ],
  "next_page_token": ""
}

On failure the unified error body is returned; see Errors.

Get deposit ​

http
GET /v1/deposits/{deposit_id}

API key scope: read

Get deposit

Parameters

NameInTypeRequiredDescription
deposit_idpathstringyesDeposit ID

Response (200, Deposit)

FieldTypeDescription
amountstringAmount (main unit)
amount_rawstringAmount (integer, smallest unit)
block_numberstring
chain_codestring
confirm_timestringConfirmation / credit time (Unix milliseconds); 0 if not confirmed
confirmationsinteger
create_timestringDetection time (Unix milliseconds)
decimalsinteger
deposit_idstring
from_addressstringSender address; for internal transfers, the platform's outbound hot wallet address
internalbooleanWhether it is an internal transfer (the sender is another user on the platform; not on-chain, credited instantly)
log_indexintegerLog index within the transaction (distinguishes multiple transfers in one transaction)
statusstringPENDING (confirming, not credited) / CONFIRMED (credited) / FAILED / REORGED / BELOW_MIN (below the minimum deposit; recorded but not credited)
to_addressstring
token_codestring
tx_hashstringOn-chain transaction hash; empty for internal transfers
user_idstring

Response example:

json
{
  "amount": "12.5",
  "amount_raw": "12500000",
  "block_number": "77123456",
  "chain_code": "TRON",
  "confirm_time": "1762650000000",
  "confirmations": 0,
  "create_time": "1762650000000",
  "decimals": 6,
  "deposit_id": "1987654321098752",
  "from_address": "TJRabPrwbZy45sbavfcjinPJC18kjpRTv8",
  "internal": false,
  "log_index": 0,
  "status": "PENDING",
  "to_address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
  "token_code": "USDT",
  "tx_hash": "3f1c0e…(交易哈希)",
  "user_id": "u_10001"
}

On failure the unified error body is returned; see Errors.

Rescan by transaction hash ​

http
POST /v1/deposits/rescan

API key scope: deposit

Rescan by transaction hash: re-detect deposits to this user in the transaction (use when a deposit was missed); already-detected deposits are never credited twice

Request body

FieldTypeDescription
chain_codestringChain code
tx_hashstringTransaction hash
user_idstringUser ID: the merchant's own user identifier

Request example:

json
{
  "chain_code": "TRON",
  "tx_hash": "3f1c0e…(交易哈希)",
  "user_id": "u_10001"
}

Response (200, RescanResult)

FieldTypeDescription
chain_codestring
itemsobject (RescanResultItem)[]
items[].amountstringAmount (main unit)
items[].deposit_idstringDeposit ID; empty if the transfer was skipped (e.g. native coin, unregistered token)
items[].log_indexinteger
items[].statusstringDeposit status; SKIPPED if skipped
items[].to_addressstring
messagestring
resultstringACCEPTED: at least one deposit was recorded and awaits confirmation; SKIPPED: nothing to credit
tx_hashstring

Response example:

json
{
  "chain_code": "TRON",
  "items": [
    {
      "amount": "12.5",
      "deposit_id": "1987654321098752",
      "log_index": 0,
      "status": "SKIPPED",
      "to_address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf"
    }
  ],
  "message": "amount below minimum",
  "result": "",
  "tx_hash": "3f1c0e…(交易哈希)"
}

On failure the unified error body is returned; see Errors.