OKX DEX API 之交易状态实时查询指南

·

基于单链环境下,开发者最常见的高频需求之一便是“交易状态查询”。本文将围绕OKX DEX API交易查询端点,手把手拆解如何通过查询交易状态接口,精准获取一笔订单的完整生命周期。无论你是正在对接DEX API的 dApp 工程师,还是筹划聚合器方案的产品经理,都能借此文档快速落地。


一、接口场景与核心价值

兑换Swap流程被触发后,用户最关心的三个字就是 —“稳了吗?”。
借助本接口,你可以:


二、端点速览

名称
动词GET
URLhttps://web3.okx.com/api/v5/dex/aggregator/history
限频120 次/分钟/Key
认证方式API Key(Header)

三、请求参数与示例

若想拉回一笔交易全量细节,你需要提供三把“钥匙”:

  1. chainIndex:链唯一编号,例如 1 代表 Ethereum
  2. txHash:交易所属的事务哈希(即浏览器里的 Txn Hash)
  3. isFromMyProject(选填):若设为 true,则仅匹配当前 API Key 下的订单,可防误查他人交易

👉 学会链编号速查表,再也不用手动试错

示例代码 (cURL)

curl -X GET \
  'https://web3.okx.com/api/v5/dex/aggregator/history?chainIndex=1&txHash=0x72b51c1d22ec5b6...' \
  -H 'OK-ACCESS-KEY: YOUR_KEY'

四、响应字段全解

返回值均为 JSON;以下 关键字段 建议全部落库,方便后续审计或客服回溯。

👉 如何用成本数据写出最打动用户的提示语?


五、场景示例:NFT 结算项目接入

设想一个 GameFi 结算 dApp:玩家二级市场购买皮肤后,系统需要确保资产先到手,再发放空投钥匙。流程如下:

  1. 玩家钱包签名、交易广播
  2. dApp 回调后,轮询 GET /history
  3. 收到 status=success 立即执行第二段合约调用,发放钥匙 NFT
  4. 交易失败则回滚皮肤库存,防止“资产黑洞”

通过在链上观察 height 字段与 txFee,项目方甚至能够推演出“今日全网平均 Gas 价格”,动态调整用户提示,优化 UX。


六、常见问题(FAQ)

Q1:为何我收到的 status 一直是 pending
A:说明链上尚未确认。多数链平均 3–30 秒即可落块;若长时间未变,可借助区块浏览器二次确认。

Q2:txHash 可以跨链检查吗?
A:不行!每条链 ID 独立;请保证 chainIndextxHash 同链。

Q3:isFromMyProject=true 查询结果为空?
A:可能原因:

Q4:如何计算用户的“实际到账”金额?
A:toTokenDetails.amount 减去 referalAmount 即为净到账。公式:

净到账 = parseFloat(toTokenDetails.amount) - parseFloat(referalAmount)

Q5:是否支持 WebSocket 推送状态?
A:目前仅 REST 轮询;若需要实时长连接,可联系技术支持开通 Beta 计划。


七、调试锦囊:常见错误速排


八、下一步:将结果反哺前端体验

  1. 进度展示:结合 txTime 与网络出块间隔,生成“预计 12 秒后完成”。
  2. 费用透明度:调用 gasPrice 字段换算主币/USDT,用户一目了然。
  3. 交易深度链接:将 txHash 拼接成区块浏览器超链接,便于用户自助查证明细。

至此,你已经掌握了 OKX DEX API 的“查询交易状态”全部玩法。开始构建更高效、更透明的链上用户体验吧!