# Why two sites report different volume for the same exchange

Exchange volume is a calculation, not a reading. The six choices that make two honest sites disagree, and how to pick a figure for a dashboard or a backtest.

*https://cryptomarkets.tools/guides/why-exchange-volume-numbers-disagree · background to Crypto Market Data APIs*

**Answer:** Because an exchange volume figure is a calculation, not a reading. Each site picks a time window, a set of pairs, a currency conversion, a rule for derivative contracts and a rule for volume it does not believe, and the exchange controls none of those choices. Two honest sites can disagree by a few per cent for the same exchange, and by a multiple once one counts derivatives or discounts suspect trading and the other does not.

Open two market-data sites, look up the same exchange, and the 24-hour volume will not match. It
will rarely be close enough to call rounding and rarely far enough to call an error. That gap is
not a bug in either site and it is not the exchange misreporting to one of them. It is the
visible part of half a dozen decisions each site made before the number existed, and almost none
of them is printed next to it.

This page is about the headline figure — an exchange's, or a coin's, 24-hour volume as an
aggregator presents it. The price beside it has its own page,
[where the bitcoin price actually comes from](https://cryptomarkets.tools/guides/where-the-bitcoin-price-comes-from), and
the candle beneath it has a glossary entry, [OHLCV](https://cryptomarkets.tools/glossary/ohlcv). The decisions overlap, but
volume has two problems a price does not: it is summed rather than averaged, so every inclusion
error adds up instead of washing out, and it can be manufactured by anyone willing to trade with
themselves.

## How it works

Volume starts as trade prints. Every match on a venue's engine has a size, and the venue adds the
sizes up and publishes the total — on a ticker endpoint, in candles, and in its trade feed. What
reaches you passes through four hands, and each one makes a choice:

1. **The venue** publishes its own totals, in units and over windows it chooses.
2. **The aggregator** collects those totals — or the trades beneath them — for the pairs it has
   integrated, converts each into one currency at a price it chooses, and sums.
3. **The aggregator** then applies a rule for volume it does not believe: a flag, an exclusion, a
   score, or nothing at all.
4. **The page or endpoint** shows one of the resulting numbers, often without saying which.

Two sites that disagree have almost always made different choices at steps 2 and 3. The six that
matter most follow, in the order they are worth checking.

## Six choices that move the number

**1. The time window.** "24-hour volume" usually means a rolling window ending at the moment of
the request. CoinGecko's exchange volume is built from each pair's rolling 24 hours; CoinMarketCap
sums the volume reported "over the last 24 hours"; Binance's `GET /api/v3/ticker/24hr` is documented
as "24 hour rolling window price change statistics"; CCXT's unified ticker defines every field as
"the past 24 hours prior to `timestamp`". Two snapshots of one exchange taken six hours apart are
two different windows, and both are correct.

But a rolling window is not the only window. Kraken's ticker returns volume as a two-element array
— today, then the last 24 hours — and documents that "today's prices start at midnight UTC"; its
own example response shows 4,083.67 for today against 4,412.74 for the trailing day. Binance
publishes a third variant, `GET /api/v3/ticker/tradingDay`, whose day boundary is set by a
`timeZone` parameter that defaults to UTC, and its rolling-window endpoint `GET /api/v3/ticker`
documents that the window starts on the minute and can be up to 59,999 milliseconds wider than the
`windowSize` you asked for. Coin Metrics' daily volume metrics run on UTC intervals in which `time`
marks the start of the interval. A daily series from one source and a live 24-hour figure from
another are not measuring the same thing, and a chart that puts them side by side is comparing a
calendar day with a moving one.

**2. The set of pairs.** An exchange's total is a sum over the pairs a site has integrated, which
is not the same list as the pairs the exchange lists. Beyond integration, the documented exclusions
differ. CoinGecko's exchange calculation "excludes trading pairs that have been blacklisted for
inconsistent data and have not been updated for over 3 hours". CoinMarketCap flags pairs reporting anomalous volume
with asterisks and omits them from a coin's total — and then states, in the same article, that
those pairs are **not** excluded from the exchange's total. One trade, on one site, can count
toward the exchange page and not toward the coin page.

Which pairs are in the list moves the result more than it seems to. A pair delisted during the
window drops out of any total built from current tickers while staying in any total built from
historical trades. A [stablecoin](https://cryptomarkets.tools/glossary/stablecoin)-to-stablecoin pair is real turnover in
something that is not, for most readers, a crypto asset, and none of the methodology pages cited
here singles it out: it is in the total unless some other rule removes it.

**3. The conversion.** A volume total in dollars needs every pair priced in dollars, and the two
largest aggregators convert from opposite sides of the pair. CoinMarketCap takes the 24-hour volume
"reported directly from the exchange in quote units" and multiplies it by its reference price for
the quote asset — its own worked example turns 100 BTC of LTC/BTC volume into 1,000,000 USD at
10,000 USD per BTC. CoinGecko takes the base-asset volume and prices it at "CoinGecko's global
volume-weighted average price" for the base coin — its worked example adds 400 ETH and 3,000 LTC
from BTC pairs at 200 and 100 USD.

The two agree only when the pair trades at the global price. Suppose a thin market prints at 3%
above it. The quote-side method sees the local premium, because the quote volume is the base
quantity times the local price. The base-side method does not, because it re-prices the base
quantity at the global average. The same trades come out roughly 3% apart, and neither site has
made a mistake.

Coin Metrics documents a third route: each market's candle volume is scaled by contract size and
multiplied by a dollar price, using the candle's own [VWAP](https://cryptomarkets.tools/glossary/vwap) for spot pairs quoted
in dollars and otherwise a market-derived price unless it disagrees with Coin Metrics' reference
rate by more than 5%, in which case the reference rate wins. Its documentation says plainly that the
result "will not reconcile exactly against a naive sum of each trade's price times quantity".

**4. Spot, derivatives, or both.** The largest single source of disagreement is whether a figure
includes derivatives at all. CoinMarketCap defines exchange volume over spot markets. CoinGecko's
exchange Trust Score applies to spot exchanges, and derivative exchanges are "ranked based on their
respective Open Interest and Trading Volume figures as reported". CoinDesk Data's monthly Exchange
Review leads with a combined figure: its May 2026 edition, published 15 June 2026, opens with
combined spot and derivatives volume on centralised exchanges of 4.41 trillion USD for the month. On an exchange with a large futures book, the
combined number is a multiple of the spot one, and it is the comparison most likely to be made by
accident.

Within derivatives, the unit is a decision of its own. A [perpetual](https://cryptomarkets.tools/glossary/perpetual-futures)
contract is a number of contracts, and a contract is not a coin. Deribit's API specification states
that for inverse futures and perpetuals the contract size is denominated in USD — "BTC-PERPETUAL has
a contract size of 10 USD" — while for linear perpetuals it is the base coin, with
BTC_USDC-PERPETUAL at 0.0001 BTC. Its book summary returns three volumes for the same market:
`volume` in the base currency, `volume_usd`, and `volume_notional` in the quote currency. A site
that multiplies a contract count by a price without the contract size is out by the size — tenfold
on an inverse contract worth 10 USD — and a site that reads an inverse market's volume in coins
and another's in dollars has added two different units. [Open interest](https://cryptomarkets.tools/glossary/open-interest)
has the same trap: Deribit reports it in USD for perpetuals and inverse futures and in the base
coin for options and linear futures.

Options add a second valuation. Coin Metrics publishes options volume both as notional — the value
of the underlying the contracts control — and as market value, the premium actually paid, and
notes that notional "typically runs one to two orders of magnitude larger". Two options volumes
for one venue can be a hundredfold apart and both be correctly labelled.

**5. Counting twice.** Every trade has a buyer and a seller, and the convention on every venue and
library cited here is to count it once: CCXT defines base volume as "the amount of base currency
traded (bought or sold)". Double counting creeps in downstream. Binance's candles carry a "taker
buy base asset volume" field that is a part of the total, not an addition to it. A cross pair such
as ETH/BTC is a trade in two assets; an exchange total that counts it once through its base, as
CoinGecko's worked example does, is right, and a total built by adding up per-coin pages that each
include the pair is not. Coin Metrics warns about the same thing in its own metric family: its
futures filters "overlap rather than partition", so a coin-margined perpetual counts toward the
perpetual metric and the coin-margined metric both, and adding the two counts it twice.

**6. What the site does about volume it does not believe.** This is the choice that produces the
largest gaps between sites that agree on everything else, and the methods are different in kind,
not degree:

- **Exclude markets by rule.** CoinMarketCap publishes two exchange figures: *Reported Volume*,
  "volume from all spot markets", and *Adjusted Volume*, volume from spot markets "excluding markets
  with no fees and transaction mining". Under that rule a zero-fee promotion on an exchange's largest
  pair can lift its reported figure while taking that pair out of its adjusted one.
- **Exclude exchanges by list.** Coin Metrics publishes *reported* spot volume over every market it
  covers and *trusted* spot volume over the exchanges in a trusted set drawn from the Talos Exchange
  Scorecard. Its documentation says the two are the same calculation over the same candles, that
  trusted is "always a subset of reported", that the set is versioned and point-in-time — "not
  restated when the constituent list changes" — and that a step in a long trusted series "can
  reflect a change in constituents rather than a change in market activity". Trusted volume is
  published for assets and pairs, not for exchanges, and futures and options carry no trusted
  variant at all.
- **Score instead of subtracting.** CoinGecko attaches a Trust Score to each pair and each spot
  exchange rather than removing volume. The pair score considers order-book spread and ±2% depth,
  overall volume, trade frequency, outlier checks and web traffic; the exchange score combines
  liquidity, regulation, cybersecurity, past incidents and proof of reserves. Its methodology
  records a May 2026 revision, the Basilisk update, that "rebuilds Trust Score by replacing web
  traffic with direct volume and order book depth evaluation" — while the pair-level list on the
  same page, read on 4 October 2026, still names web traffic. Its API dropped the
  `trade_volume_24h_btc_normalized` field from the exchange endpoints from 16 June 2025, citing
  "changes in a third-party data source", which leaves `trade_volume_24h_btc` as the raw figure and
  per-ticker `is_anomaly`, `is_stale`, `trust_score` and a per-exchange `has_trading_incentive` flag
  as the signals.
- **Rank, and leave volume alone.** Kaiko's Exchange Ranking scores centralised spot exchanges each
  quarter on governance (30%), security (20%), business (15%), liquidity (15%), technology (10%)
  and data quality (10%); volume appears only inside the liquidity score, beside depth at ±1%.
  CoinDesk Data's Exchange Benchmark, published twice a year — the November 2025 edition is dated
  10 November 2025 — evaluates exchange risk on what it describes as more than 200 metrics. Both
  tell you which venues to weight; neither is a corrected volume figure.

## Volume nobody traded

The sixth choice exists because volume can be produced without anyone changing their position.
Buying from yourself, or from an account you control, prints a trade that moves no inventory and
pays only whatever fee the venue charges. Where the fee is zero, or where a rebate or a
transaction-mining token pays more than the fee, it pays to do it. That is why CoinMarketCap's
adjusted figure removes exactly those two kinds of market, and why CoinGecko flags trading
incentives at the exchange level.

How much of it there has been is a question with published, dated answers, and every one of them
describes its own sample.

- **Bitwise, March 2019.** In a presentation to SEC staff on 19 March 2019, entered in the
  public file for its bitcoin ETF application the next day, Bitwise Asset Management argued that "approximately 95%" of the bitcoin
  spot volume then shown by CoinMarketCap was "fake and/or non-economic". For 4–8 March 2019 it
  found 10 of the 81 exchanges it examined with what it called actual volume, about 273 million
  USD a day against roughly 6 billion USD reported, or 4.5%. Its tests are the useful part: trade
  size histograms that should decline smoothly with size, spreads that should anchor near zero
  rather than sit at a fixed width, and web traffic that should bear some relation to the volume
  claimed.
- **Cong, Li, Tang and Yang, 2022–2023.** "Crypto Wash Trading" (NBER Working Paper 30783, December
  2022; *Management Science* 69(11), 2023) applied statistical tests — first-significant-digit
  distributions, trade-size rounding and the tails of the trade-size distribution — to 29 exchanges.
  Regulated exchanges showed the patterns seen in other financial markets; on the unregulated ones
  the authors estimated wash trading "averaged over 70% of the reported volume", and documented that
  fabricated volume improved exchange rankings.
- **CoinMarketCap's own current position**, stated on its methodology page, is that the incentivised
  pairs of 2017 to 2019 were "synonymous with washtrading", that it is "far less pervasive" now, and
  that pairs are excluded "only when they trigger clear statistical anomalies". That is the
  publisher describing its own rule, and it is the reason its figures and a stricter publisher's
  will drift apart.

Two enforcement actions show the mechanism from the inside, and they are the only places on this
page where a named firm's conduct is described — in each case in the regulator's words and on the
regulator's date.

On **19 March 2021** the CFTC issued an order filing and settling charges against Coinbase Inc. for
reckless false, misleading or inaccurate reporting and for wash trading by a former employee on its
GDAX platform. According to the order, between January 2015 and September 2018 two of Coinbase's
own automated trading programs at times matched orders with one another, producing trades between
accounts Coinbase owned, and that transaction information reached reporting services including
CoinMarketCap and the publisher of the CME Bitcoin Real Time Index through Coinbase's API; the order
finds that a former employee placed matching buy and sell orders in the Litecoin/Bitcoin pair over
six weeks in August and September 2016. The civil penalty was 6.5 million USD. For a reader of
volume data, the detail that matters is the path: the prints were published on an ordinary API and
aggregated like any others.

On **9 October 2024** the SEC announced fraud charges against three firms it described as so-called
market makers and nine individuals, alleging that token promoters hired two of the firms to provide
"market-manipulation-as-a-service", and that the firms self-traded on popular crypto asset trading
platforms with bots that, the SEC alleged, at times generated billions of dollars of artificial
trading volume each day. These are
allegations in complaints, not findings. They describe volume bought by a token's promoters and
printed on trading platforms the release does not accuse of anything, which is the version of the problem that an
exchange-level adjustment cannot see and a pair-level one sometimes can.

## What you can do about it

**Decide which question the number answers before choosing it.** Reported volume answers "how much
did this venue say it traded", which is the right input for market-share work and for following
activity over time on one venue. Adjusted or trusted volume answers "how much of that should a
valuation or a liquidity estimate believe". Coin Metrics frames its pair the same way: reported for
market share and total activity, trusted wherever "an inflated denominator would distort the
result". Mixing the two in one chart is the error, not choosing either.

**When two figures disagree, check in this order** — it is roughly the order of how much each
explains: spot only or spot plus derivatives; contract size and unit on any derivative market;
reported or adjusted; rolling 24 hours or a calendar day, and which time zone; which pairs, and
whether flagged pairs are in or out; which side of the pair was converted and at whose price. Most
disagreements are resolved by the first three.

**For a dashboard, pick one source and print its label.** "Spot, reported, rolling 24h, CoinGecko"
is four words a reader needs and no chart supplies. The
[CoinGecko API](https://cryptomarkets.tools/tools/coingecko-api) returns the raw exchange figure in BTC plus per-ticker
`trust_score`, `is_anomaly` and `is_stale` flags, which is enough to show a filtered figure next to
the raw one. The [CoinMarketCap API](https://cryptomarkets.tools/tools/coinmarketcap-api) is the place to get CoinMarketCap's
reported-versus-adjusted split; confirm which of the two the endpoint you call returns before
labelling it. The two sites are compared in full in
[CoinGecko API vs CoinMarketCap API](https://cryptomarkets.tools/compare/coingecko-api-vs-coinmarketcap-api).

**For a backtest or a liquidity filter, do not use a live 24-hour figure.** It is a different window
every time it is fetched and it is never point-in-time. Build daily volume from one vendor's candles
on a fixed UTC boundary, keep spot and derivatives in separate columns, and store the unit and the
contract size with every derivatives row. If you exclude suspect venues, use a point-in-time list:
[Coin Metrics](https://cryptomarkets.tools/tools/coin-metrics) documents that its trusted set is applied as it stood on each
date rather than restated, which is what a backtest needs and what a hand-maintained exclusion list
quietly fails to be.

**Where you need to make the call yourself, start from trades.** [Kaiko](https://cryptomarkets.tools/tools/kaiko) and
[Tardis.dev](https://cryptomarkets.tools/tools/tardis-dev) sell exchange-level trade and order-book history, from which you can
apply your own window, your own conversion and the tests in the research above — trade-size
distributions, first-digit counts, spread behaviour. The procedure is in
[backfill tick-level trade history](https://cryptomarkets.tools/how-to/backfill-tick-level-trade-history). Expect it to cost
real money and real compute; it is the only version of the number whose every choice you made.

**For capacity, read depth, not volume.** How much you can trade without moving the price is a
question about the order book, which is why both Kaiko's liquidity score and CoinGecko's pair score
measure depth at ±1% or ±2% from the mid price. A venue with large volume and thin depth is the
pattern every one of the methods above was built to flag.

**Read the exchange rankings for what they are.** Kaiko's quarterly ranking and CoinDesk Data's
twice-yearly benchmark tell you which venues a careful index provider would weight, and that is
useful for choosing which exchanges to include. Neither is a volume series, and neither should be
read as a statement that any excluded venue's volume is false.

## Tools this bears on

- [CoinGecko API](https://cryptomarkets.tools/tools/coingecko-api.md) — Prices, market data and onchain DEX data for 18,000+ coins, via REST, websocket or MCP.
- [CoinMarketCap API](https://cryptomarkets.tools/tools/coinmarketcap-api.md) — Prices, rankings, DEX and derivatives data, metered by rows returned rather than by call.
- [Coin Metrics](https://cryptomarkets.tools/tools/coin-metrics.md) — Institutional reference rates, exchange market data and network metrics behind one API.
- [Kaiko Market Data API](https://cryptomarkets.tools/tools/kaiko.md) — Tick history back to 2010, by REST, gRPC stream or cloud delivery.
- [Tardis.dev](https://cryptomarkets.tools/tools/tardis-dev.md) — Tick-by-tick order books, trades and options chains from 64 exchange feeds since 2019.

## FAQ

### Why does CoinGecko show a different 24-hour volume for an exchange than CoinMarketCap?

Because the two convert from different sides of each pair. CoinMarketCap takes the volume the exchange reports in quote units and prices it at its own reference rate for the quote asset; CoinGecko takes the base-asset volume and prices it at its own global average for the base coin. Add a different set of integrated pairs, a different exclusion rule and a snapshot taken at a different moment of a rolling window, and a gap of several per cent is the normal state.

### What is the difference between reported and adjusted volume?

Reported volume is everything the exchange published. Adjusted or trusted volume is the same calculation over fewer markets — CoinMarketCap's adjusted exchange volume drops markets with no fees and transaction mining, and Coin Metrics' trusted volume keeps only exchanges in a published trusted set. Neither re-measures anything; both decide what to leave out.

### Is most crypto exchange volume fake?

Published research has found that a large share was, in the samples it studied — a 2019 presentation to the SEC estimated that about 95% of reported bitcoin spot volume in one week of March 2019 was fake or non-economic, and a 2023 paper found wash trading averaging over 70% of reported volume on the unregulated exchanges in its sample. Those are measurements of particular samples on particular dates, not a figure for any exchange today.

### Which volume figure should I use in a backtest?

One you can reproduce — daily volume built from one vendor's candles on a fixed UTC day boundary, spot and derivatives kept apart, and, if you filter suspect venues, a trusted set that is point-in-time rather than restated. A 24-hour figure scraped from an aggregator's live endpoint answers a different question every time it is fetched.

## Sources

1. [Methodology — Trust Score, trading volume (exchange) and trading volume (global)](https://www.coingecko.com/en/methodology) — CoinGecko, read 2026-10-04
2. [CoinGecko API changelog — removal of trade_volume_24h_btc_normalized](https://docs.coingecko.com/changelog) — CoinGecko, 2025-05-30
3. [CoinGecko API reference — Exchange Data by ID](https://docs.coingecko.com/reference/exchanges-id) — CoinGecko, read 2026-10-04
4. [Volume & Open Interest (Market Pair, Cryptoasset, Exchange, Aggregate)](https://support.coinmarketcap.com/hc/en-us/articles/360043395912-Volume-Open-Interest-Market-Pair-Cryptoasset-Exchange-Aggregate) — CoinMarketCap, read 2026-10-04
5. [Market data overview — Volume (reported and trusted volume, futures, options)](https://docs.coinmetrics.io/market-data/market-data-overview/volume) — Coin Metrics, read 2026-10-04
6. [Kaiko Exchange Ranking](https://www.kaiko.com/products/rates-and-indices/exchange-ranking) — Kaiko, read 2026-10-04
7. [Exchange Benchmark — November 2025](https://data.coindesk.com/reports/exchange-benchmark-november-2025) — CoinDesk Data, 2025-11-10
8. [Exchange Review May 2026](https://data.coindesk.com/reports/exchange-review-may-2026) — CoinDesk Data, 2026-06-15
9. [Get Ticker Information](https://docs.kraken.com/api/docs/rest-api/get-ticker-information) — Kraken, read 2026-10-04
10. [Public REST API for Binance (spot) — 24hr ticker, rolling window and trading day statistics](https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md) — Binance, read 2026-10-04
11. [Deribit API specification, version 2.1.1 — contract_size, volume, volume_usd, volume_notional, open_interest](https://docs.deribit.com/specifications/deribit_openapi.json) — Deribit, read 2026-10-04
12. [Memorandum on meeting with Bitwise Asset Management, File No. SR-NYSEArca-2019-01, with presentation](https://www.sec.gov/comments/sr-nysearca-2019-01/srnysearca201901-5164833-183434.pdf) — U.S. Securities and Exchange Commission, 2019-03-20. Cited as a measurement of markets in March 2019, which it remains; it is not offered as a description of any exchange today.
13. [Crypto Wash Trading (NBER Working Paper 30783; published in Management Science 69(11), 2023)](https://www.nber.org/papers/w30783) — National Bureau of Economic Research, 2022-12-26. The peer-reviewed version appeared in 2023 and has not been withdrawn; its findings describe its own 2019 sample.
14. [CFTC Orders Coinbase Inc. to Pay $6.5 Million for False, Misleading, or Inaccurate Reporting and Wash Trading (Release 8369-21)](https://www.cftc.gov/PressRoom/PressReleases/8369-21) — Commodity Futures Trading Commission, 2021-03-19. A settled order; the findings stand as made on that date and describe conduct between 2015 and 2018.
15. [SEC Charges Three So-Called Market Makers and Nine Individuals in Crackdown on Manipulation of Crypto Assets (Release 2024-166)](https://www.sec.gov/newsroom/press-releases/2024-166) — U.S. Securities and Exchange Commission, 2024-10-09

*Last updated 2026-10-04. A reference page, corrected in place — not a dated post.*
