> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notional.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Conditional Orders

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.
