Market cap, FDV and circulating supply of a Robinhood Chain token (token supply API)
Robinhood Chain token supply API: total, burned, locked and circulating supply plus market cap and FDV of any token in one call, and how each is computed.
The Robinhood Chain token supply API is GET /v1/robinhood/token/{address}: it returns total_supply, burned, locked and circulating_supply. market.market_cap_usd is the price × circulating_supply (total supply minus tokens held by 0x0000000000000000000000000000000000000000 or 0x000000000000000000000000000000000000dEaD), market.fdv_usd is the price × total_supply, and burned, locked and circulating_supply are in whole tokens. Locked tokens still count as circulating. No API key needed; 1 credit with one.
A token’s market cap is its price times the number of tokens that are really out there; its fully diluted value (FDV) is the price times every token that exists. On Robinhood Chain, Crius computes both from on-chain data every block: the supply comes from the token contract, burned tokens from the balances of 0x0 and the dead address, and the price from the token’s deepest pool. The token profile returns all of them together with the supply numbers behind them, so you can show, or recompute, exactly how the market cap was reached. It doubles as a token supply API for Robinhood Chain: total, burned, locked and circulating supply for any ERC-20 on the chain.
Get market cap, FDV and supply in one call
A token with 10% burned: market cap below FDV
What are the market cap, FDV and circulating supply of Pizza (PIZZA, 0xd086f891229cd123aadfcae7c4b40150a80fd9d7)?
curl "https://api.crius.sh/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 302 lines (arrays trimmed)
{ "data": { "address": "0xd086f891229cd123aadfcae7c4b40150a80fd9d7", "admin_flags": null, "bundles": { "see": "/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7/bundles" }, "burned": 100000000.000000001009329493, "chain_id": 4663, "circulating_supply": 899999999.999999998990670507, "creation": { "attribution": "unattributed_factory", "block": 100319502, "deployed_via": "factory", "deployer": "0x154189eb359a452b92760b9608d9e15ea0177d59", "factory": "0xf1542dd2d46394c16372fb00f2c339b53cef2ce5", "source": "trace", "tx": "0x4cb1f738f66fd042b97cd5fce3731935d1427a902d4d4800b8dda5c338e0af65" }, "decimals": 18, "dexscreener": { "boosts": { "active_amount": null, "active_seen_ts": null, "count": 0, "last_ts": null, "total_amount": 0 }, "checked_ts": 1793225331283, "community_takeover": false, "community_takeover_ts": null, "confirmed": true, "dex_paid": true, "dex_paid_ts": 1793217378951, "orders": [ { "payment_ts": 1793217378951, "status": "approved", "type": "tokenProfile" } ], "profile": { "description": "Pizza", "header": null, "icon": "https://cdn.dexscreener.com/cms/images/qj93WyGHzUsGRx3e?width=64&height=64&fit=crop&quality=95&format=auto", "links": [ { "label": "Website", "url": "https://xdcoinsol.lol" }, { "type": "twitter", "url": "https://x.com/search?q=0xd086f891229cd123aadfcae7c4b40150a80fd9d7&src=typed_query&f=live" } ] }, "url": "https://dexscreener.com/robinhood/0xd086f891229cd123aadfcae7c4b40150a80fd9d7" }, "first_seen_block": 100319502, "history": "complete", "holders": { "burned_pct": 10, "count": 2853, "dev_holding": null, "dev_pct": null, "locked_pct": 0, "top10_pct": 12.9544 }, "launch": null, "liquidity": { "see": "/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7/liquidity", "status": "unlocked", "summary": { "burned_pct": 0, "locked_pct": 0, "next_unlock_ts": 1793361420000, "protocol_fee_pct": 0, "unlocked_in_wallets_pct": 94.2014, "weighting": "by pool liquidity_usd" } }, "locked": 0, "market": { "fdv_usd": 2518314, "liquidity_usd": 650032, "market_cap_usd": 2266483, "pools_count": 51, "quote_liquidity_usd": 325016 }, "metadata": { "banner": null, "description": "Pizza", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/search?q=0xd086f891229cd123aadfcae7c4b40150a80fd9d7&src=typed_query&f=live", "website": "https://xdcoinsol.lol" }, "logo": "https://api.crius.sh/v1/robinhood/logo/0xd086f891229cd123aadfcae7c4b40150a80fd9d7.png?size=128", "logo_original": "https://k1k4tkfsqlxro5el.public.blob.vercel-storage.com/tokens/image-C95LxbDL1ZajGol5HuEwia5ny1BaOu.png", "socials": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "source": "metadata_uri", "sources": { "links": "dexscreener", "logo": "metadata_uri" } }, "name": "Pizza", "price": { "ath_market_cap_usd": 2760203, "ath_scope": "all_time", "ath_ts": 1793225100000, "ath_usd": 0.00306689, "change_pct": { "1h": 192.682, "1m": -9.69938, "1s": -0.040642, "24h": 30458, "30s": -2.96295, "4h": 30458, "5m": -14.2022, "6h": 30458 }, "confidence": "high", "dex": "uniswap_v4", "eth": 0.00000106912, "liquidity_usd": 539903, "quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168", "quote_liquidity_usd": 269952, "source_pool": "0xdf3fbf9be296615d5ee32ccb4c2884599a93dd5dc91ad2b779dda99c7ce53bdd", "thin_liquidity": false, "usd": 0.00251831 }, "security": { "see": "/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7/security" }, "standard": "erc20", "stats": { "all_time": { "buy_volume_usd": 1872170, "buys": 11684, "first_trade_ts": 1793216059000, "sell_volume_usd": 1611777, "sells": 18793, "since": "chain_start", "trades": 30477, "volume_usd": 3483946 }, "avg_trade_usd": { "1h": 114.313, "1m": 89.4092, "1s": 75.2817, "24h": 114.314, "30s": 63.2566, "4h": 114.314, "5m": 101.439, "6h": 114.314 }, "buy_volume_usd": { "1h": 941354, "1m": 5515.3, "1s": 0, "24h": 1872170, "30s": 3835.81, "4h": 1872170, "5m": 115097, "6h": 1872170 }, "buyers": { "1h": 3115, "1m": 116, "1s": 0, "24h": 5229, "30s": 72, "4h": 5229, "5m": 713, "6h": 5229 }, "buys": { "1h": 6090, "1m": 153, "1s": 0, "24h": 11684, "30s": 98, "4h": 11684, "5m": 1050, "6h": 11684 }, "last_trade_ts": 1793225381000, "sell_volume_usd": { "1h": 824898, "1m": 31857.7, "1s": 75.2817, "24h": 1611777, "30s": 11029.5, "4h": 1611777, "5m": 163554, "6h": 1611777 }, "sellers": { "1h": 2283, "1m": 170, "1s": 1, "24h": 4014, "30s": 95, "4h": 4014, "5m": 773, "6h": 4014 }, "sells": { "1h": 9361, "1m": 265, "1s": 1, "24h": 18793, "30s": 137, "4h": 18793, "5m": 1697, "6h": 18793 }, "traders": { "1h": 3659, "1m": 244, "1s": 1, "24h": 5494, "30s": 147, "4h": 5494, "5m": 1158, "6h": 5494 }, "trades": { "1h": 15451, "1m": 418, "1s": 1, "24h": 30477, "30s": 235, "4h": 30477, "5m": 2747, "6h": 30477 }, "txns": { "1h": 9751, "1m": 258, "1s": 1, "24h": 19208, "30s": 138, "4h": 19208, "5m": 1756, "6h": 19208 }, "volume_eth": { "1h": 748.475, "1m": 15.8663, "1s": 0.0319601, "24h": 1476.31, "30s": 6.31091, "4h": 1476.31, "5m": 118.299, "6h": 1476.31 }, "volume_usd": { "1h": 1766253, "1m": 37373, "1s": 75.2817, "24h": 3483946, "30s": 14865.3, "4h": 3483946, "5m": 278652, "6h": 3483946 } }, "symbol": "PIZZA", "total_supply": 1000000000, "type": "generic", "ui_multiplier": null, "verification": { "compiler": null, "contract_name": null, "implementation": null, "is_proxy": false, "sourcify": "none" } }, "meta": { "block": 100409753, "block_age_ms": 326, "block_ts": 1793225381000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 50, "pending": [], "safe_block": 100405028 }}What this tells you
total_supply: 1000000000andburned: 100000000.0, socirculating_supply: 900000000.0.holders.burned_pctconfirms 10%.price.usd: 0.00251831, somarket.market_cap_usdis 0.00251831 × 900,000,000 =2266483, andmarket.fdv_usdis 0.00251831 × 1,000,000,000 =2518314.locked: 0: no tokens sit in a locker.- The market cap is about 7 times the real quote liquidity across its 51 pools (
market.quote_liquidity_usd: 325016): holders could not all sell at this price.
A tokenized stock: market cap of the on-chain supply only
What is the market cap of NVIDIA's tokenized stock (NVDA, 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec) on Robinhood Chain?
curl "https://api.crius.sh/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 276 lines (arrays trimmed)
{ "data": { "address": "0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec", "admin_flags": null, "bundles": { "see": "/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec/bundles" }, "burned": 0.572430377652470782, "chain_id": 4663, "circulating_supply": 88422.910266912347529218, "creation": { "attribution": "unattributed_factory", "block": 45898, "deployed_via": "factory", "deployer": "0x5516b3451d4d6c9f63353fe7bc9537477ecce000", "factory": "0x4783c67b63de2b358ac5951a7d41f47a38f3c046", "source": "trace", "tx": "0xcdb797c54ff55ef4008f254c486cc52d7393a65a6e6fb622c44b0260eecb755f" }, "decimals": 18, "dexscreener": { "boosts": { "active_amount": null, "active_seen_ts": null, "count": 0, "last_ts": null, "total_amount": 0 }, "checked_ts": 1793149717505, "community_takeover": false, "community_takeover_ts": null, "confirmed": true, "dex_paid": false, "dex_paid_ts": null, "orders": [], "profile": { "description": null, "header": null, "icon": null, "links": [] }, "url": "https://dexscreener.com/robinhood/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec" }, "first_seen_block": 153563, "history": "complete", "holders": { "burned_pct": 0.000647374, "count": 192281, "dev_holding": null, "dev_pct": null, "locked_pct": 0.0166825, "top10_pct": 23.0847 }, "launch": null, "liquidity": null, "locked": 14.751287401999318562, "market": { "fdv_usd": 18950318, "liquidity_usd": 5692665, "market_cap_usd": 18950195, "pools_count": 81958, "quote_liquidity_usd": 2846332 }, "metadata": { "banner": null, "description": null, "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "logo": null, "logo_original": null, "socials": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "source": null, "sources": { "links": null, "logo": null } }, "name": "NVIDIA • Robinhood Token", "price": { "ath_market_cap_usd": 21464337, "ath_scope": "all_time", "ath_ts": 1791294900000, "ath_usd": 242.746, "change_pct": { "1h": 0.203956, "1m": 0.00180098, "1s": 0.0463156, "24h": -1.49823, "30s": 0.0223516, "4h": -1.14254, "5m": -0.24523, "6h": -1.39827 }, "confidence": "high", "dex": "uniswap_v3", "eth": 0.0909845, "liquidity_usd": 1415590, "quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168", "quote_liquidity_usd": 707795, "source_pool": "0xd4eb21209c4d6093f80b5b84f5c45cc093ea14a3", "thin_liquidity": false, "usd": 214.313 }, "security": { "see": "/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec/security" }, "standard": "erc20", "stats": { "all_time": { "buy_volume_usd": 1052251075, "buys": 3363555, "first_trade_ts": 1783018515000, "sell_volume_usd": 1052701444, "sells": 3313729, "since": "chain_start", "trades": 6677284, "volume_usd": 2104952519 }, "avg_trade_usd": { "1h": 314.702, "1m": 702.205, "1s": null, "24h": 328.961, "30s": 284.331, "4h": 415.672, "5m": 432.074, "6h": 396.236 }, "buy_volume_usd": { "1h": 284731, "1m": 668.352, "1s": 0, "24h": 5466708, "30s": 0, "4h": 2370859, "5m": 4796.08, "6h": 2762624 }, "buyers": { "1h": 237, "1m": 6, "1s": 0, "24h": 1993, "30s": 0, "4h": 615, "5m": 25, "6h": 786 }, "buys": { "1h": 837, "1m": 7, "1s": 0, "24h": 16501, "30s": 0, "4h": 5633, "5m": 49, "6h": 6855 }, "last_trade_ts": 1793225374000, "sell_volume_usd": { "1h": 208093, "1m": 18291.2, "1s": 0, "24h": 6093982, "30s": 1137.32, "4h": 2875339, "5m": 67360.3, "6h": 3390131 }, "sellers": { "1h": 229, "1m": 9, "1s": 0, "24h": 2643, "30s": 4, "4h": 855, "5m": 29, "6h": 1098 }, "sells": { "1h": 729, "1m": 20, "1s": 0, "24h": 18642, "30s": 4, "4h": 6988, "5m": 118, "6h": 8673 }, "traders": { "1h": 328, "1m": 13, "1s": 0, "24h": 3513, "30s": 4, "4h": 1119, "5m": 43, "6h": 1417 }, "trades": { "1h": 1566, "1m": 27, "1s": 0, "24h": 35143, "30s": 4, "4h": 12621, "5m": 167, "6h": 15528 }, "txns": { "1h": 1459, "1m": 26, "1s": 0, "24h": 33046, "30s": 4, "4h": 11704, "5m": 158, "6h": 14478 }, "volume_eth": { "1h": 208.755, "1m": 8.04908, "1s": 0, "24h": 4920.79, "30s": 0.482839, "4h": 2225.28, "5m": 30.6332, "6h": 2613.33 }, "volume_usd": { "1h": 492824, "1m": 18959.5, "1s": 0, "24h": 11560689, "30s": 1137.32, "4h": 5246198, "5m": 72156.3, "6h": 6152755 } }, "symbol": "NVDA", "total_supply": 88423.48269729, "type": "stock", "ui_multiplier": 1.00077515916, "verification": { "compiler": "0.8.33+commit.64118f21", "contract_name": "BeaconProxy", "implementation": null, "is_proxy": false, "sourcify": "match" } }, "meta": { "block": 100409760, "block_age_ms": 1092, "block_ts": 1793225381000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 129, "pending": [], "safe_block": 100405028 }}What this tells you
type: "stock",total_supply: 88423.48269729: only about 88,423 NVDA tokens exist on chain.burned: 0.5724303776524707leavescirculating_supply: 88422.91026691235, somarket.market_cap_usd: 18950195sits just undermarket.fdv_usd: 18950318.ui_multiplier: 1.00077515916is the display multiplier the stock token applies to balances for splits and dividends. Other token types haveui_multiplier: null.- The token is widely held:
holders.count: 192281, with the top 10 holdingtop10_pct: 23.0847%.
How each number is computed
| Field | Definition |
|---|---|
total_supply | The token contract's total supply, in whole tokens (already divided by decimals). |
burned | Tokens held by 0x0000000000000000000000000000000000000000 or 0x000000000000000000000000000000000000dEaD. |
locked | Tokens held by known locker contracts. Reported for information: still counted as circulating. |
circulating_supply | total_supply − burned. Unsold tokens in a launchpad bonding curve are included. |
market.market_cap_usd | price.usd × circulating_supply. |
market.fdv_usd | price.usd × total_supply. |
market.liquidity_usd, market.quote_liquidity_usd | All the token's pools added up: 2 × the quote side, and the quote side alone. |
holders.burned_pct, holders.locked_pct | burned and locked as a percentage of the total supply. |
price.ath_market_cap_usd | The all-time-high price × today's circulating supply. |
Locked tokens are the main judgment call. Charge AI, for example, has locked: 81632653.061224486519511236 (8.16327% of supply) in its Pons launch locker, and Crius still counts those tokens in its circulating_supply of 970,159,941.23. If you want a “free float” number, subtract locked yourself.
Market cap also exists at other points in time: every trade on the trade tape carries market_cap_usd_at_trade, and every candle has mc, the market cap at its close.
Use it in your app
-
Show market cap and FDV side by side when
burnedis above zero, and only one when they match. -
Put liquidity next to market cap. A ratio of market cap to
market.quote_liquidity_usdfar above 10 means the price can’t absorb much selling. -
Label tokenized stocks. For
type: "stock", call it “on-chain market cap” so users don’t compare it with the company’s. -
Fetch many tokens at once with
POST /tokens/batchandfields: ["symbol", "market.market_cap_usd", "market.fdv_usd", "circulating_supply"].
import requests
token = "0xd086f891229cd123aadfcae7c4b40150a80fd9d7" # PIZZAd = requests.get(f"https://api.crius.sh/v1/robinhood/token/{token}", timeout=10).json()["data"]m = d["market"]
print(f"{d['symbol']}: market cap ${m['market_cap_usd']:,.0f}, FDV ${m['fdv_usd']:,.0f}")print(f"supply {d['total_supply']:,.0f}, burned {d['burned']:,.0f}, circulating {d['circulating_supply']:,.0f}")free_float = d["circulating_supply"] - d["locked"]print(f"free float (circulating minus locked): {free_float:,.0f}")if m["quote_liquidity_usd"] and m["market_cap_usd"] / m["quote_liquidity_usd"] > 10: print("thin: market cap is more than 10x the real liquidity")Frequently asked questions
Is there a Robinhood Chain token supply API?
Yes. The token profile, GET /v1/robinhood/token/{address}, returns total_supply, burned, locked and circulating_supply in whole tokens for any ERC-20 on Robinhood Chain, with market.market_cap_usd and market.fdv_usd computed from them. No API key is needed. For many tokens at once, POST /v1/robinhood/tokens/batch with a fields list returns only the supply fields you ask for.
How do I get the circulating supply of a Robinhood Chain token?
Read circulating_supply from GET /v1/robinhood/token/{address}. It's total_supply minus burned (tokens held by the zero address and the dead address). Locked tokens stay in it; subtract locked yourself for a free-float number.
How is market cap calculated for Robinhood Chain tokens?
Crius multiplies the live USD price by the circulating supply: the total supply minus tokens held by 0x0000000000000000000000000000000000000000 or 0x000000000000000000000000000000000000dEaD. Unsold tokens still in a bonding curve are included. The price comes from the token's deepest on-chain pool.
What's the difference between market cap and FDV?
FDV (fully diluted value) uses the total supply, burned tokens included; market cap leaves burned tokens out. They're equal when nothing has been burned. In the example, PIZZA has 10% of its supply burned, so its market cap ($2,266,483) is 90% of its FDV ($2,518,314).
Are locked tokens part of the circulating supply?
Yes. Only burned tokens are subtracted. Tokens held by known locker contracts are reported in locked (and holders.locked_pct) so you can subtract them yourself if you prefer a stricter definition.
Why is a tokenized stock's market cap so much smaller than the company's?
Because it counts only the tokens that exist on Robinhood Chain. NVDA's token has a total supply of 88,423.48 tokens, so at $214.313 its on-chain market cap is about $18.95 million, a tiny fraction of NVIDIA's own value.
Can I filter tokens by market cap?
Yes. GET /v1/robinhood/tokens?list=top_market_cap&min_market_cap_usd=100000 lists tokens above a market cap. See Find tokens by market cap.
Related
Get your free Crius API key
Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.
- Robinhood Chain (4663) only, from our own archive nodes
- REST + WebSocket
- Pay on-chain or by card