Binance API返回最小下单数量与UI不符问题咨询
ETHUSDT合约最小下单量API与UI不符的原因分析
调用Binance的fapi.binance.com/fapi/v1/exchangeInfo接口获取ETHUSDT永续合约信息时,出现了接口返回数据与UI显示不一致的情况:
- Binance UI显示ETH最小下单量为0.004ETH
- 接口返回的ETHUSDT数据中,
filters数组里的LOT_SIZE和MARKET_LOT_SIZE过滤器的minQty字段值均为0.001
接口返回的完整数据如下:
{ "symbol": "ETHUSDT", "pair": "ETHUSDT", "contractType": "PERPETUAL", "deliveryDate": 4133404800000, "onboardDate": 1569398400000, "status": "TRADING", "maintMarginPercent": "2.5000", "requiredMarginPercent": "5.0000", "baseAsset": "ETH", "quoteAsset": "USDT", "marginAsset": "USDT", "pricePrecision": 2, "quantityPrecision": 3, "baseAssetPrecision": 8, "quotePrecision": 8, "underlyingType": "COIN", "underlyingSubType": [ "Layer-1" ], "settlePlan": 0, "triggerProtect": "0.0500", "liquidationFee": "0.015000", "marketTakeBound": "0.05", "filters": [ { "minPrice": "39.86", "maxPrice": "306177", "filterType": "PRICE_FILTER", "tickSize": "0.01" }, { "stepSize": "0.001", "filterType": "LOT_SIZE", "maxQty": "10000", "minQty": "0.001" }, { "stepSize": "0.001", "filterType": "MARKET_LOT_SIZE", "maxQty": "2000", "minQty": "0.001" }, { "limit": 200, "filterType": "MAX_NUM_ORDERS" }, { "limit": 10, "filterType": "MAX_NUM_ALGO_ORDERS" }, { "notional": "5", "filterType": "MIN_NOTIONAL" }, { "multiplierDown": "0.9500", "multiplierUp": "1.0500", "multiplierDecimal": "4", "filterType": "PERCENT_PRICE" } ], "orderTypes": [ "LIMIT", "MARKET", "STOP", "STOP_MARKET", "TAKE_PROFIT", "TAKE_PROFIT_MARKET", "TRAILING_STOP_MARKET" ], "timeInForce": [ "GTC", "IOC", "FOK", "GTX" ] }
这并非API Bug,而是你忽略了MIN_NOTIONAL过滤器的限制:
- 该过滤器要求下单的**名义价值(数量 × 当前价格)**至少为5USDT
- 假设当前ETH价格为1250USDT,0.001ETH的名义价值仅为1.25USDT,不满足5USDT的要求
- 实际最小下单量需满足:
数量 ≥ 5 / 当前ETH价格,当价格为1250USDT时,计算结果为0.004ETH,这正是UI显示的数值
总结:API返回的minQty是下单数量的最小单位/精度,但实际下单需同时满足MIN_NOTIONAL的名义价值要求,UI显示的是两者中更严格的限制条件。
内容的提问来源于stack exchange,提问作者koto
相关产品推荐
相关产品推荐

