Reference · Non-custodial

Perp Order Types: Market, Limit, Stop and Reduce-Only

Open Trending →

Core Order Types: What Each Commits You To

Every perp order type balances two priorities: price control and fill certainty. Picking the wrong one is the top cause of unintended fills — either a worse price than expected, or no fill at all when you wanted to enter or exit.

Below is the exact commitment of each type, in one line:

For quick reference, here’s how they stack up on key tradeoffs:

Order TypeCore CommitmentPrimary BenefitPrimary Drawback
MarketExecutes immediately at the best available price.Very high fill likelihood.No price control; slippage possible.
LimitExecutes only at your specified price or better.Full control over fill price.No assurance of fill.
Stop MarketTriggers a market order at your trigger price.Automatic activation at your level.Fill price may be worse than trigger due to slippage.
Stop LimitTriggers a limit order at your trigger price.Control over fill price after trigger.May not fill if price moves through your limit fast.
Reduce-Only FlagModifies orders to only decrease position size.Prevents unintended position increases/flips.Only works with an existing open position.

Limit Orders: Protection vs. Fill Risk

Limit orders are the most commonly misused type for traders who get direction right but pick the wrong order type. Their core value is price protection, but that protection comes with a catch: you may not get filled at all.

When a limit order protects you

A limit order sets a strict boundary on your fill price. For a buy limit, you will never pay more than your limit price. For a sell limit, you will never sell for less than your limit price.

This is critical in volatile perp markets, where price can wick sharply in either direction before returning to its previous range. If you want to enter a long on a dip, a buy limit at your desired entry ensures you won’t buy at a higher price if the market bounces faster than you can react. For exits, a sell limit at your profit target ensures you won’t sell for less than that target if the market spikes to your level and immediately reverses.

When a limit order leaves you unfilled

A limit order only executes if the market reaches your limit price. If the market moves away without touching it, you get no position and no exit — even if your directional call was 100% correct.

This happens most often in fast-moving trends. Suppose you expect a perp to rally, so you set a buy limit below the current price to catch a small pullback. If the market instead accelerates higher without ever dipping to your limit, your order never fills, and you miss the entire move you correctly predicted. For exits, if you set a sell limit at your profit target but the market falls just short before crashing, you’ll be stuck holding a losing position you intended to exit for a gain.

Reduce-Only Flag: The Specific Accident It Prevents

Reduce-only is not a standalone order type — it’s a toggle added to limit, stop market, or stop limit orders — but it is one of the most effective tools for avoiding costly, unintended fills. Its sole function is to ensure the order can only reduce your existing position size, never increase it or open a new position in the opposite direction.

The specific accident it stops

The most common, and most expensive, accident reduce-only prevents is an unintended position flip or size increase from a small input error.

Here’s how it happens: You hold a full unit of a perp long, and you want to set a take-profit sell order to close your entire position at a higher price target. You accidentally type twice your position size into the order form, or select the wrong order side. Without reduce-only enabled, if the price hits your target, your oversized sell order executes fully: you close your long as intended, but you also open a new short position of the same size as your original long. You go from expecting to lock in profit to holding an unexpected short position exposed to further upside risk — all from a single typo.

Another common scenario: You mean to place a stop loss sell order for your long, but you accidentally select "buy" instead of "sell". Without reduce-only, if the stop triggers during a drop, you’d add to your long instead of closing it, doubling your exposure at the exact moment you wanted to cut losses.

With reduce-only enabled, both errors are neutralized. If your order size is larger than your existing position, it will only fill up to your current size, leaving no residual exposure. If the order would increase your position, it will either be rejected upfront or never execute, depending on the venue.

A key caveat: Reduce-only only works if you already have an open position. If you have no position, a reduce-only order will not execute.

Resting Trigger Orders: Exits That Trigger Without the App Open

Stop market and stop limit orders are trigger-based: they rest inactive until the market hits your pre-set trigger price, then activate as their underlying order type. These are called resting orders, and they do not require you to have the trading app open or be logged in to execute. This is critical for perp markets, which trade 24/7 — you can’t monitor every price level around the clock, so resting exits let you set stop loss and take profit levels when you enter a position, and walk away.

Stop market vs. stop limit

The choice between stop market and stop limit is another common source of unintended fills, and it comes down to the same tradeoff: fill likelihood vs. price control.

A stop market order prioritizes fill likelihood. Once the trigger hits, it becomes a market order, so it will execute as soon as possible at the best available price. The upside is that you are very likely to exit (or enter) the position once the trigger is hit, even in fast-moving markets. The downside is slippage: if the market is moving so fast that the order book thins out at your trigger price, your fill could be noticeably worse than your trigger level.

A stop limit order prioritizes price control. Once the trigger hits, it becomes a limit order at your specified limit price. The upside is that you control the worst price you will accept. The downside is no assurance of a fill: if the market moves through your limit price so fast that your order never gets matched, you will be left in the position you wanted to exit. For stop losses, this is a major risk — if the market crashes through your limit level, you could hold a position that falls far past your intended stop.

Resting order mechanics

On most centralized perp venues, resting trigger orders are stored on the venue’s internal servers, so they rely on that one company being operational to trigger. On Hyperliquid, orders rest in the exchange’s own on-chain order book, run by its validator set rather than a single company’s server; triggers still depend on that chain producing blocks, so a congested or halted chain delays them just as a server outage would.

On Trending, take profit and stop loss orders are placed by tapping the price level on the chart instead of a separate order ticket, reducing the chance of typing the wrong trigger price. These TP/SL orders rest on-chain and trigger without the app open, so they execute even if you are offline. Trending also shows your liquidation price before you confirm a position, so you can place your stop loss between your entry and that level and exit on your own terms before liquidation does it for you.

Try it on the chart →

Trending — visual perpetual trading. Home · hyperliquid alternative · how to trade perpetuals on chart · how to trade perpetual contracts · All guides

Trending does not provide investment advice. Trading perpetual contracts involves market and leverage risk. You are responsible for wallet safety and local regulatory compliance.