Skip to main content
Conditional orders are trigger orders. Notional currently supports take-profit and stop-loss orders. They can be associated with a parent order or attached to an existing position. TP/SL orders close a position when a selected trigger price is reached. A take-profit order closes into favorable price movement; a stop-loss order closes into adverse price movement.

Limit vs Market TP/SL Orders

Users can choose between TP/SL market and limit orders. TP/SL orders use mark price as the trigger price source. TP/SL market orders prioritize execution after the trigger. They use Hyperliquid’s default 10% slippage tolerance, so they still submit with a protective execution price rather than guaranteeing a fill at any price. TP/SL limit orders submit a limit order after the trigger, which gives more control over the worst execution price but can rest unfilled if the market moves through it. Trigger price, TP vs SL, and market vs limit are set when the order is placed. Notional currently does not let a modify request convert a TP into an SL, convert a TP/SL market order into a TP/SL limit order, or convert a regular limit order into a trigger order.

Position TP/SL

Position TP/SL orders are attached directly to an open position. They must be reduce-only trigger orders. By default, position TP/SL targets the full current position size. On the API boundary this is represented as size: "0" inside a positionTpsl batch. Users can also configure an explicit positive size, which creates a fixed-size TP/SL cap. A position TP/SL batch can contain one TP, one SL, or both, but it cannot contain two TPs or two SLs, and all orders in the batch must target the same asset. Position TP/SL orders are monitored after placement. If the position closes or flips direction, Notional cancels the protective orders. Tracked full-position TP/SL continues to follow the live position size after placement. Fixed-size position TP/SL never grows above its configured size, but Notional may shrink the live venue order when the position shrinks and regrow it back up to the configured cap if the position later regrows on the same side.

TP/SL Associated With a Parent Order (OCO)

TP/SL associated with a parent order is attached to a new order. At placement, only the parent order is submitted to the exchange. The TP/SL children are accepted inside Notional as deferred orders. This prevents protective exits from being live before the parent order creates a position. TP/SL associated with a parent order must be reduce-only, on the opposite side of the parent, and no larger than the parent order size. If the parent is rejected or canceled before it fills, Notional cancels the deferred children. Deferred TP/SL children are submitted if and only if:
  • the parent fully fills, or
  • the parent partially fills and is then canceled for insufficient margin
If the trader manually cancels a partially filled parent order, the deferred children are canceled instead of being activated. If one active TP/SL child fills, Notional cancels its sibling in the same batch.

Risk Interactions

TP/SL orders still affect margin and liquidation risk:
  • TP/SL orders are reduce-only and cannot increase or reverse the relevant position inside Notional.
  • Position TP/SL supports both tracked full-position behavior and explicit fixed-size caps.
  • TP/SL associated with a parent order may appear as accepted or pending inside Notional before it has an exchange order ID. Position TP/SL orders are submitted immediately and may appear as waitingForTrigger.
  • Margin, minimum-notional, and execution checks use the order’s execution price or limit price, not only the trigger price.