在区块链开发与数据分析中,获取代币的实时交易记录是常见需求。市场交易API(Market Trades API)为开发者提供了便捷的接口,用于查询指定代币在去中心化交易所(DEX)上的最新成交数据。本文将详细介绍该API的功能、参数含义及调用方法。
一、API概述
市场交易API主要用于获取特定代币在支持的区块链网络上的近期交易记录。通过该接口,开发者可以访问包括交易价格、成交量、交易类型(买入/卖出)等关键市场数据,为开发数据分析工具、监控市场动态或构建交易策略提供支持。
二、请求方式与URL
该接口采用GET请求方式,基础URL如下:
https://web3.okx.com/api/v5/dex/market/trades三、请求参数详解
调用API时,需在请求中包含以下参数:
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| chainIndex | 字符串 | 是 | 区块链网络唯一标识符。例如:1代表以太坊主网。 |
| tokenContractAddress | 字符串 | 是 | 代币合约地址。对于EVM兼容链,请使用全小写格式地址(例如:0x382bb369d343125bfb2117af9c149795c6c65c50)。 |
| after | 字符串 | 否 | 用于分页查询,传入该参数可获取早于指定ID的交易记录。 |
| limit | 字符串 | 否 | 单次请求返回的记录数量。默认值为100,最大允许500条。 |
四、返回参数解析
API响应将包含以下字段数据:
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | 字符串 | 交易记录的唯一标识ID |
| chainIndex | 字符串 | 区块链网络标识符 |
| tokenContractAddress | 字符串 | 代币合约地址 |
| txHashUrl | 字符串 | 该笔交易的区块链交易哈希链接 |
| userAddress | 字符串 | 交易发起方的钱包地址 |
| dexName | 字符串 | 发生交易的去中心化交易所名称 |
| poolLogoUrl | 字符串 | 交易池的标志图链接 |
| type | 字符串 | 交易类型:buy(买入)或sell(卖出) |
| changedTokenInfo | 字符串 | 兑换代币的详细信息 |
| amount | 字符串 | 本笔交易中兑换的代币数量 |
| tokenSymbol | 字符串 | 代币符号 |
| tokenContractAddress | 字符串 | 代币合约地址 |
| price | 字符串 | 最新成交价格 |
| volume | 字符串 | 本笔交易的美元价值 |
| time | 字符串 | 交易时间戳(毫秒级Unix时间戳格式) |
| isFiltered | 字符串 | 标识该交易是否已被过滤(不参与价格和K线计算)。0:未过滤;1:已过滤 |
五、使用场景与最佳实践
此API适用于多种区块链数据应用场景:
- 市场监控工具:实时追踪特定代币的交易活动
- 交易策略分析:基于历史交易数据制定投资决策
- 数据看板:可视化展示代币市场动态
- 风险控制:监控大额异常交易行为
调用时建议注意以下事项:
- 确保使用正确的链标识符,避免跨链数据混淆
- 合理设置limit参数,避免单次请求数据量过大
- 利用after参数实现分页查询,获取完整历史数据
- 对返回数据做好错误处理和异常捕获
👉 查看实时市场数据工具 获取更全面的区块链市场信息。
六、常见问题
1. 如何获取支持的区块链网络列表?
可通过查询相关的链信息接口获取所有支持的区块链网络及其对应的chainIndex值。不同链的网络标识符是固定的,如以太坊主网为1。
2. 交易数据更新的实时性如何?
该API提供的交易数据接近实时更新,通常会有几秒到几分钟的延迟,具体取决于区块链网络的确认速度和数据索引器的处理性能。
3. 为什么需要传递全小写的合约地址?
对于EVM兼容链,合约地址不区分大小写,但使用全小写格式可以确保查询的一致性和准确性,避免因地址格式问题导致查询失败。
4. 如何判断交易是否被过滤?
响应中的isFiltered字段标识了交易是否被排除在价格和K线计算之外。值为0表示交易数据有效并被纳入计算,值为1则表示该交易已被过滤。
5. 分页参数after应该如何正确使用?
after参数应传入上次查询结果中最后一条记录的id值,以此获取更早的历史交易记录。结合limit参数使用可实现高效的分页查询。
6. 最大可查询多长时间范围内的交易数据?
该API主要提供近期交易数据,具体可查询的时间范围取决于系统的数据保留策略。对于历史数据查询,建议使用专门的历史数据接口或区块链浏览器工具。