Trading
Order types
Nine types. One distinction between them can cost you an account: which ones your browser runs, and which ones the venue runs.
Pre-launch. Market data is live Hyperliquid mainnet. Order placement is not wired: the fills, position, PnL and volume shown here are simulated against the real price. Amber outline means simulated. What is built, in full.
Who runs the order
This is the section to read. The rest of the page is reference.
Your browser runs four of the nine types: TWAP, TRAILING STOP, OCO and PEG. They ratchet, cancel their sibling and chase the book only while this tab is open and connected. The moment it is not, they are doing nothing at all. A trailing stop that trails only while a browser tab is alive is a different product from an exchange-managed one, and the difference is invisible right up until the minute it is expensive.
The terminal says this in its own words. These are the exact strings it puts on the screen:
- TWAPTHIS BROWSER SLICES IT / CLOSE THIS TAB AND THE REST NEVER SENDS
- TRAILING STOPTHIS BROWSER TRAILS IT / CLOSE THIS TAB AND THE STOP STOPS MOVING
- OCOTHIS BROWSER CANCELS THE OTHER LEG / CLOSE THIS TAB AND BOTH CAN FILL
- PEGTHIS BROWSER RE-PRICES IT / CLOSE THIS TAB AND IT STOPS CHASING
Close the tab and four of them stop
Place one of those four, then close the tab, sleep the machine or lose your connection, and that order is not working. It is also not canceled at the venue, which for an OCO means both legs can fill. You get warned at the moment of each of those events, and a tab close is interrupted while any of them is live.
There is no server-side version. Running them with your tab closed needs a backend, and that is deferred.
Where the terminal tells you
In nine places, none behind a fold. There is no reading of the interface in which the warning is absent:
- On each client-managed chip in the order-type picker, plus two standing sentences at the foot of that picker naming both halves side by side.
- On the composer, immediately above the buy and sell buttons, so it is the last thing read before the press.
- On the order's own row afterwards, as the word
LOCAL, and on the working-orders strip as a dashed rail plus the same word. - In the working-order count, which cannot be read past: "2 of 3 need this tab open" is the whole sentence.
- As a standing count on the positions tab as well as the orders tab. The tab where you look at a position is a place you can be wrong about what is guarding it.
- Again, as a notice, if the tab has been hidden longer than 1200ms, if you go offline, when you come back, and as a browser prompt when you try to close.
All nine of them
| Type | Who runs it | What it does |
|---|---|---|
| Immediate | ||
| MARKET | Hyperliquid | Fills now, at whatever the book gives you. This is the only type the charge applies to. |
| Level | ||
| LIMIT | Hyperliquid | Rests at a price you set and fills only at that price or better. |
| STOP | Hyperliquid | Rests until price crosses a trigger, then sends a market order. |
| STOP LIMIT | Hyperliquid | Rests until price crosses a trigger, then places a limit order at a price you set. |
| SCALE | Hyperliquid | One order split across several price levels at once. Up to 20 rungs. |
| Algorithmic | ||
| TWAP | Your browser | Splits a size into timed slices. Defaults to 60 seconds total, one slice every 10 seconds, and will not exceed 40 slices. |
| TRAILING STOP | Your browser | A stop that follows price in your favor and never moves back. Defaults to a 0.5% trail, and takes an absolute distance instead. |
| OCO | Your browser | Two legs, a TAKE limit and a STOP trigger. One filling cancels the other. |
| PEG | Your browser | A resting order that re-prices itself to stay a set distance from the bid, the mid or the ask. 1 tick by default, re-priced no more often than every 320ms. |
Grouped by what happens to them, not by what they are called. The picker in the terminal uses the same three groups in the same order.
The chart ladder is not a tenth type
Dragging a price range on the chart places a SCALE. Same ladder of resting limits the typed composer gives you, placed by a gesture. It is tagged differently on the row so you can tell a drawn ladder from a typed one, and that is the only difference. Order entry covers the gesture.
Where time in force is taken away from you
Three options, across every resting type: GTC IOC ALO
Three types lock it to IOC and gray the control out, with the reason printed on screen. A market order is a taker. Every TWAP slice is a taker. A fired stop is a taker. Nothing is silently overridden.
Limits you will actually hit
Two of these bite in normal use. The $10 minimum stops a lot of first ladders, and the nine-order ceiling arrives faster than you expect once an OCO is costing two slots. The rest are here for completeness.
- Working orders
- 9
- An OCO costs
- 2 slots
- A ladder costs
- 1 slot
- Ladder rungs
- 2 to 20
- Minimum per rung
- $10
- Nine working orders at once. A scale or a drawn ladder counts as one, however many rungs it has, because it is held as a group. An OCO counts as two, because it is two orders.
- $10 minimum per slice or rung. Split $150 across 20 rungs and you are asking for $7.50 each. It is refused on the spot, with the arithmetic printed.
- A TWAP of one slice is refused. One slice is a market order, and the message says to shorten the interval. Above 20 slices you get a caution that does not block: every slice is a taker fill.
- An OCO reserves margin on one leg only, because only one of the two can ever fill. It also suppresses the separate TP and SL bracket, because an OCO is that bracket.
- A trailing stop with no position will open one. You get a caution saying so and the order still goes. A trailing stop is an exit, and using one as an entry is unusual without being invalid.
Four behaviors that are easy to guess wrong
- A trailing stop only tightens
- The trigger moves toward the mark and never away from it. Every write to the trigger is gated on being tighter than the one before, so a retrace cannot loosen a stop you were relying on.
- A peg pins instead of canceling
-
Set a price beyond which it stops chasing and it does exactly that. Once
pinned it behaves like an ordinary resting limit and the row says
PINNEDand does not go quiet. Re-pricing is rate-limited so it cannot chase faster than the book moves meaningfully. - A TWAP catches up, if the tab is still there
- Hide the tab through three slice times and the slices do not vanish: the next tick fires all three. It fires them at the price when you came back, which is not the price they were scheduled for. Close the tab instead and nothing catches up, because nothing is running. This is the part people assume the venue is handling.
- Flipping a resting ladder is a replace
- Changing the side of a ladder that is already working cancels every rung and places new ones. It is not a modification and the order ids change. Reshaping a ladder in place is a modification and the ids survive.
What this build does differently, and it matters here
The split above is the shipped design and it is what each order's payload is built for. Order placement is not wired, so today every one of the nine runs in your browser, as a local model of venue behavior against the venue's real price. Nothing in this panel is guarding a real position, because there are no real positions.
Read the section above as the answer to "what will be true when it is wired", and read it carefully then. The venue holding your stop and your browser holding it are the same interface and a different outcome. What is built has the line in full.