下单(TRADE)
类型:TRADE
POST /fapi/v1/order
创建一个新订单。目前仅支持 LIMIT;MARKET 在撮合引擎补充 MARKET 类型之前直接返回 -1100。
请求
POST /fapi/v1/order
Query 参数
所有参数(包括 timestamp、recvWindow、signature)均从 URL query string 读取。请求 body 仅会被拼接进签名载荷;只放在 body 里的参数不会被 handler 读取,因此 query string 缺少必填参数时返回 HTTP 400(axum 的纯文本拒绝,而非 {code, msg} JSON)。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | standard pair,如 BTCUSDT。 |
side | string | 是 | BUY 或 SELL。 |
type | string | 是 | 目前仅接受 LIMIT。 |
quantity | string | 是 | 标的资产数量。必须能解析为正数 decimal(否则 -1100)。 |
price | string | LIMIT 必填 | 限价。必须能解析为正数 decimal(否则 -1100)。 |
newClientOrderId | string | 否 | 自定义幂等 key;不传则自动生成 UUID。15 分钟内重复发送相同值会直接返回原 orderId,不会新建订单。该值不会持久化:GET /fapi/v1/order 与 GET /fapi/v1/openOrders 返回的 clientOrderId 等于 orderId。 |
响应 — 200
{
"orderId": "8a3f5b2c-4d1e-6f7a-8b9c-0d1e2f3a4b5c",
"clientOrderId": "my-bot-1748275200-001",
"symbol": "BTCUSDT",
"status": "NEW",
"side": "BUY",
"type": "LIMIT",
"price": "76500.00",
"origQty": "0.001",
"updateTime": 1748275200500
}
本响应中 status 恒为 NEW(订单在撮合前即被确认;即使立刻成交也仍返回 NEW)。price、origQty 原样回显请求字符串;updateTime 为服务端响应时间。
错误
| HTTP | code | msg |
|---|---|---|
400 | -1100 | 未知 symbol、side 非法、不支持的 type(如 MARKET),或 price / quantity 不是正数 decimal。 |
400 | -1102 | LIMIT 单缺少 price。 |
422 | -2010 | 余额不足以锁定所需保证金。市场未激活,或保险基金风控闸门暂停交易(BlockAllOpen / ForceDeleverage,或 BlockHighLeverage 且杠杆 > 5)时同样返回此码——仅减少现有持仓的订单仍可通过闸门。 |
401 | -2015 | API key 无效或已吊销。 |
500 | -1000 | 下游(trading-api / ledger)故障。 |
签名 / API key 错误(-1021、-1022、-1102、-2014、-2015)及限流(-1003,HTTP 429)适用于所有签名接口;见 错误码。
其他标准参数 暂未支持:
timeInForce、reduceOnly、closePosition、stopPrice、activationPrice、callbackRate、workingType、priceProtect、newOrderRespType、positionSide。传入时会被静默忽略(不报错);所有订单均按GTC、单向持仓(BOTH)、非 reduce-only 处理。
杠杆:本订单使用你上一次通过 POST /fapi/v1/leverage 为该 symbol 设置的杠杆(1–100x;从未设置则默认 10x)。杠杆不是本接口的逐单参数——与 Binance Futures 一致,杠杆是按 symbol 的常驻设置,而非每笔订单内联传入。