跳到主要内容

错误码

存在三种错误信封,按你调用的接口面选择对应的表。

FAPI 业务错误(Binance 信封)

HTTP/1.1 400 Bad Request
content-type: application/json

{ "code": -2019, "msg": "Margin is insufficient." }
CodeHTTP名称触发条件
-1000500UNKNOWN未分类错误(如 fundingFeeHistory 的数据库错误)
-1001500DISCONNECTED内部服务错误 / 分片转发失败
-1003429TOO_MANY_REQUESTS超出请求权重或下单计数上限,见限流;响应头带当前计数
-1013400INVALID_QUANTITYquantity < lot_size,或名义额超出 [min_order_size_usd, max_order_size_usd]
-1021400INVALID_TIMESTAMPtimestamp 超出 ±60 秒窗口
-1100400ILLEGAL_CHARSUUID / 数量 / 价格无法解析;clientOrderId 含非法字符;algo 查询窗口超过 7 天
-1102400MANDATORY_PARAM_EMPTY_OR_MALFORMED缺必填参数;修改单 side 不一致;不支持的 timeInForcebatchOrders 非法
-1106400PARAMETER_NOT_REQUIREDquantityquoteOrderQty 同时传;closePosition 冲突
-1120400INVALID_INTERVALK 线 interval / futures-data period 非法
-1121400INVALID_SYMBOLsymbol 不在当前部署的市场配置中
-1125404INVALID_LISTEN_KEYPUT /fapi/v1/listenKey 时没有活跃 listenKey
-1130400INVALID_DATA_FOR_PARAMETERside / type / algoType / positionSide 不可识别
-2010400NEW_ORDER_REJECTEDGTX 会立即成交;超出 OI 上限;触发单数量达上限
-2011400UNKNOWN_ORDER撤单 / 修改时引擎找不到该订单(不会伪造 CANCELED)
-2013404NO_SUCH_ORDER订单不存在 / 不可修改 / 非活跃
-2014400API_KEY_FORMAT(复用)活跃订单中 newClientOrderId 重复
-2019400MARGIN_INSUFFICIENT可用余额不足以冻结保证金
-2021400ORDER_WOULD_TRIGGER_IMMEDIATELY触发条件已满足
-2022400REDUCEONLY_REJECTreduceOnly 但无反向持仓
-4028400INVALID_LEVERAGE杠杆超出 [1, 市场上限]
-4046400NO_NEED_TO_CHANGE_MARGIN_TYPE(复用)FAPI 上传 marginType=ISOLATED
-4059400NO_NEED_TO_CHANGE_POSITION_SIDE(复用)dualSidePosition=true

FAPI 鉴权错误(Sparky 信封)

Key 与签名错误由鉴权中间件返回,使用 Sparky 的 ApiResponse 信封而 Binance 信封。多数客户端只需关注 HTTP 状态码。

HTTP/1.1 401 Unauthorized
content-type: application/json

{ "success": false, "data": null, "error": { "code": "SIGNATURE_INVALID", "message": "..." }, "timestamp": 1714261234 }
error.codeHTTP触发条件
INVALID_API_KEY401当前部署找不到 X-MBX-APIKEY
API_KEY_DISABLED401Key status != active
IP_NOT_ALLOWED403客户端 IP 不在白名单
SIGNATURE_INVALID401HMAC 不匹配、缺 timestamp 或时间戳越界

原生 API 错误(/api/v1/*

{ "error": "Insufficient available balance", "code": "INSUFFICIENT_BALANCE" }

部分 handler 使用 { "success": false, "error": { "code", "message" } } 信封;请先看状态码。

Code含义
INVALID_ADDRESS钱包地址格式错误
TIMESTAMP_EXPIRED登录 / EIP-712 时间戳超出 ±5 分钟
USER_NOT_FOUND先调用 nonce 接口
SIGNATURE_INVALIDSIGNATURE_FORMAT_INVALIDEIP-712 签名失败 / 非 0x 开头
INVALID_TOKENJWT 缺失 / 过期
LIMIT_REACHEDINVALID_IPAPI Key 创建限制
INVALID_SYMBOLINVALID_LEVERAGEINVALID_AMOUNTPRICE_REQUIRED订单校验
SLIPPAGE_EXCEEDED市价单模拟滑点超过 max_slippage
INSUFFICIENT_BALANCE可用余额不足
OI_CAP_EXCEEDED订单将超出该市场单侧 OI 上限(消息含 currentcaprequested_delta
ORDER_NOT_FOUNDORDER_NOT_OWNEDORDER_NOT_CANCELLABLE订单查询 / 撤单
HAS_OPEN_ORDERSHAS_OPEN_POSITIONSINVALID_MARGIN_MODE切换保证金模式前置条件
INVALID_MARKETERR_INVALID_PERIODERR_NO_DATACIRCUIT_OPENPRICE_DATA_UNAVAILABLE行情端点

推荐返佣、积分与理财的错误码见各自的概述页。

常见坑

  • 只有 POST/PUT 报 SIGNATURE_INVALID — 你只对查询串签了名,没有追加原始 JSON body(或对 body 做了 URL-encode)。见 签名
  • -1021 — 用 GET /fapi/v1/time 校时;窗口 60 秒且 recvWindow 无法加宽,未来时间戳同样失败。
  • 别处能用的 Key 报 INVALID_API_KEY — Key 按链隔离,你连的是另一条链的部署。
  • 撤单返回 -2011 — 订单已成交 / 已撤。视为完成,再用 GET /fapi/v1/order 对账。
  • 浮点尾数导致 -1013 — 非 lot 整数倍的数量会被向下取整,但不足一个 lot 会被拒;发送前先取整。