VWAP
Also written volume-weighted average price, volume weighted average price
The average price of a set of trades with each weighted by its size, so total traded value over total traded quantity. In crypto there is no closing bell to reset it, so every VWAP carries a window someone chose — a rolling 24 hours, a UTC day, a candle — and a market set someone chose, from one exchange's pair to hundreds of venues converted into one currency. Name both before comparing two.
The four letters turn up on chart cards as an indicator, on execution cards as an order type, and on data cards as the price itself. It is the same arithmetic in all three places, run over different trades for different lengths of time.
How it works
The formula never changes: add up price times quantity for every trade in the set, divide by the quantity. What changes is the set, and in a market that trades around the clock there is no exchange-declared session to fix it.
One venue, a rolling window. Binance's 24hr ticker returns weightedAvgPrice, defined in its
documentation as "QuoteVolume / Volume", over a "24 hour rolling window". A second endpoint takes
a windowSize from one minute upwards. Both windows slide: ask twice an hour apart and the
average covers two different sets of trades, neither aligned to any date.
One venue, one candle. Kraken's OHLC endpoint puts a vwap field in every candle, between the
close and the volume, and returns at most 720 of the most recent candles. Binance's klines carry
no VWAP field but do carry quote asset volume beside base volume, so the per-candle VWAP is the
one divided by the other. Kraken documents its last candle as the current, uncommitted one, so
its VWAP is still moving.
Many venues, one reference price. An aggregator's "price" is often a VWAP across exchanges. CoinGecko's BTC-USD reference is a VWAP of BTC/USD, BTC/USDT, BTC/USDC and BTC/EUR tickers from selected exchanges, with the stablecoin legs converted through its own onramp index. CoinAPI's exchange rates are a rolling 24-hour VWAP across vetted spot venues, recomputed every second — and by its own description the prices being averaged are quote midpoints weighted by resting volume, with trade volume weighting on top. That is a volume-weighted average of the book, not of the tape, under the same four letters.
A chart's VWAP, from bars. TradingView's indicator documents VWAP as the cumulative typical price times volume over cumulative volume, reset by an anchor period — session, week, month and longer. Typical price is a stand-in computed from each bar's high, low and close, so a chart VWAP approximates the trade-level number rather than reproducing it, and on a 24-hour market the "session" it resets on is a convention the platform picked rather than anything the venue declares.
Why it matters here
There is no official daily VWAP to check a vendor against. An equity has a primary listing, a session and a close. A crypto pair trades on dozens of venues with no shared clock, so a "daily VWAP" is whatever day boundary and venue list the vendor chose, and a rolling 24-hour figure moves every second. Two numbers labelled VWAP for the same pair on the same afternoon can both be correct and still differ, and the difference says nothing about data quality until the window and the market set are known.
Per-exchange and aggregated are different products. A single venue's VWAP is what trading on that venue averaged. An aggregated one is a reference rate — useful for valuing a holding or converting a currency, and useless as a benchmark for an order that could only have filled on one exchange. CoinAPI sells both shapes, and its own card points readers who want "one VWAP number" to its Exchange Rates API rather than to the per-venue data.
Market cap is often VWAP times supply. Messari documents market cap as circulating supply times its VWAP, and CoinGecko builds its dollar price the way described above. A market cap that disagrees across two aggregators may be a supply disagreement or a price disagreement; reconciling supply and market cap separates the two.
A VWAP order is judged against a VWAP someone has to define. Execution products such as CoinAPI EMS and CoinRoutes offer VWAP among their algorithms. How well such an order did is usually judged against a benchmark VWAP over the order's lifetime — on which venues, and whose trades, is part of the agreement and not a fact of the market. The same is true in reverse of any "beat VWAP" claim.
On a chart it can be a paid feature. Quantower leaves VWAP out of its free version, and the free plan at TensorCharts gates it as well. What the indicator draws depends on the chart's candles and the platform's anchor, so a line on TradingView and a vendor's API figure for the same afternoon are not expected to match to the cent.
Where you will meet this
The cards where this changes a decision, then the rest that use the word.
Sources
- Spot market data endpoints — 24hr ticker, rolling window ticker, klines — Binance, read
- Get OHLC data — Kraken, read
- VWAP24 explained — CoinAPI, read
- Methodology — price and BTC-USD reference — CoinGecko, read
- Market Data Service — market cap and VWAP asset price — Messari, read
- Volume Weighted Average Price (VWAP) — TradingView, read
Updated