You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bybit API报错CannotAffordOrderCost(错误码130021)求助

排查Bybit API开OPUSDT多单时的「CannotAffordOrderCost」(错误码130021)问题

问题详情

通过Bybit API开立OPUSDT多单时,反复收到错误码130021(提示「CannotAffordOrderCost」)。相关参数如下:

  • OPUSDT标记价格:1.708美元
  • USDT钱包余额:108.96975186美元
  • 杠杆倍数:10x
  • 计划开仓实际资金:87美元
  • 计算得出的带杠杆仓位规模(USDT):871.8美元
  • 对应OP持仓数量:510.4

确认钱包余额充足,但API仍返回该错误,需排查原因。调用代码如下:

const order: APIResponseWithTime<LinearOrder | null> = await client.placeActiveOrder({
    symbol: `${position.symbol}`,
    reduce_only: false,
    close_on_trigger: false,
    order_type: "Market",
    qty: positionAmount,
    side: "Buy",
    time_in_force: "GoodTillCancel",
});

排查方向

  • 手续费未纳入计算:市价单会预先扣除预估手续费,Bybit USDT永续合约手续费率通常在0.075%左右,实际所需资金=基础保证金+预估手续费,若仅按87美元计算,加上手续费后可能超出可用余额。
  • positionAmount参数值错误:检查该变量实际取值是否为预期的510.4 OP。如果误将871.8(USDT金额)赋值给它,API会将其当作OP数量处理,所需资金会远超账户余额。
  • 可用余额与钱包余额不一致:钱包余额不等于可用保证金,若有未成交订单占用保证金、或已有持仓消耗了部分保证金,实际可用金额会低于显示的钱包余额。可调用getWalletBalance接口查询available_balance字段确认。
  • 杠杆/保证金模式异常:确认合约的保证金模式(逐仓/全仓),逐仓模式下需对应合约的逐仓可用保证金足够;同时检查杠杆是否成功设置为10x,若实际杠杆低于预期,所需保证金会增加。
  • 市价滑点影响:市价单以市场最优价成交,若实际成交价格高于标记价1.708美元,实际所需保证金会高于计算值,可能触发资金不足错误。

内容的提问来源于stack exchange,提问作者Murat Karagozgil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:15:26