开发者平台

获取代币转账详情#

按链和代币合约地址查询已索引的转账记录,可同时按发送方、接收方、时间和代币数量筛选。每次查询一条链上的一个代币,仅支持 EVM 系公链。

支持的链:见获取交易 API 支持的链,同时匹配 apiName=token-transfer-detail 和目标 chainIndex。

请求地址#

GET
https://web3.okx.com/api/v6/explorer/transaction/token-transfer-detail

请求参数#

参数名类型是否必填描述
chainIndexString是链唯一标识,例如 Ethereum 为 1、BSC 为 56。不接受 chainShortName 请求参数
tokenContractAddressString是目标链上的代币合约地址
fromString否精确筛选发送方地址
toString否精确筛选接收方地址
beginString否起始交易时间,Unix 毫秒时间戳,含边界;同时传入 end 时须满足 begin <= end
endString否结束交易时间,Unix 毫秒时间戳,含边界
minAmountString否最小代币数量,含边界,单位为代币原生数量;同时传入 maxAmount 时须满足 minAmount <= maxAmount
maxAmountString否最大代币数量,含边界,单位为代币原生数量,不是 USD 金额
cursorString否上次响应返回的游标;首页不传。后续请求原样回传,不要解析或自行构造
limitInteger否每页条数,默认 20,取值范围 1–50

未提供的筛选条件不参与过滤;多个筛选条件同时生效。本接口使用 cursor + limit 分页,无状态或协议类型筛选参数。

响应参数#

成功响应使用 code、msg、data 包络,data 是数组,包含当前链和代币的分页结果对象。下表描述该对象及其明细字段。

参数名类型描述
limitString每页条数上限
cursorString下一页游标;空字符串表示没有更多记录。请求时原样回传
transactionListArray当前批次的转账记录;无匹配记录时为空数组
> txidString交易哈希,字段名为小写 txid
> blockHashString区块哈希
> heightString区块高度
> transactionTimeString交易时间,Unix 毫秒时间戳
> fromString发送方地址
> toString接收方地址
> isFromContractBoolean发送方是否为合约地址,可用性依赖数据源
> isToContractBoolean接收方是否为合约地址,可用性依赖数据源
> amountString代币数量,以字符串表示
> amountUsdString可选的 USD 估值;不可用时可能为 null 或省略
> transactionSymbolString代币符号
> methodIdString方法标识;不可用时为空字符串
> tokenContractAddressString代币合约地址
> protocolTypeString数据源提供的代币协议类型
> stateString转账状态,实际可用状态依赖目标链数据源
> tokenIdStringNFT 的代币 ID;不适用时为空字符串

请求示例#

shell
curl --location --request GET 'https://web3.okx.com/api/v6/explorer/transaction/token-transfer-detail?chainIndex=1&tokenContractAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&begin=1694908800000&end=1694995200000&minAmount=10&maxAmount=1000&limit=20' \
--header "OK-ACCESS-KEY: $OK_ACCESS_KEY" \
--header "OK-ACCESS-SIGN: $OK_ACCESS_SIGN" \
--header "OK-ACCESS-PASSPHRASE: $OK_ACCESS_PASSPHRASE" \
--header "OK-ACCESS-TIMESTAMP: $OK_ACCESS_TIMESTAMP"

按使用指南配置鉴权环境变量;签名必须针对本次请求的路径、完整查询参数和时间戳生成。

响应示例#

以下为结构示例,不代表实际查询结果。

json
{
  "code": "0",
  "msg": "",
  "data": [
    {
      "limit": "20",
      "cursor": "",
      "transactionList": [
        {
          "txid": "0x{TRANSACTION_HASH}",
          "blockHash": "0x{BLOCK_HASH}",
          "height": "18126486",
          "transactionTime": "1694991899000",
          "from": "0x{SENDER_ADDRESS}",
          "to": "0x{RECIPIENT_ADDRESS}",
          "isFromContract": false,
          "isToContract": true,
          "amount": "125.5",
          "transactionSymbol": "USDT",
          "methodId": "",
          "tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
          "protocolType": "token_20",
          "state": "success",
          "tokenId": ""
        }
      ]
    }
  ]
}