How to read CVD (cumulative volume delta)
How to read CVD: what cumulative volume delta adds up, how to compare it with price, why perp and spot CVD differ, and where trade-stream data stops.
On this page
CVD adds up the dollar value of trades started by aggressive buyers minus trades started by aggressive sellers, so a rising line means takers on the buyer side took more liquidity than takers on the seller side over the window. You read it against the price: the same price move with rising, flat or falling CVD describes a different kind of trading.
The one-paragraph definition and our method are on the CVD page. This guide is the practical part: what goes into the line, how to compare it with the price, why the level is arbitrary but the slope is not, and what the line cannot tell you.
What CVD counts
Every trade has a buyer and a seller, so "more buyers than sellers" cannot mean that more coins changed hands one way. CVD uses a different split: who started the trade.
- The maker had an order resting in the book.
- The taker sent the order that crossed the spread and matched it. The taker is the aggressor.
A trade where the taker was on the buyer side counts as positive volume, one where the taker was on the seller side as negative. The volume delta of a period is the difference; CVD is the running sum of those deltas from the start of the chart.
On our pages, trades come from the Hyperliquid, Binance and Bybit trade streams of the covered coins, and the aggressor side comes from each venue's own trade flag. Fills of one taker order at one timestamp are merged into a single print, so one large order that sweeps several price levels counts once. The result is stored as minute bars of buyer-initiated and seller-initiated USD, then as hourly bars.
Read the slope, not the level
CVD is cumulative from the start of the window you are looking at. On the BTC order flow tab the caption says exactly that: taker flow added up from the start of the window. Change the window and the starting point moves, and so does every level on the line.
That makes the absolute number almost meaningless on its own. What carries information is:
- The direction of the line. Up means buyer-initiated volume dominated over that stretch, down means seller-initiated volume did.
- The steepness. A steep segment is a burst of one-sided aggressive trading; a flat segment is balanced taker flow.
- The change at a specific moment. A sudden step in the line shows a large aggressive order or a cluster of them.
Reading CVD against the price
The usual way to read CVD is next to the price over the same window. Four combinations are worth telling apart:
| Price | CVD | What it describes |
|---|---|---|
| Up | Up | The rise came with net buyer-initiated volume on the covered venues |
| Up | Flat or down | The rise came without net buyer-initiated volume there: passive orders moved, or the flow happened elsewhere |
| Down | Down | The fall came with net seller-initiated volume |
| Down | Flat or up | The fall came without net seller-initiated volume: resting bids were pulled, or the flow happened elsewhere |
These are descriptions of who traded, not readings of what happens next. A move with "confirming" CVD can reverse a minute later, and a divergence can last for hours.
A further pattern is absorption. When CVD rises steeply while the price barely moves, aggressive buyers are being met by resting orders on the ask side that are large enough to take the flow without giving way. Large resting orders of that kind are what the order book walls view records, including whether they were filled or pulled in the end.
Perp CVD, spot CVD and trade size
The order flow tab splits the line in three ways, and each split answers a different question.
Per venue. One line per perpetual venue plus an "All perps" sum. If one venue's line moves while the others stay flat, the activity is local to that venue.
Perp against spot. For BTC and ETH, a Binance spot line sits next to the perpetual lines. Perpetuals can be traded with leverage and on both sides with the same ease; on the spot market, only someone who holds the asset can take the seller side. When perp CVD rises and spot CVD does not, the buyer-initiated volume is coming from the derivatives market; when both rise, it shows up in both.
By trade size. The "CVD by trade size" pane repeats the calculation per size bucket of the taker order. It shows whether a move was carried by many small orders or a few large ones. Below it, a whale flow line shows the net trading of tracked Hyperliquid whales in USD, their buyer side minus their seller side.
To compare coins rather than venues, the markets screener can sort every coin by its 24-hour CVD.
What CVD does not tell you
- Direction. CVD measures aggressive volume in the past window. It is not a forecast, and a strong line can be followed by the opposite move.
- Intent. A taker order can be a new position, a position being closed, a hedge or a forced close. CVD counts all of them the same way.
- Forced orders. On Hyperliquid, a liquidation is first attempted with market orders sent to the order book.1 Those orders are takers too, so a liquidation cascade of longs shows up as a burst of seller-initiated volume. Reading CVD next to the liquidations of the same minutes separates the two.
- Positions. CVD says nothing about how much open interest was added or removed. The open interest and long/short guide covers that side.
Limits of the data
- Covered coins and venues only. Trade streams are recorded for the top coins by open interest on the venues we collect, and spot only for BTC and ETH on Binance. Volume on other venues is not in the line.
- Venue flags. The aggressor side is the one each venue publishes with its trades. Venues define and report it in their own way.
- Merged prints. Fills of one taker order at one timestamp count as one print. That is closer to what happened than counting every fill, but it means trade counts differ from a venue's raw feed.
- Gaps. Minutes in which the collector was not recording are left out of the line rather than filled in later.
CVD is most useful as one of three views of the same minutes: the price, the taker flow and the liquidity in the book. The order flow tab shows all three on one time axis.
Sources
- Hyperliquid Docs, "Liquidations": https://hyperliquid.gitbook.io/hyperliquid-docs/trading/liquidations (accessed 2026-11-05)Back to text
How we collect and check the data: Data & methodology.
See today’s numbersThe live pages update continuously.
See BTC order flow