Reduce-Only is available on all order types:

  • Market

  • Limit

  • Stop Market

  • Stop Limit

  • Take Profit Market

  • Take Profit Limit

  • Trailing Stop

You can also turn Reduce-Only on for orders via API using the reduceOnly option.

Requirements

On dYdX, Reduce-Only is compatible with any order type, as long as the order is either Fill-Or-Kill (FOK) or Immediate-Or-Cancel (IOC). At this time, we do not support Reduce-Only for orders that sit on the book like Good Til Time (GTT).

How It Works

Reduce-Only ensures that your order:

  1. Will only reduce the size of your current position, not increase

  2. Will not open a position with side opposite to your current position (long to short or short to long)

You can enable Reduce-Only through the "Advanced" menu for any order type:

The mechanism for Reduce-Only depends on the order type you are using:

Market and Limit

Since orders have to be FOK or IOC to enable Reduce-Only, Market and Limit orders are handled in the same way if they are Reduce-Only. If your Market or Limit order would cause your position to increase or change sides, the order will be rejected.

Reduce-Only is not enabled by default for Market and Limit orders. The exception is when placing a Market order through the "Close Position" modal, where Reduce-Only is always enabled.

Stop and Take Profit

For all Reduce-Only Stop and Take Profit orders, you can set an order size of any amount. When your Stop or Take Profit order triggers, the order will automatically be resized to your remaining position size (if your order size is greater than your position size) before it fills.

Reduce-Only is enabled by default for all Stop and Take Profit orders.

Examples

Let's say you have a 5 ETH-USD LONG open.

  • If you try to place a Reduce-Only order to SELL 6 ETH, you will receive an error and won't be able to place the order.

  • If you try to place a Reduce-Only order to BUY any size, you will receive an error and won't be able to place the order.

  • If you place a Reduce-Only Stop Market SELL 6 ETH, you will be able to place this order with a valid trigger price. When your order triggers, the size of your order will automatically be resized from 6 ETH to 5 ETH. Then, the remaining SELL 5 ETH order will execute to fully close your LONG position to 0.

Did this answer your question?