打通 OKX 平台、Ordinals API、Marketplace API、WaaS Web3 API 使用者的信息壁垒,只需一次调用,即可完成 BRC-20 代币 与 比特币 NFT(BTC NFT) 的上架工作。
1. 接口能力速览
通过本接口,你可以一次性完成以下动作:
- 在 OKX 平台 发布 Ordinal 列表,支持 BTC NFT 与 BRC-20;
- 自动关联 铭文 ID(Inscription ID)与所需的 UTXO,避免链上漏单;
- 使用 PSBT(Partially Signed Bitcoin Transaction),让签名与广播分离,提高安全度。
2. 请求方式与地址
- 方法:
POST
URL:
https://web3.okx.com/api/v5/mktplace/nft/ordinals/okx/make-orders
认证信息请随 HTTP Header 一并发送,常用为 OK-ACCESS-KEY
、OK-ACCESS-SIGN
、OK-ACCESS-TIMESTAMP
。
3. 请求参数拆解
字段 | 类型 | 必填 | 说明(SEO 关键词:Ordinal 上架、BRC-20、BTC NFT、挂单) |
---|---|---|---|
nftId | String | ✅ | Ordinal NFT 的唯一标识符,方便后续检索,也称为 Ordinal ID |
inscriptionId | String | ✅ | 链上铭文 ID(Inscription ID),必须与 nftId 对应 |
orderType | Integer | ✅ | 固定值 2 ,表示 Ordinal 列表类型 |
unitPrice | BigDecimal | ✅ | 单价,单位为 聪(satoshi),BRC-20 场景下指每份代币;BTC NFT 场景下指单个 NFT 价格 |
isBrc20 | Boolean | ❌ | true 表示本次上架属于 BRC-20,false 表示 BTC NFT。默认 true |
psbt | String | ✅ | Base64 编码的 PSBT,内含 UTXO 引用,确保 UTXO 来自 inscription |
totalPrice | BigDecimal | ✅ | 总售价(单价 × 数量),同样以 聪 作单位 |
常见错误示例:
unitPrice * 数量 != totalPrice
—— 一致性校验失败;psbt
未包含签名 —— 返回 “Missing signature”。
4. 响应字段说明
字段 | 类型 | 含义 |
---|---|---|
nftId | String | 回传本次请求对应的 NFT ID |
success | Boolean | true → 上架成功,false → 失败 |
errorMsg | String | 失败时返回的详细错误信息,方便定位 |
示例成功包体:
{
"nftId": "btc-nft-12345678",
"success": true
}
5. UTXO 获取小贴士
在本地构造 PSBT 前,需要先拿到 铭文 UTXO。可通过调用如下接口:
GET https://web3.okx.com/api/v5/waas/transction/get-utxo?address={addr}&inscriptionId={iid}
返回格式包含:
- txid
- vout
- satoshi
- inscription 位置确认字段
务必在 30 秒内完成构造,否则 UTXO 可能已被他人花费。
6. 示例代码(Python 简版)
import requests, json, os
url = "https://web3.okx.com/api/v5/mktplace/nft/ordinals/okx/make-orders"
headers = {
"OK-ACCESS-KEY": os.getenv("OKX_API_KEY"),
"OK-ACCESS-SIGN": sign_body(),
"OK-ACCESS-TIMESTAMP": timestamp,
"Content-Type": "application/json"
}
payload = {
"nftId": "btc-nft-12345678",
"inscriptionId": "b61e3c2ae...",
"orderType": 2,
"unitPrice": 150000,
"isBrc20": False,
"psbt": base64_psbt_string,
"totalPrice": 150000
}
resp = requests.post(url, headers=headers, data=json.dumps(payload))
print(resp.json())
加入异常捕捉,可应对 “psbt 过期”、“汇率波动” 等多种边界场景,确保挂单稳定性。
7. FAQ:上架过程中高频疑问
Q1. 什么是 PSBT?为什么要用它?
A:PSBT 全称 Partially Signed Bitcoin Transaction,将签名与广播行业分离,让你的离线私钥无需直接触碰广播节点,大幅降低被盗风险。
Q2. UTXO 被花费后怎么办?
A:系统会返回 "UTXO already spent"
,你只需重新获取新 UTXO,重新构造 PSBT,再次调用本接口即可。
Q3. 为什么 总数 × 单价 ≠ 总价 会报错?
A:平台做了强一致性检查,以杜绝套利漏洞。请确保 totalPrice = unitPrice * 数量
,凑整数到 聪。
Q4. 上架后可以修改或撤销吗?
A:目前只支持撤单:通过 Ordinals API 的 cancel-orders
端点完成。修改价格需先撤再重挂。
Q5. 挂单有效期多久?
A:若无成交,24 小时后自动过期。可在 OKX NFT 市场 看到倒计时提示,及时补单。
Q6. 如何查看成交记录?
A:成交后会推送 WebHook 事件到你在 WaaS Web3 API 注册的回调地址;也可在 Marketplace API 中轮询订单状态。
8. 全流程思维导图 & 进阶坑位
- 准备阶段
‑ 生成 NFT ID
‑ 确保铭文状态 已确认 6 块 - 获取 UTXO
‑ 使用接口或自建节点
‑ 过滤 dust(<546 satoshi) - 本地签名
‑ 冷钱包 + psbt 工具
‑ 检查手续费 ≤ 20 sat/vB,避免高成本 - 调用上架接口
‑ 失败重试策略:指数退避
‑ 记录请求 ID,支持回滚 - 持续监控
‑ WebHook 监控成交
‑ 未成交自动补单,提升 Ordinal 上架 转化率
👉 掌握这枚比特币 NFT 一键上架秘籍,别再被行情甩下车!
通过以上流程,即可完成 BRC-20 与 BTC NFT 在 OKX 市场的 Ordinal 上架。祝你的挂单早日成交,数字资产节节高升!