关键词:U本位合约、HmacMD5 签名、资金划转、下单、撤单、止盈止损、查询资产、仓位、永续合约 API
1. SDK 与快速上手
Bibox 提供了 JavaScript、Python 与 C# 多语言 SDK,已自动完成 数据签名 与 深度合成 流程。
// js 示意
console.log('U本位合约 javascript 代码示例');# python 示意
if __name__ == '__main__':
print('U本位合约 python 代码示例')// C# 示意
Console.WriteLine("U本位合约 c# 代码示例");2. 构建安全请求:HmacMD5 签名七步曲
| 步骤 | 描述 |
|---|---|
| 1 | 获取毫秒时间戳 timestamp |
| 2 | 序列化业务参数为 JSON 字符串 |
| 3 | 拼接待签名字符串:timestamp + JSON |
| 4 | 用 secret 做 HmacMD5 签名 |
| 5 | 在 HTTP 头增加 bibox-api-key、bibox-api-sign、bibox-timestamp |
| 6 | Content-Type 设为 application/json,body 传原始 JSON |
| 7 | 解析响应,state 为 0 即成功 |
示例代码片段
let strToSign = timestamp + strParam;
let sign = CryptoJS.HmacMD5(strToSign, secret).toString();FAQ
Q1:收到 401 签名失败怎么办?
检查时间戳偏差是否小于 60 秒,确保 JSON 拼接顺序一致。
Q2:可以重放同一组签名吗?
不建议,时间戳会被平台校验一次有效性。
3. 资金划转:从钱包到合约账户
将 USDT 或其他币种从现货钱包转入合约账户后方可下单。
- 路径:
POST /v3/cbuassets/transfer 核心参数:
- symbol:币种,如
USDT - amount:划转数量(字符串)
- type:0 转入,1 转出
- symbol:币种,如
FAQ
Q3:提示“可用余额不足”?
先去现货账户确认余额再做划转;划转成功后再调用下单接口。
4. 下单:市价单 & 限价单
路径: POST /v3/cbu/order/open
关键字段:
- pair:标的,如
4BTC_USDT - amount:必须满足整张合约面值倍数的整数
- price:市价单填 1;限价单填指定价格
- order_side:1 开多、2 开空、3 平多、4 平空
进阶:一次下单挂止盈止损
在开仓时追加:
- profit_price / loss_price:触发价
- plan_type:1 市价、2 限价
body = {
"pair": "4BTC_USDT",
"order_side": 1,
"order_type": 2,
"price": "25000",
"amount": "10",
"profit_price": "26000",
"loss_price": "24500"
}FAQ
Q4:为何部分订单报“amount 参数错误”?
数量不是合约面值整数倍,请查阅对应品种的合约面值说明。
5. 撤单:单条、批量、全部
| 场景 | 路径 |
|---|---|
| 撤销 1 条 | /v3/cbu/order/close |
| 撤销 N 条 | /v3/cbu/order/closeBatch |
| 清仓该标的 | /v3/cbu/order/closeAll |
示例(撤某一条):
{"order_id": "426610511577093"}6. 止盈止损委托(计划单)
- 路径:
POST /v3/cbu/order/planOpen - 核心需求:
side=多仓/空仓、plan_type=止盈/止损、trigger_price=触发价
撤回与查询
- 列表:
/v3/cbu/order/planOrderList - 单撤:
/v3/cbu/order/planClose - 全撤:
/v3/cbu/order/planCloseAll
FAQ
Q5:“触发价错误”如何解决?
多仓止盈触发价必须 > 当前价,止损则反之,空单反之亦然。
7. 仓位与风险管理
7.1 逐仓调保证金
POST /v3/cbu/changeMargin
调增可将爆仓价推远,调减则可能触发强平。
7.2 调整杠杆和仓位模式
通过 POST /v3/cbu/changeMode 可将同一标的的多、空仓杠杆分开设置。
8. 查询接口速查表
| 场景 | 接口 | 说明 |
|---|---|---|
| 资产 | /v3/cbu/assets | 查看可用与冻结 |
| 仓位 | /v3/cbu/position | 查看持仓、已委托止盈止损剩余额度 |
| 订单列表 | /v3/cbu/order/list | 历史+在线 |
| 在线订单详情 | /v3/cbu/order/detail | 实时状态 |
| 仓位变化 | /v3.1/cquery/base_u/dealLog | 仓位流水 |
| 成交明细 | /v3.1/cquery/base_u/orderDetail | 逐笔成交 |
FAQ
Q6:如何防止爆仓?
监控有效杠杆与保证金率,必要时调增保证金或减小仓量。
9. 实战思路与最佳实践
- 时间同步:本地时间误差 < 3 秒。
- 重连策略:对 5xx、429 做指数退避。
- 资金阶梯:先做小额划转与测试单,无误后再批量。
- 缓存订单 ID:在本地持久化,避免失联后无法撤单。
- 日志追踪:对每次 sign 参数与返回 state 做持久日志,方便回测排查。