Why a Wick Can't Liquidate You on Hyperliquid: Mark Price, Explained

It happens on every venue: a thin order book, one aggressive market order, and the chart prints a monstrous wick. Twitter screams manipulation, and traders assume everyone positioned below it just got liquidated. On Hyperliquid, that assumption is wrong in almost every case. Liquidations are not driven by the last trade you see on the candle: they are driven by the mark price, a deliberately wick-resistant formula. Let's walk through how it works, including the special cases of HIP-3 markets and Hyperps.
🕯️ 1. What a Wick Actually Is
The price a candle draws is the last trade price: whatever the most recent fill happened to be. When someone sends a large market order into a thin book, it eats through several levels of liquidity, fills at increasingly bad prices for a few seconds, and the chart records the damage as a long wick. Nothing about the asset's fair value changed: on Binance, on OKX, and on the oracle feed, the price never moved.
A wick is a local liquidity event, not a market-wide repricing. The whole design question is: should a few seconds of thin-book chaos be able to close your position? Hyperliquid's answer is no.
⚖️ 2. Liquidations Follow Mark Price, Not the Last Trade
The docs are explicit: "Liquidations use the mark price, which combines external CEX prices with Hyperliquid's book state", which "makes liquidations more robust than using a single instantaneous book price."
As a refresher, a liquidation is triggered when your account equity falls below the maintenance margin, which on Hyperliquid is half of the initial margin at maximum leverage (from 1.25% to 16.7% depending on the asset). When that happens, the position is first closed with market orders on the book (in 20% tranches for positions above 100k USDC), and if equity keeps falling below two thirds of the maintenance margin, a backstop liquidation transfers the position to the liquidator vault. Every step of that process reads the mark price, and by default your TP/SL triggers, margin checks and unrealized PnL read it too.
🧮 3. Inside the Mark Price Formula
The mark price is the median of three independent inputs:
- The oracle price plus a 150-second EMA of the spread between Hyperliquid's mid price and the oracle. The oracle itself is a weighted median of CEX spot prices, published by validators roughly every 3 seconds.
- The median of Hyperliquid's best bid, best ask and last trade.
- The median of perp mid prices on external exchanges, weighted Binance 3, OKX 2, Bybit 2, Gate 1, MEXC 1.
If exactly two of the three inputs exist, a 30-second EMA of Hyperliquid's book median is added as a tiebreaker. The result updates every time validators publish new oracle prices, about every 3 seconds.
🛡️ 4. Why a Few Seconds of Chaos Can't Liquidate You
Look at what a wick actually touches in that formula: only input 2, the one built from Hyperliquid's own book. Inputs 1 and 3 come from validator oracles and external exchanges, and a wick on Hyperliquid does not move either of them. The median of three values where two are unaffected is... unaffected.
For a wick to trigger liquidations, it would have to last long enough and spread wide enough to move CEX prices and the oracle too. At that point it is no longer a wick: it is a real market move, and liquidating underwater positions is exactly what should happen.
🏗️ 5. What About HIP-3 Markets?
Builder-deployed perps (TradeXYZ and friends) run on the same engine. The difference is who operates the oracle: the deployer is "responsible for market definition, including the oracle definition" and for "setting oracle prices". That responsibility is backed by a 500,000 HYPE stake, and deployers are subject to slashing across all markets of their DEX if they operate them badly. Incentives are aligned, and the mark price and liquidation machinery is the same as on native perps: a wick on a HIP-3 book does not liquidate you either.
🚀 6. Hyperps and IPOPs: No Oracle Exists, So the Formula Changes
Pre-launch assets have no spot market and no external price at all, so inputs 1 and 3 simply do not exist. Hyperps solve this by replacing the oracle with an 8-hour exponentially weighted moving average of the last day's minutely mark prices, with hard safety caps: 3x the 8-hour EMA, 1.5x the external perp median if the asset is listed elsewhere, and 4x the one-month average mark price. Funding premiums are also scaled down to 1% of the usual formula.
This is the mechanic behind TradeXYZ's IPOPs ($QNT, $SPCX and the next ones): an anchor built from hours of history is even harder to move with a few seconds of aggression than a three-input median. Once the asset officially lists, the Hyperp converts into a standard perpetual with a real oracle.
