Who this is for — Anyone managing futures, perpetuals or margin positions with multiple exit orders. Reduce-only constrains the effect of an order on the position, but it does not ensure that the exit will be accepted or completed.
Reduce-only is an instruction requiring that an order may only decrease the quantity of an existing position. If execution would increase exposure or open a position in the opposite direction, the system applies the behavior defined by the venue: it may reject or cancel the order, reduce its quantity, or modify reduce-only orders that are already open.
The instruction is common in futures, perpetual futures and some margin systems. In simple spot trading, where selling more than the available asset is not permitted, it may be unavailable or have a different meaning.
Order side and position
In net mode, a long position is reduced by a sell order and a short position by a buy order. Buy or sell alone does not communicate whether the intention is to open or close.
| Position before the order | Order | Without the constraint | Reduce-only objective |
|---|---|---|---|
| long 5 | sell 3 | may reduce the long to 2 | reduce the long to 2 |
| long 5 | sell 8 | may close 5 and open a short of 3 | do not exceed the reducible quantity |
| no position | sell 3 | may open a short of 3 | do not open a new position |
| short 5 | buy 2 | may reduce the short to 3 | reduce the short to 3 |
The final column describes the economic constraint, not the exact technical outcome. For a sell order of 8 against a long position of 5, one platform may resize the order to 5; another may reject or cancel it. The remainder should not be assumed to receive the same treatment at every venue.
It is not a stop
Reduce-only does not set:
- an activation price;
- a limit price;
- the duration of the order;
- queue priority;
- the quantity that will actually execute.
It may accompany a market, limit, stop or take-profit order only when the platform supports that combination. The trigger belongs to a stop order; the price constraint belongs to a limit order or stop-limit order; duration belongs to time in force. Reduce-only instead constrains the maximum effect on the position.
It is not a guarantee against liquidation. An order may remain unfilled, be rejected, arrive too late or fail to find liquidity. Margin, mark price and liquidation rules continue to apply regardless of the flag.
Multiple exits for the same position
The issue becomes visible when several orders compete for a position that may shrink in the meantime. Assume a long position of 5 contracts with two reduce-only sell limits for 3 and 4 contracts. Their combined requested quantity is 7, greater than the position.
The venue must prevent the combined executions from producing a short position, but it may do so in different ways:
- reject the second order;
- accept it with a smaller quantity;
- resize an existing order;
- cancel the lower-priority order;
- reevaluate quantities after every fill or position change.
OKX, for example, documents that open reduce-only orders may be amended or canceled according to the position and their priority. An order shown as “canceled” in the history may therefore have been removed by the system to maintain the constraint rather than by the user.
Net mode and hedge mode
Position configuration is decisive. In net mode there is one resulting quantity for each instrument; in long/short or hedge mode, the two directions may be managed separately and the API may require an additional field identifying which side of the position is being closed.
The OKX API documentation limits the reduce-only parameter to specified combinations of margin mode, futures and swaps and associates it with net mode; its interface guide also describes different rules for one-way and hedge modes. Coinbase International exposes separate post-only, close-only and reduce-only instructions in its FIX messages.
Close-only and reduce-only should therefore not be treated as universal synonyms. When a venue offers both, its protocol defines the distinction. Commands labeled “Close,” “Close all” or TP/SL may add a qualifier automatically, but that automation should be confirmed in the documentation and in the order acknowledgment.
Example of an order left open
A trader holds a long position of 10 contracts and enters a reduce-only sell take profit for 10. Before the target price is reached, 7 contracts are closed manually, leaving a long position of 3.
When the take profit activates, the venue might:
- execute no more than 3 and cancel the remainder;
- resize the order to 3 before execution;
- cancel it and require a new order;
- reject it if its state, quantity or position mode is invalid.
Under the applicable logic, reduce-only prevents the order from deliberately turning the remaining 3 contracts into a short position of 7. It does not guarantee that the 3 contracts will execute or at what price.
Venue, broker and API dependence
Before use, verify:
- supported instruments and margin modes;
- the distinction between net, one-way and hedge modes;
- permitted combinations with market, limit, stop and TP/SL orders;
- handling of a quantity larger than the position;
- priority among multiple reduce-only orders;
- the effect of partial fills, cancellations and manual changes;
- rejection codes and cancellation reasons;
- any distinction between reduce-only and close-only.
In an automated system, sending the boolean flag is not enough. The system must read the acknowledgment, accepted quantity, updated position and final state. Order lifecycle distinguishes acceptance, fills, cancellation and rejection.
Sources
- Coinbase International Exchange — FIX Order Entry Messages
- Coinbase International Exchange — Create Order
- OKX API — Place Order and the reduceOnly parameter
- OKX — Basic Order Types and reduce-only handling