跳到主要内容

错误码

现货 API 以 {"error": "<STRING_CODE>"} 格式返回错误,并附带相应 HTTP 状态码。本页按类别列出现货子系统发出的所有错误码。

鉴权与权限

HTTPerror触发条件
401(响应体为空)JWT 缺失 / 无效、HMAC 签名缺失 / 错误,或 timestamp 超出服务器时间 ±5000 ms 范围。
403API Key permission deniedAPI Key 调用方访问了 POST /spot/transferPOST /spot/withdraw/request(仅限 JWT)。
403FORBIDDEN目标资源(订单、提币申请)属于其他用户。

市场状态

HTTPerror触发条件
404MARKET_NOT_FOUNDsymbolspot_markets 中不存在。
409MARKET_HALTED市场处于 halted 状态;不接受新订单。
410MARKET_DELISTED市场处于 delisted 状态;已终止。

下单 (POST /spot/orders)

HTTPerror触发条件
400invalid sideside 不在 sell 中。
400invalid typetype 不在 market 中。
400invalid tiftif 不在 post_only 中。注意:仅接受小写。
400quantity required for limitlimit 订单缺少 quantity
400quantity required for market sellmarket 卖单缺少 quantity
400quote_quantity required for market buymarket 买单缺少 quote_quantity
400INVALID_TICKprice 不是市场 tick_size 的整数倍。
400INVALID_LOTquantity 不是市场 lot_size 的整数倍。
400BELOW_MIN_NOTIONALprice * quantity < min_notional
400INSUFFICIENT_BALANCE订单所需锁定金额(卖单锁定基础资产,买单锁定报价资产)超过调用方的 available 余额。
400POST_ONLY_REJECTtif=post_only 订单在下单时将立即与订单簿撮合。
400SELF_TRADE新订单将与调用方自身的挂单发生撮合(DECLINE_TAKER 策略)。

订单管理

HTTPerror触发条件
400invalid id路径参数 :id 不是有效的 UUID。
404ORDER_NOT_FOUND订单不存在、已处于终态,或属于其他用户。
404WITHDRAWAL_NOT_FOUND提币 id 不存在或属于其他用户。

撮合引擎可用性

HTTPerror触发条件处理建议
503spot trading disabled本服务器 SPOT_TRADING_ENABLED=false该环境的永久性限制。
503ENGINE_BUSY撮合引擎 mpsc 积压队列已满。使用退避策略重试(200 / 400 / 800 ms)。
503ENGINE_RESTARTING恢复中。等待几秒后重试。
503TICKER_NOT_FOUND对尚无记录的交易对调用 GET /spot/ticker/24hr?symbol=…首次成交后将自动解决。

划转 (POST /spot/transfer)

HTTPerror触发条件
400INVALID_DIRECTIONdirection 不在 spot_to_perp 中。
400AMOUNT_NON_POSITIVEamount <= 0
400INSUFFICIENT_BALANCE来源侧没有足够的可用 USDT
400UNSUPPORTED_TOKENMVP 阶段仅支持 USDT

提币 (POST /spot/withdraw/request)

HTTPerror触发条件
400AMOUNT_NON_POSITIVEamount <= 0
400INSUFFICIENT_BALANCE请求代币的 available < amount
400UNSUPPORTED_TOKEN该代币不在现货钱包支持列表中(当前仅支持 DF)。
503SIGNER_UNAVAILABLE后端签名器(或其 KMS)无法访问。为暂时性错误。

管理员接口 (/admin/spot/*)

HTTPerror触发条件
400INVALID_STATUSstatus 不在 delisted 中。
400AMOUNT_NON_POSITIVE增发金额 <= 0
404DISABLEDTESTNET_ONLY != true 时调用 POST /admin/spot/balances/credit
409MARKET_EXISTS创建的市场 id 已存在。
500DB_ERROR管理员写操作期间发生 Postgres 错误。

服务端故障

HTTPerror触发条件
500DB_ERROR写操作期间发生意外 Postgres 错误。请排查日志。
500(HTML 响应体)请求任务发生 panic。请捕获请求信息并上报。