Liquidations
The Liquidations page is a pressure instrument: who is being flushed, how hard, right now — and where the next flush is waiting. It has one state — watching. The board is a master-detail surface: tap a coin on the ladder and the centre column points the full instrument at it, in place — selection is view state, never a mode. Each coin also has its own drill page — a navigation, not a mode.
Confirmed (lower bound)
Hyperliquid does not publish a liquidation feed, so most liquidation trackers estimate — leverage assumptions dressed up as data. Our detector takes the opposite trade:
- Large taker prints on the live trade stream become candidates.
- Each candidate's account fills are checked against Hyperliquid's own fill records, biggest first, at a deliberate pace that never crowds the venue's rate limits.
- Only fills carrying HL's own liquidation marker are ingested. Nothing is inferred.
The result is 100% precision, partial recall: every row is a real liquidation, but not every liquidation becomes a row. Every count on the page therefore carries the label confirmed (lower bound) — the numbers are floors, never estimates.
The direction law
One law colors everything on the page: a liquidated long is a forced sell, so it paints rose; a liquidated short is a forced buy, so it paints green. Ink follows the direction of the forced flow, not the position that died — the page shows market pressure. Violet ✦ marks pair-signal relevance, and the amber accent is reserved for cascade state and forward pressure. Green and rose never mean anything else — which is why the leverage and underwater strips use a neutral ink ramp: urgency is not direction.
The board
Three columns under one fascia: the ladder on the left is the selector, the instrument in the centre is the coin drill's composite pointed at the selected coin, and the right column stacks the tape over ✦ pairs impact. The page itself never scrolls on desktop — panels scroll internally where content runs deep.
Pressure Line
One line of truth across the top: the market's cascade state (CALM → ELEVATED → ⚡ CASCADE on {COIN}), 24h confirmed notional with a diverging long/short bar, the biggest single liquidation of the day, and how fresh the detector is. The cascade state is computed per coin from a rolling window of confirmed flow, with thresholds calibrated from our own archive's percentile distribution — recalibrated as the archive deepens, never guessed.
When the HLP vault absorbed any of the day's flow, a ⚑ backstop chip shows the share of 24h notional the vault took — the venue's own tail-risk meter: the book couldn't absorb these. It renders only when the number is non-zero. Absence is the reading.
Next to it, the ◎ magnet mass chip: the total known liquidation notional sitting within 3% of each coin's mark — side-split, long mass below the mark and short above — the forced flow waiting if price walks a step. It too renders only when the mass is non-zero, and its tooltip names the registry's coverage: known positions only, a lower bound.
The ladder — a selector
Every coin with confirmed flow in the last 24h, ordered by the last hour. Tap a row and the instrument points at that coin — the pick is pinned until you clear it; the › chevron opens the coin's drill page instead. Each row: a full-row long/short underlay shaded by 1h flow — √-scaled on a shared max, so a small perp's flush stays visible beside a major's — the 1h total, a 24h sparkline of hourly flow, a cascade dot when that coin's episode state machine is elevated or open, a violet ✦ when the coin legs one of the day's eligible pairs, and (on wider screens) a ◎ column with the coin's own magnet mass near its mark. The panel header toggles the sort between notional and ‰ intensity — view state, nothing refetches.
The ‰ column is 1h liq/OI: confirmed 1h liquidation notional ÷ the venue's open interest. It normalizes flush size — a small flush on a small perp reads as the event it is — and highlights at 10‰, meaning 1% of the market's entire open interest was flushed in an hour. When there is no fresh OI snapshot or no 1h flow, the column shows —: the ratio is withheld, never estimated.
The instrument
The centre column renders the coin drill's composite in place, on its own 30-second poll. The default coin is chosen by escalation — cascade coin → worst open episode → top ladder coin by 1h notional → by 24h — and the header always names how the coin was chosen (cascade coin, top ladder coin · 1h, or pinned once you've tapped one, with an ✕ to follow the chooser again). The header also carries the coin's cascade state, its 24h long/short mini-bar, its 1h liq/OI, a re-levering sparkline — 24h of the summed venue-reported position value across watch-registry wallets holding the coin at risk, one point per ~20-minute sweep cycle: rebuilding after a flush is forward pressure returning (the chip stays absent until two points exist) — and the full drill › link.
The composite itself is one shared price axis with the past/forward seam made literal:
- To the left, the fired trail — confirmed liquidations binned into hour × price cells, hue by the flushed side (rose = longs flushed, green = shorts), with the coin's hourly close threaded through from our own candle archive.
- To the right, the forward rail — this coin's known liq levels, binned onto the same price rows.
Where liquidations fired, and where the known ones are waiting, on one ruler.
The known liquidation map
The forward rail's levels are real, not modeled. The terminal maintains its own watch registry of the venue's most active wallets, ordered by 30 days of large-taker notional, and a paced sweep re-reads each registry wallet's positions roughly every 20 minutes — recording the venue's own computed liquidation price for every levered position it finds. No leverage assumptions, no estimates: known positions only, which makes every number here a lower bound on the real liquidation mass. The coverage line under the instrument says exactly what the registry sees — wallets swept, levels held, notional known.
The mark it measures against is the last archived 15m close, labeled with its age — the page never talks to the venue directly. A wallet the sweep failed to re-read keeps its old levels but dims past 45 minutes with the staleness named: stale never looks live. Empty halves stay empty — if nothing is known below the mark, that half says so rather than padding. Tap a bin for its price range, distance from mark, and the notional and wallets behind it.
Known leverage profile
Under the canvas, the coin's known leverage profile: a real histogram of the tracked positions' venue-reported leverage — <5x / 5–10x / 10–20x / ≥20x by notional — with the cross/isolated margin split. Trackers estimate leverage distributions; these are actual account settings read from the venue, zero estimates — but known positions only: a lower-bound sample of the market, not its composition, which is why the strip carries its own coverage sentence — wallets, tracked notional, and the share of venue open interest when a fresh snapshot exists. Positions the venue reports no leverage for are counted, never bucketed.
Underwater gauge
Below it, the underwater gauge: how much known notional is already adverse against its venue-reported entry — bleeding toward the magnet — bucketed by distance from the mark to each position's venue-computed liquidation price: <2% / 2–5% / >5%. Brighter means closer to liquidation; a position already past its liq price counts in the nearest bucket; underwater positions with no venue liq price are counted with the distance honestly unlabeled. A tracked coin with nothing underwater says so — that is a reading, not an empty panel.
The Tape
Confirmed prints, newest first: time, coin, the liquidated side, notional, price. Rows over $1M carry a persistent glow. Rows flagged ⚑ backstop were absorbed by the HLP vault — the liquidation engine handed the position to the backstop rather than the book. No public feed distinguishes these; our detector sees them directly.
During cascades the tape collapses bursts: same-coin prints chain while consecutive gaps stay under 30 seconds, and the chain renders as one expandable row — coin, print count, side, total notional. A cascade reads as one event instead of a dozen near-identical lines; expanding shows the exact raw prints, nothing summarized away.
✦ Pairs Impact
The reason this page exists inside a pairs terminal. When a liquidation burst in the last 4h touched a leg of an eligible pair, a cell appears: which pair, which leg, when, how much was flushed and on which side — plus the pair's live z-score right now, on the same locked daily recipe the pairs page uses. A forced flush on one leg is exactly the kind of dislocation pair statistics are built to price. It sits under the tape, ordered by severity — cascades first, then flush size, then recency — and each cell links to the pair.
Once the evidence window is full, the strip's eyebrow carries the archive's own verdict: the share of stretched spreads that reverted toward their mean within 4 hours, with the episode count. And when the archive has seen the burst coin drag the pair's other leg before, a cell gains a second-leg pressure expected line — how many of the lead coin's episodes saw the other leg open its own burst within 120 seconds. Counts are always shown, so thin data reads as thin: 2 of 3 episodes argues less than 14 of 20. It is anticipated pressure from observed co-occurrence, never a prediction.
Rows here are event-earned. When nothing qualified, the panel collapses to a single quiet line — no pair legs disturbed in 4h — and the tape takes the space. An empty strip is a reading, not a bug.
On mobile
Below the fascia the board becomes segmented tabs — Coins · Instrument · Tape · Pairs — each pane filling the remaining viewport with its own scroll; tapping a coin jumps to the Instrument tab. The ⓘ tab holds the full legend and methodology, because tooltips are hover-only and mobile has no hover.
The coin drill
Every ladder row's › links to /liquidations/{coin} — a real route and the canonical deep link, not a mode. It renders the same instrument as the board's centre column — fired trail, shared axis, known map, leverage profile, underwater gauge — at full width, seven days deep, plus what the slim header can't carry:
- A fascia with the coin's 7d fired totals, its 1h liq/OI, a snapback chip once the evidence window is full, and violet ✦ chips linking any eligible pairs the coin legs.
- The re-levering panel at full size — the header spark's series with its wallet count and per-cycle points.
- The coin's own evidence strip (next section).
- A server-rendered prose block — About {coin} liquidations — quoting the same confirmed, known-map, leverage, underwater and magnet-mass numbers under the same honesty gates, so what a crawler reads never disagrees with what the live board shows.
Evidence — the 30-day gate
The evidence stats answer the two questions worth asking of a cascade archive:
- Snapback — of closed cascade episodes, the share where price traded back to the last pre-episode 15m close within 15 minutes, 1 hour, and 4 hours — measured on our own candle archive, direction = the flushed side. The archive's answer to "do cascades overshoot?"
- Pair edge — for episodes on an eligible pair's leg where the pair's frozen-solve z was stretched (|z| ≥ 1σ) at episode open: the share where the spread sat closer to its mean 4 hours later, and the median move in σ.
Both are computed nightly from confirmed episodes only — lower bounds, like every count on the page. And both are withheld until the cascade archive is 30 days deep: a thin window would overstate certainty, so until then every evidence surface reads warming — Xd of 30d instead of a number. The stats light up by themselves the day the window fills. If you see "warming", nothing is broken — the terminal is refusing to show you a statistic it cannot yet defend.
When the detector is offline
Stale never looks live. The updated-ago readout stays quiet while heartbeats are fresh, turns amber when they lag, and past that the page shows "detector offline — showing archive": all motion stops, panels dim, nothing pulses. A calm market with a live heartbeat looks calm; a dead pipe looks dead — the page never lets you confuse the two.