What Is Circulating Supply? Who Decides It and How to Check

Circulating supply is the number of tokens a tracking site counts as in public hands and free to trade. No blockchain stores that number. Somebody works it out off the chain, often from figures the project sends in.
Corrected 16 October 2026. An earlier version of this page said CoinMarketCap’s only CateCoin page was an unrelated BNB Chain token, and that the supply you would find by searching the name was about fifty nine thousand times too large. That stopped being true on 19 August 2026, one day after this page went up, when CoinMarketCap listed this exact Solana mint. The claim has been removed, the worked example below is rebuilt on readings taken on 16 October 2026, and the CoinMarketCap wording is now cited to the coin page where it actually appears.
A blockchain publishes how many tokens exist. It does not publish how many are circulating, because there is no such field anywhere on it. That is not a scandal and it is not a conspiracy. It is the documented process, and there is a decent reason for it. But it does mean the two numbers sitting next to each other on a coin page have completely different pedigrees, and only one of them was measured.
What follows is where each number actually comes from, the one call that settles the measurable half, and a worked example on the token this site follows, where on a single day the chain, a major tracking site and an exchange gave three different totals for the same contract.
One of these questions has an on-chain answer
Ask a Solana node how many $CATE exist and it answers immediately, for free, without an account. On 16 October 2026 it returned 964,148,695.444152 tokens.
Look at that number for a second. It is not round. It has six decimal places, because the token is defined with six decimal places, and the chain reports the raw integer count of the smallest unit rather than a tidied headline. Nobody rounded it for your benefit and nobody chose it. It is simply what the mint account said at that moment, and it is the same answer for everyone who asks.
Now ask the same node how many of those tokens are circulating. There is nothing to ask. The mint account holds a supply figure, a decimals figure, and two authority slots that are both empty on this token. That is the whole record. There is no field for tokens the team promised not to sell, no field for tokens locked in a vesting contract, no field for coins somebody lost the keys to.
The chain cannot store that, and the reason is simple. A chain records where tokens are. It has no way of knowing what anybody intends to do with them. A wallet holding fifty million tokens looks identical whether it belongs to a founder under a four year lock, an exchange holding customer balances, or somebody who bought them this morning and will sell them this afternoon. Working out which is which is a judgment about human intent, and judgment is not something a ledger can perform.
So somebody has to supply the other number
Since the chain will not answer it, the tracking sites had to build a process. They are open about what that process is, and it is worth reading in their own words rather than through anybody’s summary.
CoinMarketCap’s own definition, in the interface text of its coin page for this token, calls circulating supply “the amount of coins that are circulating in the market and are in public hands.” The same interface carries two different sentences for that field, and which one you see depends on how the figure arrived. When the number has been checked: “The CoinMarketCap team has verified the project’s circulating supply to be as follows.” When it has not, something considerably more revealing: “The CMC team has not verified the project’s circulating supply. However, according to the project, its self-reported CS and self-reported MC are as follows.”
Read that again, because it is the whole article in one sentence. The site has a built in state for a supply figure that arrived from the project and was never independently checked, and it has a label ready to print next to it. Self-reported is not an accusation there. It is a product feature, because a large share of the numbers genuinely do arrive that way.
This is the part most explainers leave out. They will tell you that circulating supply excludes locked and reserved tokens, which is true, and then move on as though the exclusion happens automatically. It does not. Somebody has to say which addresses are locked, and the somebody best placed to know is the team holding them.

Total supply is not automatically safer
Here is the surprising part, where the usual explanation of these terms breaks.
You might reasonably assume that circulating supply is the soft, editorial number and total supply is the hard one read off the chain. On a coin page, that is not necessarily so. CoinMarketCap defines total supply as “the amount of coins that have been already created, minus any coins that have been burned”, and its interface also carries this line: “If this data has not been submitted by the project or verified by the CMC team, total supply shows - -.” The same sentence exists for max supply.
So on that page, total supply is also something that gets submitted or verified, and when neither has happened the field is left blank rather than filled in from a node. That is a defensible design for a site covering thousands of assets across dozens of chains, many of which have no single authoritative supply to read. But it means the phrase “total supply” on a tracking site and the phrase “total supply” on a chain are not guaranteed to be the same kind of object, even when they agree.
The practical consequence is small but sharp. A supply figure on an aggregator page is a claim with a chain of custody behind it, and the page usually tells you what that chain was if you look for the annotation. A supply figure from a node is a reading. When the two disagree, the reading is not automatically right about what is circulating, but it is always right about what exists.
| The number | Where it actually comes from | What can make it wrong |
|---|---|---|
| Supply on the mint account | Read from the chain by any node, on request | Nothing, but it answers “exists”, not “circulates” |
| Total supply on a tracking site | Submitted by the project or verified by the site’s team | Never submitted, or submitted once and never revised |
| Circulating supply | A deduction laid on top, deciding which holdings do not count | Locked lists supplied by the party holding the tokens |
| Max supply | Submitted or verified, same route as total supply | Blank when neither has happened |
What this looks like on the token this site follows
$CATE is a clean demonstration, because every number involved can be read by anyone, on the same day, from the source that publishes it. These readings were all taken on 16 October 2026.
CoinGecko has no entry for the Solana mint at all. We asked its public interface for the token by contract address and it returned “coin not found”, and GeckoTerminal’s record for the token carries an empty CoinGecko identifier, which is the same fact from the other direction. There is no circulating supply published there because there is no listing there.
CoinMarketCap has listed this exact mint since 19 August 2026, under the name “Catecoin (cate.meme)”. Its page showed a circulating supply of 964,165,452.5 and a total supply of 964,170,613. The page’s own data says where the total comes from: it is read from an address on the project’s official site, cate.meme/api/total-supply.php, which returned 964,170,613 when we asked it the same morning. The circulating figure is marked as a static entry rather than a live feed.
A node, asked the same day, said 964,148,695.44. So the published total is about 21,900 tokens above what exists, roughly 0.002%. That is tiny, and nobody is hiding anything. It is a figure the chain last showed in the second week of August, still being collected and printed every day because the address that supplies it keeps returning it. The same page also lists a max supply of 964,165,452.5, which is lower than its own total supply. Two fields entered by two routes do not have to agree with each other, let alone with the chain.
Then there is the name. CoinMarketCap’s plain catecoin page still belongs to the unrelated 2021 BNB Chain token, contract beginning 0xe4fae3, whose supply is counted in the tens of trillions. Search by name and you can land there instead. The full story of the tokens sharing this name is in which CateCoin is which, so it is not repeated here.
The lesson generalises well beyond this one collision. A supply figure is only meaningful once you know which contract address it describes. The name on the page is not an identifier. The contract address is.

A number that was true once keeps getting published
There is a second, quieter failure mode, and it has nothing to do with mistaken identity. A submitted figure can be perfectly accurate on the day it is submitted and then simply stop being revised.
This token launched with one billion tokens. That number was correct on 26 July 2026, and some places still show it: on 16 October 2026, Gate’s public currency record for this exact Solana mint listed a total supply of 1,000,000,000. The chain has moved on. Tokens have been burned since launch, which is to say permanently destroyed, and a node on 16 October 2026 reported 964,148,695.44 remaining. Roughly 35.85 million tokens, about 3.59% of the launch supply, no longer exist. If you want to confirm a burn like that yourself, how to verify a token burn walks through it.
The drift is not finished, and that is the point. When we read the same figure on 11 August 2026 it stood at 964,170,083. On 18 August it was about 1,800 tokens lower. By 16 October it had fallen a further 19,600 or so, roughly 2,300 a week on average. That is a small movement, but it is a movement in one direction that never reverses, and any static copy of the number gets a little more wrong every day it sits there.
Why does a stale figure survive so well? Because nothing forces a correction. There is no event that fires when a burn happens and tells every downstream site to recheck. The figure was submitted once, it looked right, and it will keep being served until a human decides to revisit it. We have written separately about one specific upstream source of the stale billion on this token, which is a launchpad record frozen at creation, and that mechanism explains a good deal of where the figure keeps coming back from.
How to check any Solana token yourself
This needs no account, no paid key and no third party you have to trust. A public node will answer, and the answer takes one request. The method is getTokenSupply, which Solana’s documentation describes as returning “the current supply for an SPL Token mint.”
curl -s https://api.mainnet-beta.solana.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getTokenSupply",
"params":["<MINT_ADDRESS>"]}'
What comes back is an amount in the token’s smallest unit, a decimals value, and a human readable figure that combines the two. That is the supply that exists. It is the number to trust when a page shows you something different and you want to know which one was measured. Supply is one check among several, and the rest, from authorities to holders, are in check any Solana token yourself.
Two cautions, both of which matter more than they sound. First, this tells you what exists, not what circulates, and no amount of querying will turn one into the other. If you want circulating supply you are asking for somebody’s judgment, and the honest move is to find out whose and on what basis, rather than to look for a purer source that does not exist.
Second, Solana has two separate token programs, and a token built on the newer one will not appear in tooling that only knows about the older one. $CATE is on the newer program, which is a detail that has already caught out at least one widely repeated wallet safety check, and we covered that trap in how wallets actually get drained. The call above works on both, but plenty of dashboards and scripts do not.
| If you want to know | Ask | Trust level |
|---|---|---|
| How many tokens exist right now | A node, directly | Definitive, and reproducible by anyone |
| Whether more can be created | A node, for the mint authority slot | Definitive, empty slot means no |
| How many are freely tradable | A tracking site, and read the annotation | A claim, sometimes checked, sometimes not |
| Which asset a figure describes | The contract address, never the name | The only identifier that cannot collide |
Common questions
Four questions come up once people see that the two numbers come from different places. The definitions quoted are CoinMarketCap’s interface text, read on 16 October 2026.
Total supply is what exists: CoinMarketCap describes it as coins “already created, minus any coins that have been burned.” Circulating supply is the part of that a site counts as in public hands. The first can be read from the chain. The second always involves somebody deciding which wallets to leave out.
CoinMarketCap calls it “the maximum amount of coins that will ever exist in the lifetime of the cryptocurrency.” On a Solana token, a node can tell you whether more can ever be made: if the mint authority slot is empty, as it is on $CATE, nobody can create new tokens. A tracking site’s max supply field is entered separately, which is how this token’s page came to show a max supply below its own total.
A burn lowers what exists, and a node shows that at once. A tracking site’s figure only follows when its source is updated. Until then, the published number stays where it was, which is the gap this page measured.
Directly. CoinMarketCap’s own formula is “Market cap = Current price x Circulating supply”, so a circulating figure that is out of date moves the market cap with it. The price half of that sum has its own reasons for differing between sites, covered in why every site shows a different price.
What to take from this
None of this makes tracking sites untrustworthy. They are solving a genuinely hard problem across thousands of assets, and the annotation telling you a figure is self-reported is them doing the honest thing rather than hiding it. The failure is usually in the reading, not the reporting.
What is worth carrying away is a habit. When you see a supply number, ask which of the two questions it answers. If it is how many exist, a node will confirm or refute it in seconds and there is no reason to accept anybody’s word. If it is how many circulate, there is a person somewhere in that number, and knowing that is not cynicism, it is just reading the label.
And check the contract address before you compare anything at all. On this token, a search by name can still land you on an unrelated token whose supply runs to the trillions, and only the address settles which one you are looking at.
The live supply for this token, read from a node every hour for exactly the reasons above, is on our stats page. If the name collision is what brought you here, the fuller version of that story is in which CateCoin is which.
This site is community run and does not speak for the project. The CoinMarketCap wording quoted above is the interface text of its $CATE coin page, read on 16 October 2026, and every supply figure was read from a public Solana node or the named source on the date stated beside it. Nothing here is financial advice.
Official contract address · Solana
Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump