CRIUS Docs
API status Get API key
Token data

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.

Updated 2 min read
Short answer

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)?

GET/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7
curl "https://api.crius.sh/v1/robinhood/token/0xd086f891229cd123aadfcae7c4b40150a80fd9d7"
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: 1000000000 and burned: 100000000.0, so circulating_supply: 900000000.0. holders.burned_pct confirms 10%.
  • price.usd: 0.00251831, so market.market_cap_usd is 0.00251831 × 900,000,000 = 2266483, and market.fdv_usd is 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.
Token profile reference Runs from your browser on the anonymous plan Data looks wrong? Report it

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?

GET/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec
curl "https://api.crius.sh/v1/robinhood/token/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec"
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.5724303776524707 leaves circulating_supply: 88422.91026691235, so market.market_cap_usd: 18950195 sits just under market.fdv_usd: 18950318.
  • ui_multiplier: 1.00077515916 is the display multiplier the stock token applies to balances for splits and dividends. Other token types have ui_multiplier: null.
  • The token is widely held: holders.count: 192281, with the top 10 holding top10_pct: 23.0847%.
Token profile reference Runs from your browser on the anonymous plan Data looks wrong? Report it

How each number is computed

FieldDefinition
total_supplyThe token contract's total supply, in whole tokens (already divided by decimals).
burnedTokens held by 0x0000000000000000000000000000000000000000 or 0x000000000000000000000000000000000000dEaD.
lockedTokens held by known locker contracts. Reported for information: still counted as circulating.
circulating_supplytotal_supply − burned. Unsold tokens in a launchpad bonding curve are included.
market.market_cap_usdprice.usd × circulating_supply.
market.fdv_usdprice.usd × total_supply.
market.liquidity_usd, market.quote_liquidity_usdAll the token's pools added up: 2 × the quote side, and the quote side alone.
holders.burned_pct, holders.locked_pctburned and locked as a percentage of the total supply.
price.ath_market_cap_usdThe 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

  1. Show market cap and FDV side by side when burned is above zero, and only one when they match.

  2. Put liquidity next to market cap. A ratio of market cap to market.quote_liquidity_usd far above 10 means the price can’t absorb much selling.

  3. Label tokenized stocks. For type: "stock", call it “on-chain market cap” so users don’t compare it with the company’s.

  4. Fetch many tokens at once with POST /tokens/batch and fields: ["symbol", "market.market_cap_usd", "market.fdv_usd", "circulating_supply"].

import requests
token = "0xd086f891229cd123aadfcae7c4b40150a80fd9d7" # PIZZA
d = 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.

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