Your liquidation price is an estimate
Liquidations trigger on mark price, not last price. Kraken says the reason plainly: last price is the cheapest number to manipulate. Hyperliquid builds mark from a three-way median, and warns its own displayed liquidation price may not be the real one.

The liquidation price shown next to your position is an estimate. The number that actually decides whether you are liquidated is computed by the exchange, from a price you are not looking at.
Here is what that price is and why it is not the one on your screen.
Two prices, two jobs
Every venue separates the price a trade executed at from the price your open position is valued at.
Kraken states the split directly: the Last Price "is used to determine realized profit and loss," while reference prices, specifically the Mark Price, "determine the value of a position and trigger liquidations." And it gives the reason without hedging: "Because a large trader could theoretically manipulate the price of a contract on one platform," the Last Price is not used to trigger liquidations.
Hyperliquid's liquidation documentation says the same thing from the other direction. Liquidations "use the mark price, which combines external CEX prices with Hyperliquid's book state," and the docs add that this "makes liquidations more robust than using a single instantaneous book price."
OKX makes the failure mode concrete: a large market order, or a quiet moment with less depth on one side of the book, can push the last price away from where other venues trade, and it returns once the book refills.
The logic is worth stating plainly. A liquidation is an involuntary transfer of property, with no appeal. If the trigger were a number printed by a book that any single actor can move for one block, then whether you got liquidated would be a function of someone else's order size rather than of the asset's value.
What mark price actually is
There is no single industry formula. Each venue documents its own construction, and they differ in kind rather than in parameter.
Hyperliquid publishes the whole formula. Mark price is the median of three prices:
- Oracle price plus a 150 second exponential moving average (EMA) of the difference between Hyperliquid's mid price and the oracle price
- The median of best bid, best ask and last trade on Hyperliquid
- Median of Binance, OKX, Bybit, Gate IO and MEXC perp mid prices, weighted 3, 2, 2, 1, 1
If exactly two of those three inputs exist, a 30 second EMA of the median of bid, ask and last is added back in. The docs are explicit about purpose: mark price "is an unbiased and robust estimate of the fair perp price, and is used for margining, liquidations, triggering TP/SL, and computing unrealized pnl."
Two details in that list are the ones retail traders miss.
First, the local book does not decide the mark alone. Input 1 is a basis term that remembers how far Hyperliquid's own mid has drifted from the oracle, and input 3 is external perp prices, not spot.
Second, the oracle underneath is itself a median of medians. Validators publish spot oracle prices every three seconds, each validator computing a weighted median of Binance, OKX, Bybit, Kraken, Kucoin, Gate IO, MEXC and Hyperliquid spot mids with weights 3, 2, 2, 1, 1, 1, 1, 1, and the clearinghouse then takes the weighted median of the validators' submissions, weighted by their stake.
Not every venue does this. dYdX's documentation uses the term "oracle price" and never "mark price"; the validator-aggregated oracle fills that role. GMX has no mark price at all. It marks longs at minPrice and shorts at maxPrice, deliberately valuing your position at the worse end of the index.
The number in your interface is an estimate, and Hyperliquid says so
This is the part that costs money. Hyperliquid's own docs carry two separate warnings about the liquidation price it displays.
When you enter a trade, an estimated liquidation price is shown, and "this estimation may be inaccurate compared to the position's estimated liquidation price due to changing liquidity on the book."
Once the position is open, a liquidation price is shown that "has the certainty of the entry price," but still "may not be the actual liquidation price due to funding payments or changes in unrealized pnl in other positions."
And on the gap between what you see and what is used: "During times of high volatility or on highly leveraged positions, mark price may be significantly different from book price."
The failure runs both ways, which is the part most descriptions skip. OKX notes that the default price chart is drawn on the last price while unrealised PnL on an open position is calculated on the mark price, so when those differ, the PnL on your position and the figure you would work out from the chart differ too. You can be reading a chart that never touched the number deciding your margin.
The stop-loss trap
Put those two mechanisms together and you get the sharpest documented edge in this whole area.
Liquidation watches mark price. A stop-loss set on last price watches the book. Those are different numbers, moving at different times, and during a fast move they can disagree about which happened first.
Kraken documents that it is possible to be liquidated before your stop-loss triggers. OKX makes the mirror-image point: a last-price-triggered stop can be taken out by a spike that other platforms never showed.
So the ordinary defensive reflex, set a stop and accept you will be closed at your limit, does not hold when the exchange's trigger and yours are reading different numbers. On a leveraged position, the stop is a statement about the book and the liquidation is a statement about mark price, and there is a gap between them that widens with volatility and leverage.
What is actually controllable
Treat any displayed liquidation price as provisional. Hyperliquid's docs disclaim it twice. It is derived from a mark price that moves every three seconds and from your other positions if you are cross-margined.
Check whether your stop triggers on the same price as your liquidation. If one is on mark and the other on last, you do not have a stop; you have a second, worse liquidation.
Watch the basis, not just your PnL. On a large position, funding payments and unrealized PnL elsewhere in a cross account both move the number that matters. A stop placed on your entry logic will not fire on their arithmetic.
Raise leverage awareness as position size rises. The docs' own warning is about "high volatility or highly leveraged positions", where the two conditions multiply rather than add.
Understand which construction your venue uses. A three-way median, a validator-weighted oracle and a worst-of-index are different amounts of protection. You cannot tell from the interface.
The wider point
The mark price exists because a liquidation trigger must not be forgeable by a single actor. That reasoning is sound and the construction is public.
What is worth noticing is the cost of the protection. You are asked to accept a number on a screen that is a known approximation of the number that governs you. The exchange is being candid about it: Hyperliquid's warnings are more explicit than most. But candour in the documentation is not the same as visibility in the interface, and the gap between the two is where a leveraged position quietly becomes a closed one.
Risk note: cryptocurrency trading and leveraged perpetual futures carry significant risk of rapid and total financial loss. Never risk funds you cannot afford to lose completely. Liquidation prices shown by a venue are estimates and may differ from the price at which liquidation actually occurs. Nothing in this article is investment advice, a recommendation, or an offer to sell any product.
