Supply Analyzer
Supply Analyzer
Type any token and see its supply: five numbers on top, the next unlock, then what is out month by month and where the new tokens come from and go.
A ticker finds a Gem Screener coin; a contract address reads any token on its chain (price from DeFiLlama, total supply from the chain). One source per number; nothing is estimated in place of missing data.
Reading the sources
How the numbers are made
Definitions
- The tiles (tiles on every record): one source per number, never two side by side. Circulating supply, price and market cap are the market feed's (CoinGecko, through the Gem Screener snapshot); the schedule is DeFiLlama's unlock file or the project's own published document; buybacks and payouts are DeFiLlama's holders' revenue of the last 30 days; staking is the project's own API or its contract on the chain.
- Circulating = the circulating supply of the max supply (the total supply when there is no max), as a share. Market cap -> FDV: FDV = max supply x price (total supply when there is no max); FDV / market cap is red at 3x or more and green at 1.5x or less.
- Dilution, 12 months = the new tokens of the next 12 months from the published schedule and the measured emissions (scheduled unlocks, locks ending, rewards), divided by the circulating supply; 'net of buybacks' subtracts the measured buybacks and burns of the same 12 months. Red at 25% or more, green under 5%. When no schedule and no emissions were read it is null: nothing is assumed in its place.
- To holders = the dollars of the last 30 days that reached holders by every route DeFiLlama states (market buybacks, fee burns, fees paid to stakers, lockers or voters), the share of revenue (the Gem Screener's to_holders) and how. 'No payouts, buybacks or burns found' when nothing was read.
- Staked = the tokens staked and free to leave (the project's own stake named apart), how fast they can leave, and how many times the circulating supply that is. Red only when at least the circulating supply can leave within 7 days under a published exit rule; with no exit rule published it reads 'exit rule not published' and is not coloured. No tile when staking is not measured.
- The next-unlock row = the next day on the schedule, summed over its recipients, as a share of the circulating supply, with every recipient. 'No schedule published' with the known emissions when no schedule was read; nothing is filled in for it.
- next_unlock = the next day on the schedule with tokens reaching their date: its timestamp (ts), days from now, the tokens of every tranche that day added together, the recipients named, and the parts listed (tranches). kind unknown = no schedule read on any feed; kind none_scheduled = a schedule was read and nothing is ahead. It is the first of today.tranches by date, summed over that day, never one recipient's share alone.
- Tokens out, month by month (out_by_month) = circulating + scheduled unlocks, locks ending and emissions - buybacks and burns, at the end of each month from today to the end of the schedule; empty when no schedule is published.
- What comes in = vesting and unlock tranches reaching their date; locks and unstaking queues ending; emissions, mints and staking rewards paid out; airdrops and other distributions.
- What goes out = buybacks (burned or kept); burns; new staking and new locks.
- A buyback = tokens the project buys on the market with its fees, by the protocol's own stated method. A fee paid to stakers, lockers, voters or holders is a transfer to holders, not a buyback: it is shown apart and never leaves the pile. A payout that is part buyback, part transfer, with no stated split, counts as its measured floor and the range reaches its full figure.
- Max supply = a cap the market feed states. The end or the total of an unlock schedule is never a max supply: it is named as what it is and nothing is derived from it. Max supply minus total supply = tokens not issued yet, or burned. No feed says which, so the gap is named and sits in the reserve outside the pie; it is never shown as burned or bought back.
- Burns are not measured: no feed we read carries burned tokens, so burns count as 0 and are named unknown on every record. Bought back, burned holds only buybacks the project's own documents say are burned (the measured buyback times that stated share); it is 0 everywhere else, never max supply minus total supply.
- Unknown never counts as good: an unknown outflow counts as 0, and a schedule nobody published is not filled in: with no vesting schedule and no emissions read, the yearly change is null, the months ahead are not drawn and the Dilution reads a dash (schedule_published false). The unknown input is named.
- Scheduled is not moved: a schedule says when tokens can be sold, not that they were.
- Flow internals (served for agents; the page shows the tiles and tokens out month by month): The sellable pile = the tokens in circulation that are not locked, plus the staked tokens that can leave at any time, plus the tokens whose lock has ended. It is never more than the total supply: when the circulating and staked figures add up to more than the tokens that exist, the pile is not available and the reason is given.
- Flow internals (served for agents; the page shows the tiles and tokens out month by month): The yearly change = (in - out) x 12 / the pile, in %. It never reads below -100%: a pile the curve empties within the year has lost all of itself, not more. A month takes out at most what the pile holds plus what comes in that month, and what comes in (the measured emissions) is at most what the reserve outside the pile still holds, so no curve buys back or burns more tokens than exist. It never reads above the room left to the max supply, 100 x (max supply - the pile) / the pile: a month's inflow times 12 can name more tokens than exist, and the pile cannot grow past its max supply.
- Gross: what comes in is the gross figure; buybacks are netted only here, inside this app.
- A range is as wide as the buyback whose share of a mixed payout is not stated (yearly_range_parts on every record), which is that token's own figure.
Every input of this token
Pick a token: each input appears here with its value, unit, source and date.
| Input | Value | Source | Date |
|---|
Sources
- Circulating supply, price, market cap, total and max supply: CoinGecko, through the Gem Screener's published snapshot; for a token typed by contract, DeFiLlama's price feed and the chain's
totalSupply. The max supply is only a cap this market feed states; the end or the total of an unlock schedule is never used as one. - The future unlock schedule and emissions: DeFiLlama's unlocks data (the
emissionsfiles), read on every refresh; the project's own published schedule where it has one (below). - Buybacks, burns and payouts to holders: DeFiLlama's holders' revenue of the last 30 days, by the protocol's own stated route, at today's price.
- Staking: the project's own API where it has one (Hyperliquid's validator summaries), the project's staking or vote-escrow contract on the chain where it is published, else DeFiLlama's staking TVL.
- The project's own published schedule, hand-entered with its link and date:
- hyperliquid: core contributors vesting, 238,000,000 tokens in 24 monthly tranches (the docs page recorded with this entry answers 404 (checked 2026-10-04, no archived copy); no live project page stating the schedule was found, so this entry carries no link. DeFiLlama's unlock file tracks the same core-contributor tranches on-chain and is shown beside it); buybacks burned (source); unstaking takes 7 days (source); read on 2026-10-04
- curve-dao-token; unstaking takes None days (source); read on 2026-10-05
- pharaoh-2; unstaking takes 0 days (source); read on 2026-10-04
- One source per number, never two side by side. A figure older than 7 days says so.
Nothing estimated
Every figure on the page is read from a source as it is: a supply, a tranche on a schedule, last month's buyback at today's price. When a schedule is not published, nothing is assumed in its place: the row reads "No schedule published" and the dilution tile stays empty.
The test
The test, written down before its first result (spec item 12): each week the covered tokens above the median market cap are ranked by the 12-month dilution; the top third is compared with the bottom third by the median return against BTC over the following four weeks. After at least 26 weeks the number counts as telling something only if the 90% bootstrap interval of that difference lies wholly above zero; wholly below zero means it points the wrong way; an interval that includes zero is inconclusive. A token with no published schedule or emissions (Dilution shown as a dash) is left out of the ranking, never ranked as 0. The 26 weeks are counted from 2026-W42, the week the ranking number changed from the removed 1-10 pressure to the 12-month dilution; the weeks before are kept as a closed record and do not count. Until then the number is a measure of the supply, not a forecast of the price, and this page makes no claim that it predicts anything.
Weekly records started with this version; the first result appears after 26 weeks. The record so far.
What this version does not do
- It does not label wallets the project has not published: whatever depends on them stays unknown.
- It measures no staking inflow or outflow and no fee burns yet (no feed we read carries them): the staking pipe is marked flat and burns count as 0, both named as unknown. Max supply minus total supply is NOT read as burned: it is tokens not issued yet or burned, no feed says which, and it is named as the supply gap.
- It counts as a buyback only what the protocol's own stated method calls a market buyback (DeFiLlama's holders' revenue, by route). A fee paid to stakers, lockers or voters is shown as a transfer to holders and never leaves the pile; a payout with no stated buyback share counts as its floor, with the range reaching its full figure.
- A token typed by ticker is found only among the Gem Screener's coins; any other token is read by contract address, where its price comes from DeFiLlama and its total supply from the chain; its circulating supply, schedule and buybacks are known only when DeFiLlama lists the protocol behind it.
- The project's own published schedule is hand-entered, with its link and date, for the tokens listed in the sources; for every other token the schedule is DeFiLlama's unlock file or unknown.
- It estimates nothing in place of missing data: a schedule nobody published is not filled with a typical figure; the row reads 'No schedule published' and the Dilution tile stays empty. The page, the Gem Screener and the API show the Dilution over 12 months, and none of them is a forecast of the price.
- It is not financial advice. It places no orders, sends no alerts and moves no funds.
For builders: REST, MCP, WebSocket
GET https://cymetica.com/api/v1/supply-analyzer/analyze?symbol=HYPE
GET https://cymetica.com/api/v1/supply-analyzer/analyze?contract=0xdbdb4d16eda451d0503b854cf79d55697f90c8df&chain=ethereum
POST https://cymetica.com/api/v1/supply-analyzer/analyze {"symbol":"HYPE"} or {"contract":"0x…","chain":"ethereum"}
POST https://cymetica.com/api/v1/supply-analyzer/batch {"items":[{"symbol":"HYPE"},{"contract":"0x…","chain":"ethereum"}]} (up to 300)
GET https://cymetica.com/api/v1/supply-analyzer/batch/gem-screener every Gem Screener coin, one row each (tiles, dilution_12m_pct, next_unlock)
GET https://cymetica.com/api/v1/supply-analyzer/coverage how many coins have every input, and what is missing
GET https://cymetica.com/api/v1/supply-analyzer/definitions definitions, sources, the test, what it does not do
GET https://cymetica.com/api/v1/supply-analyzer/ledger the weekly record
MCP POST https://cymetica.com/mcp/v1 tools: supply_analyzer_token, supply_analyzer_batch (same input, same answer)
WS wss://cymetica.com/ws/supply-analyzer send {"op":"subscribe","symbol":"HYPE"}
or {"op":"subscribe","contract":"0x…","chain":"ethereum"}
Documented at /api-docs and in the public OpenAPI. Research and build: EventTrader, Build it Better ET-28934 and ET-31267. A measure of the token's supply, not a forecast of its price and not financial advice. It places no orders.