Crypto Prices Explained: VWAP, Bid/Ask, Mid, Mark, Index and State Prices
Ask what Bitcoin costs right now and you will get a number. Ask which number, and the conversation gets interesting.
At any given instant, one Bitcoin on one exchange has a last traded price, a best bid, a best ask, a mid, a volume-weighted average over the last minute, and, if it is a perpetual futures contract, a mark price and an index price that are neither of those. On a decentralised exchange it has a state price derived from pool reserves instead of trades. Every one of these is a legitimate answer to "what is the price," and they can differ by basis points or, in stressed markets, by percentage points.
This article follows one Bitcoin through each of those prices at the same moment, explains what each measures and how it is calculated, and ends with the question that actually matters: which one should you use for what.

Last traded price
The last traded price is exactly what it says: the price at which the most recent trade executed. You see it on every exchange's ticker, every price widget, and every news headline, and for almost any serious purpose it is the least useful price of all.
The last trade tells you what one buyer and one seller agreed on, once, possibly for a tiny amount, possibly seconds ago. On an active pair it updates constantly and tracks the market well. On a thin pair it can be stale for minutes or hours, and a single small trade can move it substantially. A last price of 110,402 could reflect a $50 million block or a $12 retail order; the number does not say which.
Last price also bounces. Trades alternate between hitting the bid and lifting the ask, so even in a perfectly stable market the last price oscillates across the spread. Richard Roll formalised this in 1984 in the Journal of Finance, showing that bid-ask bounce alone induces negative autocorrelation in trade prices, which is why the effect can be used to estimate the spread from trade data. For any analysis built on last prices, it is noise.
Bid, ask and the bid-ask spread
An order book has two sides. The best bid is the highest price anyone is currently willing to pay; the best ask is the lowest price anyone is willing to sell at. The gap between them is the bid-ask spread, and it is the most direct measure of a market's liquidity.

On Bitcoin against USD at a major exchange in normal conditions, the spread is often under one basis point, a few dollars on a 110,000 price. After the January 2024 approval of US spot Bitcoin ETFs, Kaiko's research found spreads on Coinbase, Kraken and Bitstamp fell below one basis point, with brief spikes to 10 basis points on Kraken during the most volatile day. Thin altcoins tell a different story: spreads of several basis points are common, and on small tokens they can reach a percent or more.
The spread matters because it is the cost of immediacy. Buy at the ask, sell at the bid, and you have lost the spread without the price moving at all. Any execution analysis that ignores it is overstating returns.
Use it for understanding liquidity, estimating trading costs, and pricing thin assets where trades are scarce. Blocksize's consolidated bid/ask aggregates top-of-book quotes across venues, volume-weighted, so the spread you see reflects the whole market and not one book; how that aggregation works is covered in Real-Time Crypto Data Aggregation: How It Works.
Mid price, weighted mid and microprice
The mid price is the simple average of best bid and best ask. If the bid is 110,398 and the ask is 110,404, the mid is 110,401.
Mid is a better estimate of "the price" than last trade because it doesn't bounce and doesn't depend on a trade having happened. Execution analysis uses it as the standard reference, comparing your fill to the mid at the moment you traded, and most pre-trade checks use it too.
The plain mid has a known weakness: it ignores how much is queued on each side. If there are 50 Bitcoin bid at 110,398 and 2 Bitcoin offered at 110,404, the market is clearly leaning upward, and the next trade is more likely to happen near the ask. The plain mid treats both sides as equal.
The weighted mid, sometimes called the imbalance-weighted mid, corrects for this by weighting each side by the opposite side's volume:
Weighted mid = (bid × ask volume + ask × bid volume) ÷ (bid volume + ask volume)

When the bid queue is larger, the weighted mid moves toward the ask; when the ask queue dominates, toward the bid. As a short-horizon predictor of where the price is going it beats the plain mid, which is why market-makers use it widely.
The microprice, introduced by Sasha Stoikov in a 2018 paper in Quantitative Finance, refines this further with a statistical adjustment based on both imbalance and spread, designed to be an unbiased estimator of the next mid. The distinction matters in academic work; for most practical purposes, "weighted mid" and "microprice" are used interchangeably, and both are top-of-book measures that say nothing about deeper liquidity.
Use the plain mid for execution benchmarking and the weighted mid for short-term prediction and market-making. Neither is reliable for valuation on thin pairs, where a single quote on either side can distort it.
VWAP: volume-weighted average price
The volume-weighted average price is the average price of trades over a period, with each trade weighted by its size:
VWAP = Σ(price × volume) ÷ Σ(volume)
A trade of 10 Bitcoin at 110,410 counts ten times as much as a trade of 1 Bitcoin at 110,380. The result is the price at which the "average dollar" changed hands, which is the closest thing crypto has to an answer for "what was the price over that window."
Three properties make VWAP the standard benchmark for post-trade analysis. Built from executed trades, it reflects what actually happened and not what was offered. It resists small-trade noise, because small trades carry little weight. And it is reproducible: given the same trades and the same window, anyone gets the same number.
VWAP's main limitation is the mirror of its strength. A very large order becomes a large share of the volume being averaged, dragging the VWAP toward its own execution price, so a large trader measuring against VWAP is partly measuring against themselves. For that reason, execution analysis usually pairs VWAP with arrival price, as we cover in Execution Quality in Crypto.
The window defines what VWAP means. Real-time VWAP uses a short, rolling window, effectively "the price now, weighted by recent trades"; Blocksize's real-time VWAP adapts the window to each pair's liquidity, using at least 10 trades and USD 1,000 in volume, extending up to two hours for thin pairs. 24-hour VWAP smooths a full day of trading into one number, stable and slow-moving, suited to daily marks and reporting where a snapshot price would be too volatile. 30-minute VWAP is a different animal: a closing price struck on the clock, every half hour, from the trades in the preceding thirty minutes. Because crypto never closes, this is the functional substitute for an official close. Blocksize publishes it five seconds after each interval to allow for late-reporting exchanges, and it is the price built for NAV calculation, index construction and anything needing a fixed, repeatable timestamp.
Use real-time VWAP for post-trade benchmarking, 24-hour VWAP for daily marks, and 30-minute VWAP for closing prices and NAV.
TWAP vs VWAP
The time-weighted average price averages prices sampled at regular intervals, ignoring volume entirely. Every minute counts the same whether a thousand Bitcoin traded in it or none.
TWAP versus VWAP is a question people search constantly, and the short answer holds most of the time: TWAP is mostly an execution tool, VWAP is mostly a measurement tool. A TWAP execution algorithm spreads an order evenly over time to minimise market impact. A VWAP benchmark tells you whether the execution was fair relative to what traded. Both exist in the other role too, but that is the usual division of labour.
TWAP also has an important defensive role as a manipulation-resistant oracle input. The Uniswap v2 whitepaper (Adams, Zinsmeister and Robinson, 2020) introduced cumulative price accumulators for exactly this purpose: averaging a DEX price over many blocks, instead of reading it at one instant, makes it far harder to move with a flash loan. That use is covered under state price below.
Mark price vs index price
Perpetual futures, the most heavily traded crypto derivative by volume, introduce two prices that confuse almost everyone the first time.
The index price is a volume-weighted average of the spot price across several major exchanges. It represents "what the underlying asset is worth" independent of any single venue or of the futures market itself. Binance's COIN-margined index, for example, has drawn from Bitstamp, Coinbase, Kraken, Bittrex, Binance and Huobi.
The mark price is the price the exchange uses to calculate unrealised profit and loss and, critically, to trigger liquidations. Exchanges deliberately avoid using the perpetual's own last traded price for this, because last price on a single venue can be manipulated: a large enough order can push the futures price briefly to a level that liquidates positions, at which point the manipulator profits from the forced selling.
To prevent this, exchanges derive mark price from the index plus a measure of the futures basis. Binance's formula for USD-margined perpetuals is:
Mark price = Median(Price 1, Price 2, Contract price)
where Price 1 = Index × (1 + Last funding rate × Time until funding ÷ Funding period), Price 2 = Index + 2.5-minute moving average of the basis, and Contract price is the perpetual's own last price. The median of three means no single input can move the mark on its own. Bybit and other major exchanges use closely similar constructions.

The practical consequence is that your position is liquidated on the mark price, whatever the chart shows. A trader watching last price spike and expecting a liquidation may find none happens, because mark price barely moved. Conversely, a trader can be liquidated with no visible spike in last price, because the index moved.
Use them for understanding perpetual futures P&L and liquidation risk. Mark and index are exchange-specific and exist only in the derivatives context.
State price: pricing from pool reserves
Every price so far depends on trades or quotes. Decentralised exchanges using automated market makers introduce a price that depends on neither.

An AMM pool holds reserves of two assets, say 100 ETH and 240,000 USDC, and a formula determines the exchange rate between them. In the simplest constant-product model, the product of the two reserves is held constant, and the current price is simply the ratio: 240,000 ÷ 100 = 2,400 per ETH. That ratio is the state price: a price read directly from the pool's on-chain state, existing continuously whether or not anyone has traded.
This solves a real problem. For thinly traded tokens, liquid staking derivatives, and LP tokens, there may be no recent trade to price from. A pool always has reserves, so a state price always exists.
It also creates a real risk. Because the state price is a function of reserves, anyone who moves the reserves moves the price, and on a thin pool a single large swap, or a flash loan that swaps and reverses within one transaction, can move it dramatically. Reading a raw state price at one instant is exactly the mechanism behind many oracle exploits, as we show in What Is Price Accuracy in Crypto.
The safe version is a time-weighted state price, averaging the pool state over many blocks so a momentary distortion cannot dominate, or a liquidity-weighted aggregate across several pools, so no single one can be cheaply manipulated. Blocksize reads state prices directly from pool contracts and applies its standard filtering, treating it as one price type among several and not as a standalone oracle.
Use it for pricing DEX-native and illiquid assets and for continuous availability. Never trust a single pool at a single instant.
Which crypto price to use for what
Pulling all of this together:
Purpose | Use | Avoid |
|---|---|---|
Displaying a price | Last trade or mid | — |
Measuring execution quality | Mid at time of trade (pre-trade); VWAP over the window (post-trade) | Last price |
Valuing a portfolio at a fixed time | 30-minute VWAP, or 24-hour VWAP for a daily mark | Last price, single-venue mid |
Estimating trading cost | Bid/ask spread | Mid alone |
Short-term prediction, market-making | Weighted mid / microprice | Plain mid, last price |
Executing a large order | TWAP or VWAP algorithm | Market order at last price |
Understanding perpetual P&L and liquidation | Mark price (P&L), index price (underlying) | Last price of the perpetual |
Pricing a DEX-only or illiquid token | Time-weighted or liquidity-weighted state price | Raw state price at one instant |
Any of the above where the market matters more than one venue | An aggregated version across exchanges | Any single-exchange price |
The last row is the one that applies to all the others. Every price type above can be computed for one exchange or for the market as a whole, and the market-wide version is almost always what a serious use case actually needs. We explain why in Rethinking Crypto Data.

Blocksize price products
Blocksize publishes these price types as products, each aggregated across more than 70 centralised and decentralised exchanges: real-time, 24-hour and 30-minute VWAP; consolidated bid/ask; AMM state prices; and tick-level trade events. Each is calculated from its own source, trades for VWAP, top-of-book quotes for bid/ask, pool contracts for state, filtered for anomalies and drifting venues, and delivered over WebSocket.
The methodology for every product is published in full, including the exact windows, weights, filters and edge-case rules: Real-Time VWAP, 24-Hour VWAP, 30-Minute VWAP and Bid/Ask.
Frequently asked questions
What is VWAP in crypto? VWAP, or volume-weighted average price, is the average price of trades over a period with each trade weighted by its size. Execution analysis uses it as the standard benchmark, and over fixed windows it is the closest thing crypto has to an official closing price.
What is the difference between TWAP and VWAP? TWAP averages prices sampled at regular time intervals regardless of volume; VWAP weights each trade by its size. TWAP is mainly used to execute orders gradually; VWAP is mainly used to measure whether an execution was fair.
What is the difference between mark price and index price? Index price is a volume-weighted average of spot prices across several exchanges, what the underlying is worth. Mark price is derived from the index plus the futures basis and is used by the exchange to calculate P&L and trigger liquidations, precisely so that liquidations cannot be triggered by manipulating the perpetual's own last price.
Why is my position liquidated on mark price and not last price? Because last price on a single venue can be pushed briefly to a level that triggers liquidations. Mark price is designed to resist that, using a median of index-based estimates and the contract price so no single input can move it.
What is a state price? A price derived from the reserves in a decentralised exchange liquidity pool instead of from trades. It exists continuously even when nothing is trading, which makes it useful for illiquid assets, but reading it at a single instant from a single pool is vulnerable to manipulation.
What is the bid-ask spread in crypto? The gap between the best bid (highest buy order) and best ask (lowest sell order). It measures liquidity and represents the cost of trading immediately. Major pairs on large exchanges often have spreads under one basis point; thin tokens can have spreads of a percent or more.
Which price should I use to value a crypto portfolio? A fixed-timestamp, volume-weighted, market-wide price, a 30-minute or 24-hour VWAP aggregated across exchanges, instead of a last trade or a single venue's quote. The choice of price source materially changes the reported value.