Why Is a Binance Reduce-Only Order Rejected? Pre-Order Check Steps

 / 
 / 
2

Let's answer directly: if your reduce-only order is rejected, the most common reasons are that the order direction does not match your position, or the quantity exceeds the amount you can close.

Binance Exchange
The world's largest cryptocurrency exchange by trading volume,leading in security and liquidity.
New user benefit: Enjoy 20% off trading fees upon registration!

Binance's reduce-only rule is strict: it only closes positions and never opens a new one. The system checks two conditions when you place the order. If either one is wrong, it blocks the order.

Before placing the order, check two things yourself

① Check whether the order direction is opposite to your position direction

This is the most common mistake. If you hold a long position, the order direction must be "Sell". If you hold a short position, the direction must be "Buy".

  • [What to do]: Before placing the order, check your position direction, then confirm whether the "Buy/Sell" direction you selected is the opposite one.

  • [How to do it]: The positions panel shows "Long" or "Short". If you are long, a reduce-only order must choose "Sell to close long". If you are short, it must choose "Buy to close short". Do not choose by habit; look carefully before clicking.

  • [Done when]: You have confirmed "long with Sell" or "short with Buy", and the direction is not reversed.

② Check whether the order quantity exceeds the closable amount

Even if the direction is correct, the quantity cannot exceed the amount you can close right now. For example, if you hold 0.8 BTC long but place a reduce-only sell order for 1 BTC, the system will reject it because you do not have that much position to close.

  • [What to do]: Check your position size and make sure the order quantity is not larger than that.

  • [How to do it]: Look at your current position size in the positions panel, and enter a quantity smaller than or exactly equal to it. Do not accidentally type one extra digit.

  • [Done when]: You have confirmed the quantity entered is ≤ the current closable amount.

Advanced check: two open orders may conflict with each other

There is another case: your direction and quantity are correct, but the order is still rejected. Check whether you already have a reduce-only order waiting in the order book.

Binance's rule is: if you have a reduce-only sell order and you place another one at a better price (for example, a lower price), the new order will replace the old one. If the new order is rejected for any reason, the old order may have already been cancelled, leaving you with no order.

  • [What to do]: Go to the "Open Orders" list and see if any other reduce-only order is already there.

  • [How to do it]: Open the futures trading page, go to "Open Orders" or "Active Orders", and review all open orders. If there is a reduce-only order in the same direction, cancel the old one first, then place the new one.

  • [Done when]: There is no reduce-only order in the same direction in Open Orders, so the order you are about to submit is the only one.

Special case: if you use the API or do high-frequency trading

If you place orders programmatically, some versions of Binance's algorithm order API do not support the reduceOnly parameter. If you use it, the API returns error code -1106. The correct way to close a position is to use closePosition: true with quantity: None.

Also, if you use hedge mode, API orders with the reduceOnly parameter may be rejected, because the official documentation says this parameter does not work in hedge mode.

Binance Exchange
The world's largest cryptocurrency exchange by trading volume,leading in security and liquidity.
New user benefit: Enjoy 20% off trading fees upon registration!

How to verify after placing the order

After you finish the two checks above, place the reduce-only order again. If the order is accepted, go to "Open Orders" and confirm that it shows "Reduce-Only" in its properties. If you still get an error, check whether another open order is taking the closing amount for this position. Cancel it first and try again.