一键调取 NFT 交易历史:Order API 全流程速通指南

Posted by AiuYH8 Crypto Hub on September 5, 2025

NFT 交易历史接口(又称 Order API、Collection Transaction History API)是开发者与市场分析师洞察「地板价变化、成交速度、热门买家」的利器。本文从接口地址到字段释义,手把手拆解如何调取某一 NFT 系列的完整交易记录,同时插入真实场景案例与高频疑问解答,帮助你高效落地。


基础信息

请求地址

GET https://web3.okx.com/api/v5/mktplace/nft/markets/trades

核心功能

  • 精准溯源:锁定 collectionAddress,回滚该系列在任意链的销售轨迹;
  • 平台过滤:通过 platform 参数聚焦或排除特定市场,快速对比 opensea、blur、x2y2 的价差;
  • 时区切片:搭配 startTime & endTime,在数据河流中「截胡」特定时间片的买单、卖单;
  • 分页下潜:使用 cursor 循环拉取全部历史,不再受窄窗口限制;
  • 字段丰富:price / buyer / seller / txHash 一目了然,省去多次拼接查询。

请求参数拆解

参数名 是否必填 类型 关键要点与小贴士
chain String 名称需全小写,如 ethereumpolygonbsc 等;避免大小写错误导致 404。
collectionAddress String 直接复制浏览器地址栏的 0x 开头合约地址即可,支持 ENS 域名解析时自动转换。
platform String 为空时默认跨平台聚合;填入 openseablur 做隔离分析。
limit String 单次返回上限 50,超过自动拉回至 50;拉全量时,请结合 cursor 分帧。
cursor String 响应结果中的游标值即为下一帧入口,把其作为 query 参数继续发请求。
startTimeendTime String Unix 毫秒时间戳;注意采用 UTC+0,本地脚本需做时区校正。

👉 拿一条真实链上数据试试水深水浅,点进文档即可一键代入!


响应字段速览

字段名 语义解释
cursor 翻页令牌,取下一批记录。
amount 单笔成交的 NFT 数量(非挂单量)。
chain 链身份水印。
collectionAddress 系列合约地址,防撞库校验。
currencyAddress 支付通证地址,ETH 通常显示为 0x000...000
from / to 卖 / 买地址,可直接检索巨鲸动向。
platform 交易平台来源,方便做深度追溯。
price 单枚 NFT 成交单价,Decimal 精确至小数位。
timestamp UTC 毫秒级交易发生时间。
tokenId NFT 编号,利于与合约元数据拼接展示图片。
txHash 链上交易哈希,可跳区块浏览器复核所有日志。

真实调用示例

假设我们要查找以太坊主网 CryptoPunks 系列过去 24 小时的数据,并将结果细分平台对比。

  1. 计算时间戳区间:
    • startTime = Date.now() - 86400000(24 h 前)
    • endTime = Date.now()
  2. 构造 URL(演示未 URL Encode):
    https://web3.okx.com/api/v5/mktplace/nft/markets/trades
    ?chain=ethereum
    &collectionAddress=0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
    &startTime=1716090302000
    &endTime=1716176702000
    &limit=50
    
  3. 首轮返回 50 条;提取 cursor 发二次请求直到无新游标,即捕获全量。

👉 零基础也能跑通的 5 分钟脚本,更快上手 web3 API!


常见坑 & 优化建议

情境 建议
数据量大、限流 limit 定在 50;后端对高频 IP 做 120 r/m 限速,建议加入随机等待。
历史早期记录缺失 平台索引在 2023 年前数据不完整,先确认链上交易确实存在再申请补录。
通证价格波动 获取 currencyAddress 结合实时 ETH/USD 汇率换算美金,即可生成 USD 视角的地板价曲线。
ENS / 合约重定向 程序可自动把 ENS 域名经节点解析后再传参,防止空格与大小写问题。

常见问题解答(FAQ)

Q1:我只关心某一只 Punk 的交易历史,能否用 tokenId 过滤?
A:当前接口以系列维度为主。想追踪单枚 NFT,可先拉全集,再根据返回结果中 tokenId 字段进行二次过滤。

Q2:platform 为空时是否会降低响应速度?
A:不会。后端提前建好索引,全平台合并查询同样毫秒级。

Q3:返回的 txHash 是 66 位十六进制,能直接当浏览器链接使用吗?
A:不能直接用。拼接成 https://etherscan.io/tx/{txHash} 即可跳转区块浏览器。

Q4:cursor 有效时长多久?
A:服务端不做持久化,建议 5 分钟内连续翻页;过期后直接重新发起第一页请求。

Q5:字段 priceFloat 和 price 有什么区别?
A:接口目前仅给出 price(BigDecimal)字符串格式,无 Float;若前端需要浮点展示,请自行用 big.js 或 bignumber.js 转换,防止精度丢失。

Q6:能否用沙盒网测试?
A:可切换 chain 为 goerlisepolia 等测试网,合约地址需部署在对应网,否则查询为空。


在实际项目中的扩展用法

  1. 地板价波动预警
    • 每 5 分钟调用一次「最后成交价」;
    • 若最新 price 低于过去 48 均价 20%,推送 Discord 告警。
  2. 巨鲸动向看板
    • 过滤 price > 50 ETH 的交易,解析 to 钱包地址;
    • 交叉合约标签数据库,标记蓝筹地址,一键生成「今日买家 TOP10」。
  3. 做市商回测
    • timestampprice 拟合 K 线,下载 CSV 后跑 ARIMA 模型,回测挂单策略。

小结

掌握 NFT 交易历史接口,等于拥有了区块链上的“成交账本”。通过精确控制 时间、平台、游标 三大杠杆,你可以像数据科学家一样,轻松抓取 10 万条甚至百万条链上记录,并结合自定义分析脚本输出可视化图表。立即动手,将理论转化为实用洞察,让数据成为下一个决策节点的燃料。