Last updated on 2023-07-25
Here are some possible reasons for order failure when trading on Binance Futures.
1. Your margin balance is insufficient
You have other open orders that share the same margin, or the order amount exceeds the position amount. This means you need to add more margin to open the position. The lower the leverage, the higher the required margin balance. You can reduce the leverage before placing the order again.
2. Your order exceeds the position size limit
When placing an order, it's essential to consider the maximum position limit determined by the symbol and leverage. The trading rules specify each symbol's maximum notional value and available leverage. If the position’s notional value you’re trying to open exceeds the limits, it will be rejected.
Please note that position limits vary by symbol and the chosen leverage. You should stay within this limit to ensure your orders can be successfully executed.
3. Your order did not meet the minimum notional value
Please refer to USDⓈ-Margined Futures Contract Specifications for the minimum notional value.
4. You placed a [Reduce-only] order
When you select the "reduce only" option, your order may be rejected due to two reasons:
- The order is in the same direction as the open position; or
- The order is in the opposite direction and the position size exceeds the open position.
5. High traffic volumes
Your order may fail to be submitted successfully during periods of high traffic volumes. If that occurs, you will see the following message: “We are experiencing high traffic volumes. You may try to submit your order again."
6. Your placed a FOK (Fill or Kill) order and it wasn’t filled immediately
FOK order placement can fail if they cannot be filled immediately. If this happens, you will receive the following message (and the order will not be recorded in the order history): “Due to the order not being filled immediately, the FOK order has been rejected.”
7. You placed a Post-Only order and it couldn’t be executed as a maker order
Post-Only order placement can fail if it cannot be executed as a maker order. If this happens, you will receive the following message (and the order will not be recorded in the order history): “Due to the order not being executed as a maker, the Post Only order will be rejected. The order will not be recorded in the order history”.
8. Your have too many open orders
The maximum number of open orders for each USDⓈ-M symbol is limited to 200, including open conditional orders. If you exceed this limit, you won’t be able to place new orders.
9. Your have too many open conditional orders
You can only open a maximum of 10 conditional orders per symbol on USDⓈ-M Futures at any given time, including Stop, Stop Market, Take Profit, Take Profit Market, and Trailing Stop orders.
10. You exceeded the PERCENT_PRICE filter limit
Under highly illiquid market conditions, market orders may not be fully executed or expire when the Market Order Price Cap/Floor Ratio surpasses a specific threshold (PERCENT_PRICE filter limit). The system will reject any outstanding market orders, and you will see an error message stating that the counterparty's best price falls outside the PERCENT_PRICE filter limit.
- The buy price of limit orders should be less than or equal to (1 + cap ratio )* current Mark Price of the contract
- The sell price of limit orders should be higher or equal to (1 - floor ratio) * current Mark price of the contract
- If the limit order price is out of the range, the system will show “limit price can’t be higher than (the range price)”.
Why wasn’t my order filled?
1. No matching price on the market
The market price does not meet your set price. If you place a Stop-limit order, when the market price hits the trigger price, your order will be added to the market depth pool and filled when the set price is reached. If you place a Stop Market order, you can set the trigger price at the mark price or the latest price so it will more likely be filled.
2. Your order price deviates hugely from the market price
There are no matching orders in the market depth pool at the price you set. Or your position is very large and could only be partially filled.
3. You did not pass the margin check (for Stop Limit and Stop Market orders)
For Stop Limit and Stop Market orders, you need to fill in a trigger price and a filled price. The system will then execute double margin checks before placing an order and before filling the order. Once the order is triggered, the system will conduct a second margin check immediately. If your margin balance is insufficient (e.g., you transferred some of the margin balance out of the Futures account), the order status will be shown as expired.