How to Create a Circulating Supply API Endpoint for CoinMarketCap
CoinMarketCap's listing request asks for URLs that report your token's total and circulating supply. This guide covers what those endpoints must return and two ways to get them ready.
Why CoinMarketCap asks for supply endpoints
Market cap is price × circulating supply. If the supply figure is wrong, the market cap and ranking on your token page are wrong too.
Instead of trusting a number typed into a form once, CoinMarketCap reads the figure from a URL you provide. That way the page stays accurate as tokens unlock, get burned, or move out of treasury wallets.
What the endpoint must return
- A public HTTPS URL that opens without an API key or login
- A single number as the response, with no HTML page or extra text around it
- Decimals already applied, for example
742318950.25instead of a raw 18-decimal integer - Separate URLs for total supply and circulating supply
- Stable uptime, so the figure can be verified at any time
Total supply vs circulating supply
| Term | Meaning | Typical calculation |
|---|---|---|
| Total supply | Tokens that exist on-chain | Minted − burned |
| Circulating supply | Tokens available on the market | Total supply − tokens in locked, team, treasury, and vesting wallets |
Circulating supply is the hard part. It changes every time tokens leave a held wallet, so a fixed number goes stale quickly.
Option 1: Build it yourself
- Write a script that reads
totalSupply()from the contract andbalanceOf()for each held wallet. - Convert the raw values using the token's decimals.
- Deploy it on a server or serverless function behind an HTTPS domain.
- Monitor uptime and update the wallet list whenever allocations change.
This is a small job for a backend developer, but it needs hosting, an RPC provider, and someone responsible for keeping it running long after the listing is approved.
Option 2: Create it with CMCEndpoint, free and no code
- Register your project. Select the chain, then enter the token symbol, contract address, and decimals.
- Add major holder wallets. These are the wallets holding tokens that are not yet in circulation.
- Copy your URLs. Paste them into the CoinMarketCap listing request.
Total: https://api.cmcendpoint.com/token/{token-id}/total
Circulating: https://api.cmcendpoint.com/token/{token-id}/circulating
Circulating supply is recalculated every minute from on-chain balances, so the number stays correct when tokens move out of holder wallets.
| Build it yourself | CMCEndpoint | |
|---|---|---|
| Setup time | Days of development | About 5 minutes |
| Coding | Required | Not required |
| Hosting & RPC | You manage it | Included |
| Supply updates | Depends on your script | Every minute, on-chain |
| Cost | Developer time + hosting | Free |
Checklist before you submit
- Open both URLs in a private browser window and confirm you see only a number.
- Compare total supply with the figure shown on the block explorer.
- Confirm every locked, team, treasury, and vesting wallet is registered.
- Make sure the figures match your whitepaper and tokenomics page.
FAQ
Can I use the same URLs for CoinGecko?
Yes. CoinGecko's listing application also asks for supply endpoints, and the same total and circulating URLs can be submitted to both. See the CoinGecko guide.
Which chains are supported?
Ethereum, BNB Chain, Polygon, Solana and Kaia.
How often is circulating supply updated?
Every minute, from on-chain wallet balances.
What if a holder wallet changes?
Update the wallet address in the dashboard. The endpoint URLs stay the same.
How much does it cost?
It's free.
Create your endpoints in minutes
No engineers required. Need listing support for CMC, CG, or major global exchanges? Contact us on Telegram.