Batch Get Token Transfer Details#
Query token transfer details within transactions by transaction hash in batches. Up to 20 transaction hashes can be passed per request (comma-separated; duplicate hashes are deduplicated automatically). Results are returned with cursor + limit pagination. This endpoint supports EVM-compatible chains only.
Supported chains: see Get Transaction API Supported Chains (apiName: token-transfer-multi).
Request URL#
GET
https://web3.okx.com/api/v6/explorer/transaction/token-transfer-multiRequest Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
| chainIndex | String | Yes | Unique identifier of the chain, e.g., 1 for ETH and 0 for BTC. See Get Transaction API Supported Chains for supported values. |
| txId | String | Yes | Transaction hash. Separate multiple transactions with commas, up to 20; duplicate hashes are deduplicated automatically. |
| protocolType | String | No | Token protocol type: token_20, token_721, token_1155. If omitted, no protocol type filter is applied. |
| limit | String | No | Number of entries per page. Default is 20, maximum is 100. |
| cursor | String | No | Cursor returned by the previous response. Omit it for the first page. |
Response Parameters#
| Parameter | Type | Description |
|---|---|---|
| limit | String | Maximum number of entries on this page. |
| cursor | String | Cursor for the next page; an empty string means no more pages. Pass it back as-is; clients should not parse or construct it. |
| transactionList | Array | Token transfer list. |
| > txId | String | Transaction hash. |
| > blockHash | String | Block hash. |
| > height | String | Block height. |
| > transactionTime | String | Transaction time, as a Unix timestamp in milliseconds. |
| > from | String | Sender address. |
| > to | String | Recipient address. |
| > isFromContract | Boolean | Whether the from address is a contract address. |
| > isToContract | Boolean | Whether the to address is a contract address. |
| > amount | String | Transaction amount. |
| > tokenId | String | NFT tokenId; an empty string for non-NFT transfers. |
| > symbol | String | Token symbol. |
| > tokenContractAddress | String | Token contract address. |
Request Example#
shell
curl --location --request GET 'https://web3.okx.com/api/v6/explorer/transaction/token-transfer-multi?chainIndex=1&txId=0x1e4996d90e77ee87f6a1a2a071603ee5d55d6dd7b272209b741ff276f4a1c34c&protocolType=token_20' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'
Response Example#
json
{
"code": "0",
"msg": "",
"data": [
{
"limit": "20",
"cursor": "",
"transactionList": [
{
"txId": "0x1e4996d90e77ee87f6a1a2a071603ee5d55d6dd7b272209b741ff276f4a1c34c",
"blockHash": "0x7c1f0d95cbc7c4c018daae6cf3cf4ffef4dee62dfc9444838f4c5122a4899c9f",
"height": "18126486",
"transactionTime": "1694991899000",
"from": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"to": "0x5041ed759dd4afc3a72b8192c143f72f4724081a",
"isFromContract": false,
"isToContract": true,
"amount": "2500",
"tokenId": "",
"symbol": "USDT",
"tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7"
}
]
}
]
}
