Take Profit and Stop Loss Orders on Hyperliquid

Beginner | 3 min | Last verified 2026-09-07

Hyperliquid TP and SL orders are trigger orders: a mark-price condition activates an order that then attempts to execute according to its configured market or limit behavior.

A take-profit or stop-loss order on Hyperliquid does not guarantee an exit at the trigger price. The trigger watches the mark price. Once the condition is met, the configured child order is submitted. A market TP/SL prioritizes execution but can incur slippage; a limit TP/SL controls price but can remain unfilled.

The trigger is not the fill

This distinction matters most during fast markets. If a stop triggers at $100, the book may already have moved by the time the market order consumes liquidity. The actual average fill can be worse than $100.

Conversely, a limit stop can trigger correctly and still fail to execute if the market gaps through its limit.

Mark-price triggering

Hyperliquid uses mark price for TP/SL triggering. Mark price is designed for risk calculations and is less sensitive to a single anomalous last trade than raw trade price.

That makes the trigger source more robust, but it also means a trader watching the last traded price can see a different number from the trigger reference.

Market versus limit exit

A market TP/SL is appropriate when the priority is leaving the position. Hyperliquid documents a default slippage tolerance for market trigger orders, and builders should verify the current behavior before relying on a hard-coded assumption.

A limit TP/SL is appropriate when refusing a worse price matters more than guaranteed execution. The trade-off is explicit: execution certainty versus price certainty.

Operational checklist

Check the trigger direction, reduce-only behavior, quantity, reference price, and whether the order remains valid if the position changes. A stale stop left behind after manually reducing or reversing a position can create unintended exposure if not configured safely.

Bots should reconcile open trigger orders after fills and cancellations rather than assuming the exchange state matches local strategy state.

Sources

  1. https://hyperliquid.gitbook.io/hyperliquid-docs/trading/take-profit-and-stop-loss-orders
  2. https://hyperliquid.gitbook.io/hyperliquid-docs/trading/order-types
  3. https://hyperliquid.gitbook.io/hyperliquid-docs/trading/robust-price-indices