Base volume is the quantity of the base asset traded; quote volume is the sum of base quantities multiplied by their execution prices. Futures volume may instead count contracts. To compare them, identify the endpoint's units, apply the instrument's contract value, and distinguish traded turnover from a value estimated at a reference price.
The useful question is not which number looks largest. It is whether two numbers measure the same activity in compatible units. A chart labeled “100 volume” could describe 100 BTC, 100 USDT or 100 contracts with a much smaller base equivalent.
Put a unit beside every volume field
For BTC-USDT, BTC is the base asset and USDT is the quote asset. A price of 60,000 means 60,000 USDT per BTC. Trading 0.1 BTC at that price contributes 0.1 BTC of base volume and 6,000 USDT of quote turnover. Count the execution once; the buyer and seller are the two sides of that transaction.
Volume concerns executed activity. An unfilled order contributes no traded volume, even if it appears in the order book. A traded contract total accumulates executions during a period; a count of contracts still open measures something else. Binance Academy's volume definition distinguishes executions from orders waiting to trade.
Field names need their endpoint context. Binance's spot ticker defines volume in the base asset and quoteVolume in the quote asset. Its candle response also separates volume, quote volume and trade count. Binance spot market-data reference.
OKX provides a useful example of a field changing meaning with the product:
| OKX candle field | Spot meaning | Derivatives meaning |
|---|---|---|
vol | Base-asset quantity | Contract count |
volCcy | Quote-asset quantity | Base-asset quantity |
volCcyQuote | Quote-asset quantity | Quote-asset quantity |
These are OKX's documented definitions, not a universal naming standard. OKX candlestick response fields.
Keep the original field and its unit alongside any normalized result. Renaming everything volume discards the information needed to explain it later.
Reconstruct spot turnover from the trade tape
For a spot trade, let q be base quantity and p its execution price in quote units per base unit. Across the selected executions:
- Base volume = sum of
q. - Quote volume = sum of
q × p.
Consider this hypothetical completed interval. The prices and trades are teaching inputs, not observed BTC market data. Fees are excluded from traded turnover.
| Execution | Base quantity | Price, USDT per BTC | Quote turnover |
|---|---|---|---|
| A | 0.50 BTC | 60,000 | 30,000 USDT |
| B | 0.30 BTC | 62,000 | 18,600 USDT |
| C | 0.20 BTC | 64,000 | 12,800 USDT |
| Total | 1.00 BTC | — | 61,400 USDT |
The base volume is 1 BTC and the quote volume is 61,400 USDT. Dividing quote turnover by base quantity gives an execution-volume-weighted price of 61,400 USDT per BTC for these trades.
Multiplying the whole 1 BTC by the final price gives 64,000 USDT. That is 2,600 USDT, or approximately 4.23%, above the actual constructed turnover. It values all the quantity at one price rather than adding the prices at which it traded.
If only base volume and a candle close are available, label their product as an estimate valued at the close. The close cannot recover how quantity was distributed across prices inside the candle. A documented quote-volume field or the matching executions resolves that missing information.
Linear contracts: convert count into base quantity first
For a simple linear contract with m base units per contract, executed contract count n converts into n × m base units. Its traded quote notional is then n × m × p, using that execution's price.
OKX's instrument documentation illustrates ctVal of 0.01 BTC for BTC-USDT-SWAP and 100 USD for inverse BTC-USD-SWAP. It documents linear notional as size times ctVal times mark price, and inverse notional as size times ctVal. These are documentation examples reviewed on 27 October 2026; verify the specification applicable to the instrument and event time. OKX contract-value definitions.
For traded-turnover reconstruction, use execution prices. A mark-price valuation answers a different question about exposure at that reference price.
Now construct a hypothetical linear tape using the 0.01 BTC contract value: 50 contracts at 60,000 USDT, 30 at 62,000 and 20 at 64,000. The 100 contracts represent 100 × 0.01 = 1 BTC. Their quote turnover is:
50 × 0.01 × 60,000 + 30 × 0.01 × 62,000 + 20 × 0.01 × 64,000 = 61,400 USDT
This reproduces the spot example's quantities and notionals through a different native unit. The derivative's base equivalent describes economic size; it does not mean BTC was delivered for every execution. Neither notional nor volume tells you the collateral posted or the trader's maximum loss.
The contract-multiplier order-size guide handles the opposite direction: translating a target exposure into an amount accepted by an order endpoint. For a volume audit, start with executed native amounts and reconstruct what they represent.
Inverse contracts: fixed quote face, changing base equivalent
For a simple inverse contract with fixed quote face value f, each execution has quote notional n × f. Its base equivalent at execution price p is (n × f) ÷ p. Normalize each execution before summing base equivalents.
Use a separate hypothetical USD tape with a 100 USD face value per contract:
| Execution | Contracts | Price, USD per BTC | Quote face traded | Base equivalent |
|---|---|---|---|---|
| D | 60 | 60,000 | 6,000 USD | 0.1000 BTC |
| E | 40 | 64,000 | 4,000 USD | 0.0625 BTC |
| Total | 100 | — | 10,000 USD | 0.1625 BTC |
The quote face total is independent of those execution prices: 100 × 100 = 10,000 USD. The base equivalent is price-dependent: 6,000 ÷ 60,000 + 4,000 ÷ 64,000 = 0.1625 BTC.
Dividing the entire quote total by the closing price instead gives 10,000 ÷ 64,000 = 0.15625 BTC. That understates this tape's executed base equivalent by 0.00625 BTC, approximately 3.85%. A candle containing only contract count and close cannot reconstruct the exact base total when executions occurred at different prices.
The two futures examples both contain 100 contracts. One represents 1 BTC of executed base equivalent; the other represents 0.1625 BTC. Comparing the raw counts would hide that difference. Keep their quote totals labeled USDT and USD respectively; no currency conversion has been assumed.
These formulas cover the simple contract structures described here. A quanto product, option, redenominated instrument or other specialized contract needs its own documented conversion. Preserve the applicable contract value with historical records rather than attaching today's specification to an old tape.
Choose the comparison before converting the currency
Base volume helps compare activity in the same underlying asset. Quote turnover helps express traded value. Neither makes raw units across unrelated coins interchangeable: one million units of a small-denomination token is not automatically more economic activity than one BTC.
Quote turnover also contains a price effect. In a separate hypothetical comparison, trading 1 BTC at 60,000 USDT produces 60,000 USDT of turnover; trading the same 1 BTC at 66,000 produces 66,000 USDT. Quote turnover rises 10% while base quantity stays unchanged. Record which change the analysis intends to measure.
For a common USD total, specify how each quote currency is converted, at which times, and from which price source. Converting each trade's turnover at its matching conversion rate is a different methodology from converting an entire daily total at the daily closing rate. Save the method instead of silently relabeling USDT, USDC or another quote asset as USD.
Normalized volume still describes the selected markets and executions. It does not establish how widely activity is distributed across assets; the crypto market-breadth guide examines that separate question. A single busy instrument can dominate turnover while most of the chosen universe contributes little.
Build a volume reconciliation worksheet
Use one row per venue, instrument and completed interval. Retain enough detail to reverse the calculation:
| Worksheet entry | What to record or verify |
|---|---|
| Market identity | Venue, full instrument identifier, spot or contract type |
| Source schema | Endpoint or file version, original field, documented native unit |
| Time boundary | Start, end, timezone, timestamp precision and completion state |
| Contract terms | Value per contract, value currency and effective specification time |
| Execution coverage | Trade identifiers, pagination boundaries, gaps and duplicates |
| Native total | Sum before any unit or currency conversion |
| Normalized totals | Base quantity or equivalent, quote turnover, exact currency labels |
| Valuation method | Execution prices, or an explicitly labeled reference-price estimate |
| Reconciliation | Provider comparison, rounding tolerance and unresolved difference |
Select either raw trades or an appropriate aggregated-trade stream for the interval. Adding both counts the same executions twice. De-duplicate using identifiers within the correct venue and instrument; a repeated number from another venue is not necessarily the same trade.
Match interval boundaries explicitly. For a worksheet defined as start-inclusive and end-exclusive, include each execution in exactly one interval and adapt requests to the endpoint's own boundary rules. The trade-tape versus candle guide covers how aggregation and candle construction affect reconciliation. A missing page must remain a coverage gap, not become a zero-volume observation.
Calculate with decimal arithmetic or scaled integers and retain precision until aggregation is complete. Compare the reconstructed native, base and quote totals with the provider's matching documented fields. Define tolerances from source precision and rounding; do not expand the tolerance just to hide a difference.
There is a useful arithmetic check when positive base quantities and execution prices describe the same tape: quote turnover divided by base volume must fall between its lowest and highest execution prices. In the spot example, 61,400 lies between 60,000 and 64,000. Passing this check does not prove completeness, but failing it identifies incompatible inputs or a calculation error. Leave the ratio undefined when base volume is zero.
Only after the unit and coverage checks pass should you build a comparison with prior intervals. The volume-confirmation baseline guide explains how the denominator changes that later interpretation.
Save a sentence that can be audited: “100 inverse contracts, 100 USD each, 10,000 USD face traded, 0.1625 BTC equivalent at execution prices, complete interval.” A volume figure becomes useful when its unit, conversion and coverage travel with the number.
