Liquidation Map · cross-exchange

Crypto Liquidation Heatmap

API ▸ How to call this

A live crypto liquidation heatmap, free to view. Every bright cell is a forced liquidation that actually executed — real data, not an estimate — shown by price level and time for BTC, ETH, SOL, XRP and 500+ pairs.

Forced liquidations that actually executed, placed at the time they printed and at the price the venue reported for them — some venues report a fill, others a price their liquidation engine set rather than a level the tape traded, which is why some cells sit outside the candle beside them. Switch to Projected for a model of where liquidations would sit instead.

2:00
How to read this heatmap

Every cell already happened

This view plots forced liquidations the exchanges publicly reported. Cyan/green/yellow = longs were liquidated there, red/pink = shorts. Colour follows the side that was actually liquidated, so a long wipeout can print above price during a whipsaw. Brighter = more notional in that cell, log-scaled so one cascade cannot black out the rest.

Candles

A candle is green when the bar closed up and red when it closed down — that is the default. The candle-colour button above the chart switches the pair to the original white up / black down scheme and remembers which you chose; the two outlined chips in the chart legend always show the pair actually being drawn. Whichever pair is on, a candle is the only mark here with a wick and a hard keyline around its body, and the flat unoutlined blocks behind it are liquidation cells whose colour means which side was liquidated, never a direction — so a red candle is a bar that closed down, while a red cell is a short that was force-closed. These are real perpetual-futures bars — the same market the liquidations come from. Each column's candle is aggregated from several finer bars that open inside that column, so the bar you see spans the column it is drawn on. The note under the timeframe buttons says which market drew them, how many bars went into each candle and how much of the column they are guaranteed to cover — and if the overlay had to fall back to spot, it says so.

Why colour can sit where the candle never went

A cell is placed at the price the venue reported for that liquidation, and venues do not all report the same thing. Some publish a fill: the average price the liquidating order filled at. Others publish an engine price — a bankruptcy price, a liquidation price or a liquidation-mark price — which is not a price anything changed hands at. Measured on 31,544 BTC prints over ten days, each venue against its own 1-minute perpetual candles: where a venue publishes the engine’s price, the majority of its prints sit outside the traded high/low of the minute they printed in; where it publishes the fill, almost none do. We do not publish a per-venue breakdown. So a bright cell above or below the candle is usually the engine’s price for a forced close, not a level price reached. The candle overlay is the perpetual-futures market, as is the current-price line and every cluster distance measured from it.

Cluster labels

Pills on the right edge mark the three heaviest long and short clusters in this window — price level, and how far that level sits from the current price as a percentage. That percentage is a distance, not a probability.

Blank space is coverage, not calm

An empty column can mean nothing liquidated, or that nothing was being recorded yet. The note under the timeframe buttons says which, and from when recording starts. Cascade risk and the nearest-cluster distances are model outputs, so this view has no number for them and displays the placeholder character “—” (an em dash) instead; switch to Projected for those.

View:

Realized = forced liquidations that actually executed on the exchanges, placed at the price each exchange reported for them. Projected = where liquidations would occur if price reached that level, modelled from open interest and leverage bands — not events that happened.

Timeframe:
Cascade Risk
—
Nearest Long Liq
—
below current price
Nearest Short Liq
—
above current price
Open Interest
—
What these metrics mean

Cascade Risk

Reads — in this view, and that is the honest answer: cascade risk is scored from projected positions, and the realized feed reports executed events instead. A number here would have to be invented. Switch to Projected to see it, and read its definition there before you use it.

Nearest Long Liq

How far below the current price the closest realized long cluster sits — a price level where longs were actually force-closed inside this window. It is history, not a warning that longs are stacked there now: that leverage is already gone. Reads — when no long cluster printed below spot.

Nearest Short Liq

The same measurement above the price, for shorts. The two are independent readings here and will normally differ — unlike in the Projected view, where the model forces them to be equal.

Long / Short Liq (window)

The one KPI this view can fill: total notional liquidated on each side inside the window the feed actually returned — the header states that window. Long-heavy means longs were the ones being flushed, which is history, not positioning.

Liquidation Heatmap
BTC/USDT
Long liquidated (cell) Short liquidated (cell) Candle up Candle down Price
Volume traded measured zero not recorded partial bucket
--
Current: --
--
How to Read the Heatmap
Dual-Color Heatmap
Cyan→green→yellow = longs were liquidated there, red→pink = shorts. Colour follows the side that was actually liquidated (usually longs below price, shorts above — but a whipsaw prints both). Brightness is notional in that cell, log-scaled so a single cascade cannot black out everything smaller. Bright cells are levels where leverage has already been cleared — a record, not a forecast. A cell’s price is the price the venue reported for that liquidation, which for some venues is an engine order price rather than a traded one, so colour can appear where the candle never went.
Candles & Timeframes
Candles are green up / red down by default; the candle-colour button above the chart switches them to white up / black down and remembers the choice, and the outlined chips in the chart legend always show the pair in use. A candle body and a liquidation cell can land on the same hue — with the default candles and the default ramp it is red on both — and they mean different things, so a candle is drawn the way nothing else here is: it has a wick and a hard keyline around its body, and that body is opaque. A liquidation cell has none of those — it is a flat translucent block filling a whole column and price band. A red candle = the bar closed down. A red cell = a short was force-closed. The Look button above the chart measures how close your candle colours actually sit to the ramp in use, and offers the white-up / black-down pair, which no cell can be confused with. The timeframe button sets the candle interval and the lookback window — 5m shows the last few hours in 5-minute columns, 1D up to 90 days in daily ones — and each column’s candle is aggregated from several finer USD-M perpetual bars that open inside that column — the same market as the liquidations — never one coarser bar stamped onto a column it does not cover. Controls follow TradingView: scroll zooms time around the cursor, drag pans, drag the price axis stretches price (shift+scroll does the same), drag the time axis stretches time, and double-click resets — on an axis, just that axis.
Cluster Labels & Tooltip
Labeled pills on the right edge mark the three heaviest long (cyan) and short (red) clusters, each with its price and its distance from the current price — that percentage is how far away the level is, never a likelihood. Dashed lines trace them across the chart. Hover or tap any cell for what it actually contains: the price bucket, the notional liquidated, and the candle it sits under.
Long liq
Dense
Short liq
Dense
Cyan/teal cells — longs that were force-closed at that time, at the price the exchange reported for them. Heavy cyan marks a level where downside leverage has already been flushed out. It is not support and not a target; it is the receipt for a move that has been and gone.
Red cells — shorts that were force-closed at that time, at the price the exchange reported for them, i.e. a squeeze that already ran. Reading it as resistance is a forecast you are adding; the data says only that shorts were wiped out there.
Top Liquidation Clusters
Side Liq Price Leverage Volume Distance Intensity
Loading...
How to Read the Cluster Table
Side (Long vs Short)
Long clusters sit below the current price — these liquidate on a drop. Short clusters sit above — these liquidate on a pump. Rows sorted by total notional size so the most impactful levels appear first.
Leverage Band
Higher leverage (50x, 100x) positions liquidate at much closer distances to entry price, making them fragile. A 100x position liquidates just 1% away. Lower leverage (2x–5x) positions need a 20–50% move to liquidate.
Distance % and Intensity
Distance shows how far price must move to reach that cluster. Intensity bar compares cluster size relative to the largest cluster on screen. Bright yellow = most dangerous. Prioritize clusters within 3–5% of current price.
Strategy tip: when a large long cluster sits 2–3% below and a large short cluster sits 4–5% above, the market may be range-bound until one side gives. A break toward either cluster often accelerates sharply once liquidations begin.
Data: /v1/liquidations → docs
Realized Liquidations by Price Level
Free · Live CEX feeds BTC
Longs Liquidated
—
Shorts Liquidated
—
Total Events
—
Exchanges
—
Forced-liquidation notional per price bucket — longs vs shorts (stacked)
Long Short
Price Level Total Notional Long Short Events Dominant
Loading…
These are REAL executed forced liquidations, streamed live from the venues’ own public WebSocket feeds and bucketed by the price each venue reported for the liquidation. Tall bars = price levels where leveraged traders were actually wiped out; the biggest clusters mark leverage pockets that already blew up. This is not a prediction — it is a record of what happened. The estimated-cluster heatmap above projects where liquidations could trigger; this section shows where they did.
Free & public — no API key required. Data depends on the live stream; quiet symbols or a just-restarted gateway will show an empty window until liquidations print.
Data: /v1/liquidations/heatmap → docs

Where the events come from

Forced-liquidation prints are read straight off the venues’ own public streams. Every cell is an order a venue itself reported as a liquidation. Nothing is modelled, inferred or filled in. The chart header shows which venues contributed to the window you are looking at, not a fixed list.

How a cell is built

Each print is placed in the time bucket it printed in and in the price bucket of the price the venue reported for it, and the notional in that cell is summed. That reported price is usually not a traded price. Some venues publish a fill — the average price the liquidating order filled at. Others publish an engine price: a bankruptcy price, a liquidation price or a liquidation-mark price, not a price anything changed hands at. Measured 2026-08-18 17:47 → 2026-08-28 17:47 UTC on 31,544 BTC prints, each venue against its own 1-minute perpetual candles, allowing the adjacent minute and a 2 basis-point tolerance: where a venue publishes the engine’s price, the majority of its prints sit outside the traded high/low of the minute they printed in, typically by a few hundred dollars; where a venue publishes the price the position actually filled at, almost none do. We do not publish the per-venue breakdown of that measurement. So cells at price levels the candle never reached are the normal case here, not an error — they are where the engine priced a forced close. There was a second cause, and it was ours: every cell is a perpetual-futures liquidation, and the candle behind it used to be drawn from spot. Over 1,000 consecutive 1-minute bars the BTC perp mid sits a median $31.78 below spot, and all 1,000 of those perp bars have a range the spot bar does not contain — so a perp print drawn against a spot wick escapes it as arithmetic, whatever the venue reported. The overlay is now the perpetual market, and so is the current-price line and every cluster distance measured from it.

Coverage is the honest caveat

The limit on this view is not accuracy, it is coverage: we can only show what was being recorded. A blank column means nothing was recorded then, which is not the same as a quiet market — the note under the timeframe buttons states how many columns carry recorded liquidations and, where the window starts before recording did, from when recording begins.

Every bright cell already happened

A bright red cell is shorts that were force-closed at that time, at the price the exchange reported for them; a bright cyan cell is longs. This is a record, so it carries no opinion about the future — it tells you which price levels have already been cleared of leverage, and how violently. The levels that blew up are, by definition, the ones no longer stacked there.

Read the gaps as carefully as the clusters

Sparseness is normal and it is the truth: real forced liquidations are rare and clustered. In a live 4h BTC window only a small minority of cells are populated at all. Resist reading an empty stretch as calm until you have checked the coverage note — an empty column is either “nothing liquidated” or “nothing was recording”, and the page distinguishes them for you rather than letting them look identical.

Coverage, not completeness

We show every liquidation our recorders saw, which is not every liquidation that occurred. A venue whose socket dropped, a symbol that was never subscribed, or a window that reaches back before recording started all produce blank space. Blank space here means “not recorded”. The coverage note under the timeframe buttons says which it is, and we would rather print that than a tidier-looking chart.

Venue mix moves the picture

Different venues report liquidations differently — some aggregate, some throttle, some publish each fill. They also disagree about what the price on a print means: some report an average fill price, others a price their liquidation engine set — a bankruptcy price, a liquidation price or a liquidation-mark price — all of which sit away from the last trade by construction. So the relative height of two clusters partly reflects which venues were live and talkative, and their exact price level partly reflects which of those two things a venue publishes. Compare clusters within one window before comparing across windows.

History is not a forecast

A record of forced selling tells you where leverage has already been cleared. It does not predict direction. We tested whether this data forecasts direction and published the results; none found a durable edge.

Realized view: every cell above is a forced liquidation a venue publicly reported, at the price that venue reported for it — for some venues an average fill price, for others a price the liquidation engine set, which is not a price anything traded at. The candle overlay is the perpetual-futures market the prints come from. Coverage begins when our recorders did, so gaps mean unrecorded, not calm. Informational only — not a recommendation, and not a forecast.

DeFi Lending Liquidations

Real, executed on-chain liquidations on AAVE, Venus & Benqi — captured directly from the project's own BSC & Avalanche full nodes. Unlike the CEX perp-liquidation heatmap above (which estimates leveraged positions), every row here is a confirmed on-chain event you can independently verify on the block explorer.

Straight from our nodes
We run a full BSC (geth) node and a full Avalanche node. Liquidation events are decoded from the chain as they happen — no third-party feed, no scraping.
Confirmed, not estimated
Each entry is a real LiquidationCall that already executed: a borrower's debt was repaid and their collateral seized. These are facts, not modelled positions.
A genuine differentiator
On-chain lending liquidations across AAVE / Venus / Benqi are something most derivatives aggregators (incl. Coinglass) don't surface. Distinct signal from the CEX perp map above.

How to read the liquidation heatmap: a BTC and ETH walkthrough

Each column is a time bucket and each row a price level. A bright cell on the long-side colour ramp means long positions were force-closed at that level and time; a bright cell on the short-side ramp means shorts were. Which colours those are depends on the palette you pick, and the legend above the chart always shows the pair in use. Brightness is the notional size on a log scale, so one large cascade cannot hide everything else. Every cell is a record of something that already happened, not a forecast.

Open BTC, pick a timeframe (5-minute columns for the last few hours up to daily columns over 90 days) and look for where bright cells bunch together: those are the price levels where leverage was recently cleared. Check the coverage note under the chart before reading an empty stretch as calm.

Open ETH and compare it with BTC on the same timeframe. If both show clusters at the same time, the forced selling or buying was market-wide; if only one does, it was specific to that coin. The data shows where forced flow happened, not where price will go next.

How do I read a liquidation heatmap?

Time runs left to right and price runs bottom to top. Cells on the long-side ramp are liquidated longs and cells on the short-side ramp are liquidated shorts (the legend above the chart shows which colours your palette uses); brighter means more notional size at that price and time.

How do I see the BTC and ETH liquidation heatmap?

Use the symbol selector above the chart, or open the page with ?symbol=BTC or ?symbol=ETH. The page refreshes about every two minutes.

Why are most cells empty?

Real forced liquidations are rare and clustered, so most of the grid is empty. An empty column means either nothing was liquidated or nothing was being recorded; the coverage note under the chart tells you which.

Liquidation heatmap — common questions

What is a crypto liquidation heatmap?

The default view shows forced liquidations that actually executed, placed by price level and time; bright cells mark levels where a large notional of leveraged positions was liquidated. A separate, labelled Estimate view models where liquidations could sit and is never mixed into the executed data.

How is this heatmap calculated?

By default the page shows real executed liquidations. Each forced liquidation a venue reported is placed in the time bucket it printed in and at the price that venue reported for it, with brightness on a log scale. Venues report different prices — some a fill price, others a price their liquidation engine set — so cells can sit outside the candle beside them. The timeframe button sets the column width and the lookback window, from 5-minute columns over the last few hours up to daily columns over 90 days. A separate, clearly labelled Projected view (also shown as Estimate) models where liquidations would sit from open interest, funding and long/short data; it is never mixed into the realized view, and it cannot see individual traders’ actual liquidation prices, which no public data source can.

Which markets and symbols are covered?

Realized liquidations are recorded from the major derivatives venues that publish them, across 500+ derivatives markets. The estimate view is built from derivatives data from several venues. The page itself is free to view; the free API tier covers BTC, ETH, SOL, XAU, XAG, and paid tiers cover every symbol.

How often does the data update?

Derivatives data refreshes every two minutes, and the heatmap is rebuilt from the latest snapshot on each load.

Do liquidation clusters predict price?

No, and we will not claim otherwise. We tested whether this data forecasts direction and published the results; none found a durable edge. A heatmap tells you where forced flow happened, not where price will go next.

Is the liquidation heatmap free to use?

Yes. Viewing the realized heatmap on this page is free and needs no account. Calling the API without a key is tightly rate-limited; a free account gives you an API key with 200 calls a day, covering BTC, ETH, SOL, XAU, XAG. No card is required.