QTube LearnTokens and digital assets Beginner

Circulating vs Total vs Max Supply

Total supply is current issuance, commonly net of units the chosen methodology recognizes as burned. For an ERC-20, totalSupply() is the contract’s own reported number; a data vendor may adjust or reject it.

Published
Last reviewed

In brief

  • Total supply is current issuance, commonly net of units the chosen methodology recognizes as burned. For an ERC-20, totalSupply() is the contract’s own reported number; a data vendor may adjust or reject it.
  • Max supply is the best-supported ceiling on future issuance, if a ceiling exists. It may be enforced by consensus rules, imposed by contract code, estimated from an emission schedule, or changeable through governance.
  • Circulating supply is an estimate of public float. Data providers apply exclusion rules to team, treasury, vesting, escrow, staking, or other wallets, and those rules are not universal.

CoinMarketCap and CoinGecko both publish supply methodologies, but their current rules and labels are not identical. A “circulating supply” figure should therefore be read as publisher + methodology + timestamp, not as a chain-native field shared by every asset.

Market cap usually multiplies a price by circulating supply. FDV multiplies a price by a broader supply figure. Both outputs inherit every judgment and error in the supply input.

Three questions, three different inputs

The useful distinction is temporal and methodological:

  1. How many units does the system report as existing now? That is the total-supply question.
  2. How many units might exist after all authorized issuance? That is the maximum- or terminal-supply question.
  3. How many existing units count as public float today? That is the circulating-supply question.

The first two may be partly derivable from protocol or contract rules. The third requires classification. A blockchain can show that an address holds tokens, but it does not inherently label the address “team treasury,” prove an off-chain vesting contract, or reveal whether a custodian’s inventory is available for sale.

Total supply is implementation-dependent

ERC-20 requires a totalSupply() function that returns a uint256. The standard does not require one universal mint, burn, cap, vesting, or circulation policy. The value means what that token’s implementation makes it mean.

A normal burn function may reduce both an account balance and totalSupply(). Sending tokens to a famous “dead” address may make them unlikely to move without changing totalSupply() at all. An upgradeable token or an active mint authority may create additional units later. A dashboard that says “total supply net of verified burns” may consequently apply its own adjustments rather than copy one contract call.

On Solana, a mint account stores the token’s supply and optional mint authority. If no mint authority is present under the original Token Program model, no further units may be minted through that authority. This still does not create a circulating supply field; wallet classification remains external analysis.

Wrapped assets require another check. The total units of a representation are not additional native units of its backing asset. Adding locked source tokens and minted destination representations can double count the same economic exposure. CoinGecko’s supply FAQ explicitly describes separate handling for native multichain issuance, lock-and-mint, burn-and-mint, and wrapped tokens.

Max supply can be a rule, estimate, or null

Bitcoin’s subsidy schedule is a strong example of a protocol-level terminal limit. The subsidy halves every 210,000 blocks, and integer-denominated rewards approach a theoretical total slightly below 21 million BTC. Actual spendable supply is lower because the genesis reward and some other outputs are unspendable or lost.

Ethereum is the opposite of a fixed-cap example. Validators receive protocol issuance, while EIP-1559 burns transaction base fees. Issuance and burn vary, so net ETH supply can increase or decrease. Ethereum has no Bitcoin-like terminal number that can be inserted into a max-supply field without inventing one.

For an application token, “max” may mean:

  • an immutable cap checked by contract code;
  • the endpoint of a documented emission schedule;
  • the present setting of a governance-controlled parameter;
  • a vendor estimate after recognized burns;
  • no value at all.

A website headline is weaker evidence than enforceable code and governance analysis. Even a coded cap must be read with proxy upgrades, migration rights, and mint-authority changes in mind.

Circulating supply is a methodology

CoinMarketCap describes circulating supply as its best approximation of assets in public hands and generally excludes locked assets, insider allocations, and assets that are not sellable in public markets. Its process asks projects for distribution tables, locked and team-controlled addresses, and then checks blockchain data where possible.

CoinGecko’s published method similarly starts from total supply and subtracts “uncirculated” wallets, including defined locked, vested, treasury, team, and other allocations. The precise classifications and evidence requirements can change. Neither method is a protocol consensus rule.

Disagreement is predictable around:

  • unlocked team or founder holdings;
  • DAO and foundation treasuries;
  • tokens committed to future incentives;
  • staking and validator deposits;
  • escrowed or legally restricted holdings;
  • exchange, custodian, and market-maker inventory;
  • lost keys and presumed burn addresses;
  • tokens spread across native and bridged deployments.

“Transferable” is not always the same as “counted as circulating.” A vendor may exclude an unlocked strategic wallet because it treats circulation as public float. Another may count all unlocked units. Both should disclose the method.

Mints, unlocks, burns, and transfers

These events change different metrics:

  • Mint: creates units and raises total supply. Whether circulation rises immediately depends on where the units go and the publisher’s rules.
  • Unlock: removes a transfer restriction from units that already exist. Total and max supply can stay unchanged while a circulating estimate rises.
  • Treasury distribution: moves existing units into other hands. It may increase circulating supply without being new issuance.
  • Burn: destroys units only under the applicable protocol or contract accounting. A transfer to an inaccessible-looking address is not automatically a formally recognized burn.
  • Stake or escrow deposit: relocates or restricts units. Whether circulation falls is a methodology decision, not a necessary supply change.

None of these events alone determines price. “More circulating” can describe greater available float; it does not specify how much will be sold or what buyers will pay.

How to audit a supply figure

Record the answer to each question:

  1. Which publisher produced the figure?
  2. Is the source a node, contract call, block explorer, project submission, or wallet list?
  3. Which date or block does it represent?
  4. What does the publisher call a verified burn?
  5. Which team, treasury, vesting, escrow, and staking balances are excluded?
  6. Does the token have a mint authority, proxy admin, or governance path that can change supply?
  7. Are native multichain issuance and bridge representations reconciled without double counting?
  8. Is max supply enforced, estimated, or unavailable?

Comparisons are strongest when the same methodology is applied to both assets. A precise-looking ratio built from incompatible definitions is not made reliable by extra decimal places.

Sources & further reading

  1. Supply (Circulating, Total, Max) CoinMarketCap Primary · Documentation

    Published public-float, total-supply, max-supply, burn, and verification methodology

  2. CoinGecko Supply Methodology CoinGecko Primary · Documentation

    Published classifications for total, outstanding, and circulating supply and excluded wallet categories

  3. CoinGecko Supply Update FAQ CoinGecko Primary · Documentation

    Method for native multichain issuance, lock-and-mint, burn-and-mint, and wrapped-token double-counting controls

  4. ERC-20: Token Standard Fabian Vogelsteller and Vitalik Buterin Primary · Improvement proposal

    Normative requirement that a token expose totalSupply() without imposing a universal circulation, cap, or burn policy

  5. Assets on Solana Solana Foundation Primary · Documentation

    Official mint-account supply, mint-authority, and fixed-supply fields

  6. Controlled supply Bitcoin Wiki Secondary · Documentation

    Bitcoin’s 210,000-block halvings, sub-21-million theoretical total, and distinction between theoretical and spendable supply

  7. EIP-1559: Fee market change for ETH 1.0 chain Vitalik Buterin et al Primary · Improvement proposal

    Normative base-fee burn and explicit reason ETH supply cannot be guaranteed fixed

  8. How The Merge impacted ETH supply Ethereum.org Primary · Documentation

    Issuance-versus-burn framework and post-Merge validator issuance; historical numeric examples are not reused as current values