# How to reconcile a token's supply and market cap

Two sources, two market caps, one token. The second factor is a judgement about which tokens count, and every vendor publishes a different one.

*https://cryptomarkets.tools/how-to/reconcile-supply-and-market-cap · next to Crypto Market Data APIs*

**Answer:** Neither figure is wrong; they are different definitions. Market cap is a price multiplied by a supply judgement, and every vendor publishes its own rule for which tokens count as circulating. Read the methodology page before comparing anything, hold one vendor for the whole table, and never put a circulating market cap from one source beside a fully diluted valuation from another. The formulas are public at all five.

## Approaches

*In the author’s order. Paid placement does not affect it.*

1. [CoinGecko API](https://cryptomarkets.tools/tools/coingecko-api.md) — Publishes the rule: circulating supply comes from the token team and is verified, locked tokens are deducted from total, a dash where it cannot be.
2. [CoinMarketCap API](https://cryptomarkets.tools/tools/coinmarketcap-api.md) — The other default figure, on the same formula and its own judgement — locked, reserved or unsellable coins are not allowed to affect market cap.
3. [Messari](https://cryptomarkets.tools/tools/messari.md) — Names the price as well as the supply: market cap uses its own VWAP, and FDV uses total supply with max supply as the documented fallback.
4. [Coin Metrics](https://cryptomarkets.tools/tools/coin-metrics.md) — Three market caps under three metric names — current, estimated circulating and free float — so the definition is chosen explicitly rather than inherited.
5. [DefiLlama](https://cryptomarkets.tools/tools/defillama.md) — The supply schedule underneath — unlocks built from vesting contracts, stablecoin supply per chain, and an FDV defined off maximum supply rather than total.

## The short way

Ask each vendor which supply it multiplied. All five publish the formula, and the formula is
always the same shape — a price times a supply — so the disagreement is never in the arithmetic.

```text
market cap = price x supply

CoinGecko       price x circulating supply
CoinMarketCap   price x circulating supply
Messari         MCAP = circulating supply x VWAP
                FDV  = total supply x VWAP        (max supply if total is missing)
Coin Metrics    CapMrktCurUSD = SplyCur x PriceUSD
                CapMrktEstUSD = circulating supply x PriceUSD
                CapMrktFFUSD  = SplyFF  x PriceUSD
DefiLlama       FDV = expected maximum supply x price
```

Two of those lines are the same sentence and the rest are not, which is the whole answer: before
comparing two market caps, find out which row each one came from. If they came from the same row,
the remaining gap is the price. If they did not, there is nothing to reconcile — you are holding
two different measurements and one of them has to go.

## What the options are

**The two consumer defaults.** The [CoinGecko API](https://cryptomarkets.tools/tools/coingecko-api) and the
[CoinMarketCap API](https://cryptomarkets.tools/tools/coinmarketcap-api) are where most quoted market caps originate, and
both publish their rule. CoinGecko's methodology states the formula as price times circulating
supply, and states where the supply comes from: token teams, verified by CoinGecko, with
proof-of-work coins queried from a block explorer API instead and smart-contract tokens computed
by deducting locked tokens from total supply. CoinMarketCap's FAQ gives the same formula and
defines circulating supply as "the best approximation of the number of coins that are circulating
in the market and in the general public's hands". Neither figure is a measurement of the chain.

**A vendor that names the price as well as the supply.** [Messari](https://cryptomarkets.tools/tools/messari) documents both
halves: market cap as circulating supply times a Messari VWAP price, and FDV as total supply times
the same price, with max supply used when total supply is missing. That matters because two
vendors can agree exactly on supply and still print different market caps — one aggregate price is
not another. Messari's x402 route bills per request in USDC with no account, and the asset and
metric listings are priced at zero, so a single asset can be checked without a subscription.

**Three market caps, named separately.** [Coin Metrics](https://cryptomarkets.tools/tools/coin-metrics) is the one that
refuses to pick for you. `CapMrktCurUSD` is current supply times price, where current supply is
documented as all coins ever created. `CapMrktEstUSD` is the circulating supply figure times
price. `CapMrktFFUSD` is free float supply times price, and free float is defined as the units
ever created and visible on the ledger *excluding* those held closely by company insiders,
controlling investors and long-term strategic holders. The community tier needs no key and no
account and carries daily asset metrics including supply and market cap — under a non-commercial
licence, which is the catch on the card.

**The supply schedule underneath.** [DefiLlama](https://cryptomarkets.tools/tools/defillama) is the one to reach for when
the question is not what the supply is but what it is about to be. Its documented unlocks dataset
is built from vesting contracts and published allocations, and it is explicit that FDV there is
the expected maximum supply times the price. Its stablecoin market cap is circulating supply
excluding burned and non-issued tokens, multiplied by price and tracked per chain.

## Where this breaks

**Circulating supply is a judgement, not a reading.** Nothing on any chain emits a circulating
supply. What exists on-chain is balances; turning those into "the supply that counts" means
deciding that a treasury multisig does not count, that a vesting contract does not count, that a
market-maker loan does, and that a founder's wallet does not. CoinGecko says so plainly — locked
tokens are deducted, and locked means foundation, investor and team allocations obtained from the
teams. CoinMarketCap says coins that are "locked, reserved, or not able to be sold on the public
market" cannot affect price and so should not affect market cap. Both are reasonable rules. They
are not the same rule, and neither is the chain.
[Where an on-chain number comes from](https://cryptomarkets.tools/guides/where-an-onchain-number-comes-from) is the long
version of why a metric is a definition before it is a measurement.

**The issuer is a source, and sometimes the only one.** CoinGecko's supply figures are obtained
from the token teams and then verified, and the methodology states what happens when verification
is not possible: a dash is shown in place of the figure. That is the honest failure mode, and it
is worth knowing which vendors have one. The pressure runs one way here — an issuer has an
interest in a supply figure that ranks well and no interest in one that does not — so a number
that arrived from the issuer and was never checked against a contract is the weakest input in the
whole calculation, and it is the input almost every consumer market cap rests on.

**Total, max and FDV are three claims, and the third is not one number.** Total supply is what
exists now; max supply is what can ever exist and many tokens have none. FDV is priced off one of
those two, and the choice is not settled: Messari documents FDV as total supply times price, with
max supply as a fallback, while DefiLlama documents it as expected maximum supply times price. For
a token with a large unminted allocation those are different figures printed under the same
three-letter label. And the claim inside either version is strange on its face — it prices tokens
that do not exist yet at the price of tokens that do, which assumes an unlock schedule that has
not run and a market that absorbs it without moving. It is an arithmetic identity, not a
projection, and it is not comparable across two tokens whose emission schedules differ.

**Burned supply is only gone if the vendor agrees it is gone.** CoinMarketCap's total supply is
the coins in existence "minus any coins that have been verifiably burned" — and *verifiably* is
the load-bearing word, because a burn is a transfer to an address that is believed to be
unspendable, not a chain-level deletion. Messari's total supply likewise excludes burned tokens.
Coin Metrics does not net them at all in current supply: `SplyCur` is all coins ever created, and
burnt supply is carried as its own metric family beside it. So three vendors reading the same
chain state produce two different supplies before anyone has argued about vesting, and a token
with a large burn history is where the gap opens widest.

**The same token on six chains is six rows and one asset.** A token minted on one chain and
bridged to five exists as wrapped or canonical representations on each of them, and a per-chain
figure counts what is on that chain. DefiLlama is explicit that its chain-level stablecoin market
cap is the sum over all stablecoins issued *or bridged* onto that chain, and that bridged value is
tracked split by origin — native, canonical bridge, third-party bridge — precisely because those
are different claims. Add the per-chain rows together and you have counted the bridged copies
alongside the locked originals. The same care shows up one layer along in its TVL rules, where
receipt and LP tokens redeposited elsewhere are flagged as double-counted rather than silently
summed.

**The price half has all the same problems.** Market cap is a product, and the first factor is an
aggregate that somebody built: Messari names its as a VWAP across the markets an asset trades in,
and CoinGecko's card notes the price is composited across the exchanges it tracks rather than
taken from a venue you could reconcile against.
[Where the Bitcoin price comes from](https://cryptomarkets.tools/guides/where-the-bitcoin-price-comes-from) is that half in
full. A few percent of disagreement between two market caps is usually here. Several times is
almost never here.

## If you outgrow this

If the problem is **a comparison** — a table, a screen, a ranking — hold one vendor for the whole
of it and say which one in the caption. Mixing vendors inside one table imports one supply
judgement into a row and a different one into the row below, and the resulting ordering is an
artefact of the mixing rather than of anything about the tokens.

If the problem is **that the figure has to be defensible**, move to a vendor whose definition has
a name you can print. Coin Metrics is the clearest case in
[market data APIs](https://cryptomarkets.tools/categories/market-data-apis): writing `CapMrktFFUSD` in a footnote says
exactly what was multiplied, in a way "market cap, source: a website" never can. Check the licence
before it ships, though — the free community tier's data is offered under a non-commercial
licence, which is a different question from whether the number is right.

If the problem is **that the supply is moving**, the number to watch is not the market cap at all
but the unlock schedule behind it, and that is a different dataset with a different failure mode:
it is built from vesting contracts and published allocations, so it is only as complete as the
allocations that were published. DefiLlama and the rest of
[on-chain analytics](https://cryptomarkets.tools/categories/onchain-analytics) is where it lives.

And if the problem is **that you need the number inside a product**, the reconciliation stops
being editorial and becomes a licensing question: attribution requirements, redistribution terms
and what each tier permits differ more between these vendors than the market caps do. Read the
terms on the card before the methodology page, because the cheapest correct number you are not
allowed to publish is worth nothing.

## FAQ

### Why do two sites show a different market cap for the same token?

Because market cap is a price multiplied by a supply, and both factors are decisions. The supply is a judgement about which tokens are locked, vested, burned or held by insiders, and each vendor publishes its own rule for that; the price is an aggregate across venues that each vendor builds differently. A gap of a few percent is usually the price, and a gap of several times is almost always the supply.

### Which market cap is the correct one?

None of them is correct in the way a block height is correct. Each is correct against its own published definition, which is why the usable question is "which definition do I want" rather than "which vendor is right". Coin Metrics makes this explicit by shipping three under three names — current supply, circulating supply and free float supply — instead of picking one for you.

### Is FDV just market cap with the total supply?

That is one vendor's definition and not the other's. Messari documents FDV as price times total supply, falling back to max supply when total is missing; DefiLlama documents it as price times the expected maximum supply. For a token whose total and max supplies differ, the two figures are different numbers with the same name, and for a token with no max supply at all only one of the two is defined.

### Can I add up a token's supply across the chains it trades on?

Not without knowing what each figure counts. DefiLlama's chain-level stablecoin market cap is documented as the sum over all stablecoins issued or bridged onto that chain, so a token minted on one chain and bridged to five appears on six. Per-chain figures answer "how much of this is here", and summing them answers nothing unless the bridged copies have been netted first.

## Sources

1. [Methodology — circulating supply and market capitalization](https://www.coingecko.com/en/methodology) — CoinGecko, read 2026-09-21
2. [FAQ — market cap, circulating supply, total supply and max supply](https://coinmarketcap.com/faq/) — CoinMarketCap, read 2026-09-21
3. [Messari Market Data Service — market cap, FDV and supply metrics](https://docs.messari.io/glossary/data-metrics/market-data-service) — Messari, read 2026-09-21
4. [Market Capitalization — CapMrktCurUSD, CapMrktEstUSD, CapMrktFFUSD](https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/market/market-capitalization) — Coin Metrics, read 2026-09-21
5. [Free Float Supply](https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/supply/free-float-supply) — Coin Metrics, read 2026-09-21
6. [Supply — the network-data supply metric family](https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/supply) — Coin Metrics, read 2026-09-21
7. [Data Definitions — stablecoin market cap, bridged TVL, double counting, FDV](https://docs.llama.fi/analysts/data-definitions) — DefiLlama, read 2026-09-21

*Last updated 2026-09-21. Corrected in place — an endpoint that moves is a bug here, not a new post.*
