# How to watch liquidations on perpetual venues

A forced-liquidation feed is throttled at the exchange, so every total built on it is a floor. Four ways to read one, and what the print actually is.

*https://cryptomarkets.tools/how-to/watch-liquidations · next to Crypto Market Data APIs*

**Answer:** Take it from the venue if you want the prints and from an aggregator if you want a total. Binance and Bybit both publish a public forced-liquidation stream, free and keyless; Coinalyze aggregates sixteen venues for nothing, and CoinGlass, Velo and Hyblock sell the history and the models built on it. Every one of those totals is a floor, because the exchange feeds are throttled at the source.

## Approaches

*In the author’s order. Paid placement does not affect it.*

1. [Binance Market Data API](https://cryptomarkets.tools/tools/binance-api.md) — The venue's own forced-order stream, free and unkeyed — the prints themselves, throttled to one order per symbol per second.
2. [Coinalyze](https://cryptomarkets.tools/tools/coinalyze.md) — Sixteen venues aggregated into one liquidation history endpoint for nothing, on a rolling window of 1,500 to 2,000 points.
3. [CoinGlass API](https://cryptomarkets.tools/tools/coinglass.md) — The paid version of the same series — per-pair, coin-aggregated and a raw order feed — with the heatmaps four tiers up.
4. [Velo](https://cryptomarkets.tools/tools/velo.md) — Liquidations broken down by the venue they came from rather than merged, at one-minute resolution alongside funding and open interest.
5. [Hyblock Capital](https://cryptomarkets.tools/tools/hyblock-capital.md) — Estimated liquidation levels and a heatmap — where positions would be closed, which is a model and not a feed of prints.

## The short way

Subscribe to the venue's own forced-liquidation stream. On the two largest perpetual venues it is
public, keyless and free, and the topic names are short enough to write down.

```text
<symbol>@forceOrder      one symbol, Binance USD-M futures, pushed at most every 1000ms
!forceOrder@arr          every symbol on that venue, same stream, same interval
allLiquidation.BTCUSDT   Bybit v5, push frequency 500ms
```

[Binance's market data API](https://cryptomarkets.tools/tools/binance-api) and [Bybit's](https://cryptomarkets.tools/tools/bybit-api) both answer public
websocket subscriptions with no account and no key; what is metered is connections and weight per
IP rather than per key, which is the constraint that decides how you deploy rather than whether you
can read the feed at all.

If you want a number rather than a stream, [Coinalyze](https://cryptomarkets.tools/tools/coinalyze) publishes a liquidation
history endpoint across sixteen venues on a free key at 40 calls a minute. That is one request, and
the rest of this page is about why the answer it returns is a floor rather than a total.

## What the options are

**The prints, from the venue.** The two streams above. Use them when you want the individual
forced orders with their own timestamps, when you are recording rather than querying, and when you
would rather own the aggregation than inherit somebody else's. You get one venue per connection
and no history at all — a websocket starts when you connect, so a backfill is a separate purchase.

**One free aggregate.** Coinalyze covers sixteen venues — Binance, Bybit, OKX, Gate.io, Huobi,
Kraken, Deribit, Bitfinex, Phemex, WOO X, Coinbase, dYdX, Hyperliquid, Aster, Lighter and
Polymarket — with a 24-hour liquidation column in the main table and a per-coin liquidation page
behind it. The API is free and the catch is retention: 1,500 to 2,000 datapoints for any intraday
granularity from one minute to twelve hours, deleted daily. At one-minute granularity that is
between 25 and 33 hours of history, permanently.

**The paid version of the same series.** The [CoinGlass API](https://cryptomarkets.tools/tools/coinglass) sells liquidation
history per pair and aggregated across exchanges, a raw liquidation order feed that updates every
second, and three heatmap models. Read the tier table before the plan cards: the raw order feed
starts at Standard, $379 a month, and the heatmaps the vendor is best known for are Professional
and Enterprise only. The free web terminal at [CoinGlass](https://cryptomarkets.tools/tools/coinglass-web) carries the
liquidation history and map pages for nothing, and the heatmap for BTC and ETH.

**Split by venue rather than merged.** [Velo](https://cryptomarkets.tools/tools/velo) publishes futures microstructure —
liquidations, [open interest](https://cryptomarkets.tools/glossary/open-interest), [funding](https://cryptomarkets.tools/glossary/funding-rate), CVD and
basis — broken down by the exchange it came from rather than folded into one figure, at one-minute
resolution over Binance, Bybit, OKX, Deribit, Hyperliquid and Coinbase. That breakdown is the
product, and it is the shape you want when the question is which venue moved.

**Levels rather than prints.** [Hyblock Capital](https://cryptomarkets.tools/tools/hyblock-capital) sells liquidation levels
and a heatmap alongside order-book and positioning metrics, on the $99 plan. This is a different
measurement from everything above and the card is explicit about the vendor's own tiering: Tier 1
is raw metrics taken straight from exchanges, "if we get it for free, you get it for free", and
what you pay for is the processing on top. [CoinAnk](https://cryptomarkets.tools/tools/coinank) sells much the same free
screener view with one-hour, four-hour and 24-hour liquidation columns per coin.

## Where this breaks

**The exchange throttles the feed, so every total is a floor.** This is the fact that makes the
naive version of this job wrong, and it is written in Binance's own documentation: for each symbol,
only the latest one liquidation order within 1000ms is pushed as the snapshot, and if no
liquidation happens in that interval no stream is pushed. The stream is a *sample*, once a second,
per symbol. Bybit is blunter about what that costs — the changelog entry that introduced
`allLiquidation` in February 2025 dismisses the topic it replaced in one line, "the old one only
pushes 1 liquidation per second, it can be discarded". So a cascade that fires four hundred orders
on one symbol in one second reaches you as one order, and every sum built on that feed is a lower
bound whose distance from the true figure is unknowable from inside the data. Two dashboards
reading the same venue can disagree by a wide margin with neither of them being wrong, and a
dashboard still reading a venue's retired topic disagrees with one reading its replacement.

**The print is an order, not a user's decision.** A liquidation is the exchange closing somebody's
position, which is why what arrives is an order object — side, order type, time in force, original
quantity, average price, order status. That has two consequences worth writing down. One position
can produce several forced orders, so a count of prints is not a count of liquidated accounts. And
the side field means different things on different venues: Bybit documents `S` as the position side
and says a `Buy` update is a long being liquidated, while Binance reports the side of the order the
exchange placed, which for a long is a sell. A merger of the two feeds that does not read both
pages inverts one of them.

**Some venues publish nothing to aggregate.** Hyperliquid's documented websocket subscriptions run
from `allMids` and `l2Book` to `trades`, `bbo` and `candle`, and there is no market-wide liquidation
channel among them — liquidation information reaches a subscriber through `userEvents`, which is
keyed to a user. The vendor side shows the same hole from the other direction:
[Amberdata](https://cryptomarkets.tools/tools/amberdata) publishes a coverage table with a start date per dataset per venue,
and on it funding rates exist on 16 of 20 futures venues while liquidations exist on 10. An
aggregate over "all exchanges" describes the exchanges that publish, and almost nobody prints which
ones those were.

**A heatmap is a model wearing the same word.** Liquidation *levels* are computed from open
interest and assumed leverage; liquidation *history* is a record of orders. CoinGlass documents
three heatmap models, names them model1, model2 and model3 and describes all three identically as
levels calculated from market data and liquidation leverage levels, without saying what separates
them or which one the website draws — so a level quoted from one of them is a number that cannot be
fully explained. Hyblock's own indicator tiers make the same split visible: the raw exchange
metrics are the free tier and the transformations are what the subscription buys.

**On-chain liquidations are a different event entirely.** A lending-market liquidation happens when
a borrower's health factor crosses a protocol-defined threshold and a third party repays the debt
for a bonus — it is triggered by a contract's parameters, not by an exchange's risk engine, and the
thresholds are not even consistent between protocols: the three HyperEVM lending markets in Velo's
borrow panel use 1.0 on two of them and 100.0 on the third. Those events are measured on chain,
against a protocol's own oracle, and they belong in the same sentence as a perpetual liquidation
only if you say which is which. [Where an on-chain number comes from](https://cryptomarkets.tools/guides/where-an-onchain-number-comes-from)
is the longer version, and the [DeFi shelf](https://cryptomarkets.tools/collections/defi) is where the tools that measure them
live.

**Reading is not publishing.** Every feed on this page has a redistribution clause behind it, and
the free ones are not the lenient ones. Velo's terms name derived data explicitly, so a chart
published from its numbers is covered; CoinGlass restricts its two cheapest plans to personal use;
Binance requires written consent for anything that feeds or streams its market data onward.
[What exchange API terms actually let you do](https://cryptomarkets.tools/guides/exchange-api-terms) is the whole argument, and
[redistribution](https://cryptomarkets.tools/glossary/redistribution) is the word to have straight before asking anyone for a
quote.

## If you outgrow this

If the problem is **the floor** — you need the prints rather than a sample of them — no plan fixes
it, because the throttle is at the exchange. What you can do is record every venue's stream
yourself from the moment you start, keep the raw messages, and treat the resulting series as your
own definition rather than as the market's. That is the same conclusion the candle problem reaches
from the other end, and for the same reason: when the publisher's aggregation is the thing you
distrust, buy the messages and aggregate them yourself.

If the problem is **history**, the free tier is where it stops. Coinalyze keeps 1,500 to 2,000
intraday points and deletes the rest daily; CoinGlass's minute-resolution window is six days on
Standard and twelve on Professional, with anything deeper an Enterprise conversation; Velo opens
its full archive only on annual billing and gives monthly subscribers three months. Check the row
you need against the plan before you buy the plan, because on all three the headline history number
describes the daily bar and not the minute one.

If the problem is **which venues**, that is a coverage table rather than a tier. Amberdata is the
one in this catalogue that publishes a start date per dataset per venue, which is the form that
lets you check a claim before you depend on it. The rest of the field is under
[crypto market data APIs](https://cryptomarkets.tools/categories/market-data-apis), and the screens built on top of these
feeds are under [charting platforms](https://cryptomarkets.tools/categories/charting-platforms).

And if the problem is **the rate limit** rather than the data, read what is actually being counted
first: Binance meters public websockets and REST weight per IP, so a second key buys nothing and a
second container costs you. [Rate limit](https://cryptomarkets.tools/glossary/rate-limit) sorts out which families of limit
are in use here and what each one counts.

## FAQ

### Why do two sites report different 24-hour liquidation totals for the same exchange?

Because the exchange does not publish every liquidation. Binance's documentation says that for each symbol only the latest one liquidation order within 1000ms is pushed as a snapshot, and that if nothing is liquidated in that interval nothing is pushed at all. Bybit's changelog says the same of the topic it retired in February 2025 — "the old one only pushes 1 liquidation per second, it can be discarded". Two aggregators sampling a throttled feed at different moments, or one of them reading the replacement topic and the other the old one, produce different totals from the same venue without either being wrong.

### Is a liquidation total a dollar amount of positions or of orders?

Of orders. What the stream carries is the order the exchange placed to close the position — Binance's payload is an order object with a side, an order type, a time in force, an original quantity, an average price and an order status. A position closed in several forced orders is several prints, and under a throttled stream some of those prints never arrive. The figure is the notional of the forced orders that were published, which is not the same number as the value of the positions that were closed.

### Does a "Buy" liquidation mean somebody was long or short?

It depends on the venue, and the two large ones document it differently. Bybit's all-liquidation stream describes its `S` field as the position side and states that a Buy update means a long position was liquidated. Binance's `forceOrder` payload carries the side of the order the exchange placed, so the same event arrives as a sell. Merge the two feeds without reading both pages and one venue's long/short split comes out inverted.

### Do liquidation heatmaps show real liquidations?

No, and the distinction is the whole thing. A heatmap of levels is a model of where leveraged positions would be closed if price reached them, built from open interest and assumed leverage; a liquidation feed is a record of forced orders that were actually printed. CoinGlass ships three heatmap models, names them model1, model2 and model3 and describes all three identically, so which one produced a given picture is not something the reader can recover.

## Sources

1. [All Market Liquidation Order Streams, USDⓈ-M futures websocket market streams](https://developers.binance.com/docs/derivatives/usds-margined-futures/websocket-market-streams/All-Market-Liquidation-Order-Streams) — Binance, read 2026-09-21
2. [All Liquidation, v5 public websocket stream](https://bybit-exchange.github.io/docs/v5/websocket/public/all-liquidation) — Bybit, read 2026-09-21
3. [V5 API changelog — allLiquidation added, 20 February 2025](https://bybit-exchange.github.io/docs/changelog/v5) — Bybit, read 2026-09-21
4. [Websocket subscriptions](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions) — Hyperliquid, read 2026-09-21

*Last updated 2026-09-21. Corrected in place — an endpoint that moves is a bug here, not a new post.*
