Skip to content
  • System
  • Light
  • Dark

Tokens & prices

View as Markdown

Everything about one token, or many at once. The token profile is the richest call (metadata, socials, supply, launch, market, holders summary, liquidity locks, security summary, rolling stats). The price call is the smallest and fastest: use it in hot loops. For many tokens, use batch prices (up to 100 per call) or batch profiles with a field list.

Prices are derived on-chain: token → its deepest pool’s quote (ETH, WETH, USDG or another token) → USD through the deepest ETH/USDG pool. Tokenized stocks follow the same path, using on-chain pools only. confidence and thin_liquidity tell you how much to trust a price.

Endpoint Method Plan Credits
Token profile GET /v1/{chain}/token/{address} Anonymous 1
Token price GET /v1/{chain}/token/{address}/price Anonymous 1
Batch prices GET /v1/{chain}/prices Anonymous 1
Batch prices (POST) POST /v1/{chain}/prices Anonymous 1
Batch token profiles POST /v1/{chain}/tokens/batch Anonymous 1
Token markets GET /v1/{chain}/token/{address}/pools Anonymous 1

GET /v1/{chain}/token/{address}

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

Full profile of any ERC-20 on the chain: name, symbol, decimals, supply (total, burned, locked, circulating), creation and launchpad lifecycle, metadata and socials (with their source), price with change per window and all-time high, market (market cap, FDV, liquidity), holder summary (count, top-10 share, dev holding), liquidity lock status, contract verification and rolling trade stats.

Heavier sections link to their own endpoints (security.see, bundles.see) so the profile stays fast.

Identity, supply, metadata & socials, creation, verification, launch, price + change + ATH, market (FDV, market cap, liquidity), stats per window, holders summary, liquidity summary, dexscreener (dex paid, community takeover, boosts; confirmed against DexScreener orders).

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
address path, required string Contract or wallet address, any case (0x…, 20 bytes).
Terminal window
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8" \
-H "x-api-key: $CRIUS_API_KEY"

Try it in the playground →

  • price.usd, price.change_pct (per window), price.ath_usd, price.confidence
  • market.market_cap_usd, market.fdv_usd, market.liquidity_usd, market.quote_liquidity_usd, market.pools_count
  • holders.count, holders.top10_pct, holders.dev_pct, holders.burned_pct, holders.locked_pct
  • launch: launchpad id and name, creator, curve, status (bonding / graduated), progress_pct, launch and graduation blocks
  • liquidity: lock status, lockers, next unlock time
  • stats: trades, buys, sells, traders, volume per window plus all_time
  • metadata: description, logo, socials, and where they came from

Real response captured from the API (arrays trimmed to three items).

{
"data": {
"address": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"admin_flags": null,
"bundles": {
"see": "/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/bundles"
},
"burned": 29840058.774195638068253872,
"chain_id": 4663,
"circulating_supply": 970159941.225804361931746128,
"creation": {
"attribution": "known_launchpad",
"block": 88385886,
"deployed_via": "pons_v2",
"deployer": "0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca",
"factory": "0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e",
"launchpad_name": "Pons",
"tx": "0x4d9536e81ce418070e93b72f46f1d91afdd6a9ed34141b8e3773926b0d863747"
},
"decimals": 18,
"dexscreener": {
"boosts": {
"active_amount": null,
"active_seen_ts": null,
"count": 0,
"last_ts": null,
"total_amount": 0
},
"checked_ts": 1792712926595,
"community_takeover": false,
"community_takeover_ts": null,
"confirmed": true,
"dex_paid": true,
"dex_paid_ts": 1791988981764,
"orders": [
{
"payment_ts": 1791988981764,
"status": "approved",
"type": "tokenProfile"
}
],
"profile": {
"description": null,
"header": null,
"icon": null,
"links": []
},
"url": "https://dexscreener.com/robinhood/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8"
},
"first_seen_block": 88385886,
"history": "complete",
"holders": {
"burned_pct": 2.98401,
"count": 201,
"dev_holding": false,
"dev_pct": 0,
"locked_pct": 8.16327,
"top10_pct": 88.5277
},
"launch": {
"creator": "0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca",
"creator_label": null,
"curve": "0x2b0943bf947b54df526047b6fec8183a4fdeb3c3",
"curve_state": null,
"graduated_block": 88461321,
"graduation_threshold": 4.2,
"launched_block": 88385886,
"launchpad": "pons",
"launchpad_name": "Pons",
"pair_token": "0x0000000000000000000000000000000000000000",
"progress_pct": 100,
"raised": null,
"status": "graduated"
},
"liquidity": {
"locked_pct": 100,
"lockers": [
"pons_v2_launch_locker"
],
"next_unlock_ts": null,
"permanent": true,
"status": "locked"
},
"locked": 81632653.061224486519511236,
"market": {
"fdv_usd": 5764.13,
"liquidity_usd": 6869.4,
"market_cap_usd": 5592.13,
"pools_count": 10,
"quote_liquidity_usd": 3434.7
},
"metadata": {
"description": "hf:charge-ai/charge-30b@9ff2ef1e98ea4d9745a70b33ea02b80dba26c582",
"logo": "https://api.surplusllm.com/api/launchpad/logos/bb4315cb9506ef872830b1dab25ffdb6694df1b8b8e32cc2c8d083208f26baab.png",
"socials": {
"discord": null,
"farcaster": null,
"github": null,
"telegram": null,
"twitter": {
"source": "pons_launch",
"url": "https://x.com/chargeairh"
},
"website": {
"source": "pons_launch",
"url": "https://chargeai.bid/"
}
},
"source": "pons_launch"
},
"name": "Charge AI",
"price": {
"ath_market_cap_usd": 68295.9,
"ath_scope": "all_time",
"ath_ts": 1792055700000,
"ath_usd": 0.0000703965,
"change_pct": {
"1h": -0.109425,
"1m": -0.109425,
"1s": -0.109425,
"24h": -3.67324,
"30s": -0.109425,
"4h": -1.31288,
"5m": -0.109425,
"6h": -1.31288
},
"confidence": "medium",
"dex": "uniswap_v4",
"eth": 0.0000000024199,
"liquidity_usd": 6861.07,
"quote": "0x0000000000000000000000000000000000000000",
"quote_liquidity_usd": 3430.53,
"source_pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"thin_liquidity": false,
"usd": 0.00000576413
},
"security": {
"see": "/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/security"
},
"standard": "erc20",
"stats": {
"all_time": {
"buy_volume_usd": 142708,
"buys": 2880,
"first_trade_ts": 1791982835000,
"sell_volume_usd": 136694,
"sells": 2210,
"since": "chain_start",
"trades": 5090,
"volume_usd": 279402
},
"avg_trade_usd": {
"1h": null,
"1m": null,
"1s": null,
"24h": 30.7463,
"30s": null,
"4h": 11.3632,
"5m": null,
"6h": 11.3632
},
"buy_volume_usd": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 238.251,
"30s": 0,
"4h": 7.40995,
"5m": 0,
"6h": 7.40995
},
"buyers": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 5,
"30s": 0,
"4h": 1,
"5m": 0,
"6h": 1
},
"buys": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 9,
"30s": 0,
"4h": 1,
"5m": 0,
"6h": 1
},
"last_trade_ts": 1792705534000,
"sell_volume_usd": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 222.943,
"30s": 0,
"4h": 15.3164,
"5m": 0,
"6h": 15.3164
},
"sellers": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 6,
"30s": 0,
"4h": 1,
"5m": 0,
"6h": 1
},
"sells": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 6,
"30s": 0,
"4h": 1,
"5m": 0,
"6h": 1
},
"traders": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 10,
"30s": 0,
"4h": 2,
"5m": 0,
"6h": 2
},
"trades": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 15,
"30s": 0,
"4h": 2,
"5m": 0,
"6h": 2
},
"txns": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 15,
"30s": 0,
"4h": 2,
"5m": 0,
"6h": 2
},
"volume_eth": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 0.189336,
"30s": 0,
"4h": 0.00954709,
"5m": 0,
"6h": 0.00954709
},
"volume_usd": {
"1h": 0,
"1m": 0,
"1s": 0,
"24h": 461.194,
"30s": 0,
"4h": 22.7263,
"5m": 0,
"6h": 22.7263
}
},
"symbol": "CHARGE",
"total_supply": 1000000000,
"type": "launchpad",
"ui_multiplier": null,
"verification": {
"compiler": null,
"contract_name": null,
"implementation": null,
"is_proxy": null,
"sourcify": null
}
},
"meta": {
"block": 95504341,
"block_age_ms": 373,
"block_ts": 1792712990000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 97,
"pending": [],
"safe_block": 95497061
}
}

GET /v1/{chain}/token/{address}/price

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

The fastest call: USD and ETH price, the pool it came from, that pool’s liquidity and a confidence level. Ideal for bots, widgets and portfolio valuation.

Deepest pool against ETH / WETH / USDG (real reserves), ETH/USD from the deepest ETH/USDG pool.

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
address path, required string Contract or wallet address, any case (0x…, 20 bytes).
Terminal window
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/price" \
-H "x-api-key: $CRIUS_API_KEY"

Try it in the playground →

  • usd, eth: price per whole token
  • source_pool, dex, quote: where the price comes from
  • liquidity_usd (2 × the quote side, DEX-screener convention) and quote_liquidity_usd (the real quote side)
  • confidence (high / medium / low) and thin_liquidity

Real response captured from the API (arrays trimmed to three items).

{
"data": {
"confidence": "medium",
"dex": "uniswap_v4",
"eth": 0.0000000024199,
"eth_usd": 2381.97,
"liquidity_usd": 6861.07,
"quote": "0x0000000000000000000000000000000000000000",
"quote_liquidity_usd": 3430.53,
"source_pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"symbol": "CHARGE",
"thin_liquidity": false,
"token": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"usd": 0.00000576413
},
"meta": {
"block": 95504348,
"block_age_ms": 1075,
"block_ts": 1792712990000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 114,
"safe_block": 95497061
}
}

GET /v1/{chain}/prices

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

Prices for up to 100 tokens in one call. Pass a comma-separated list in tokens. Unknown addresses are listed in meta.missing instead of failing the request.

Also POST with {“tokens”: […]}.

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
tokens query string 0x8ac48210be19378229f12060d499c3b0eae5e14e,0x7b8892cea949bc60d494681d1bc3ea96071ab0b8 Comma-separated token addresses (up to 100).
Terminal window
curl "https://api.crius.sh/v1/robinhood/prices?tokens=0x7b8892cea949bc60d494681d1bc3ea96071ab0b8%2C0x0bd7d308f8e1639fab988df18a8011f41eacad73" \
-H "x-api-key: $CRIUS_API_KEY"

Try it in the playground →

Real response captured from the API (arrays trimmed to three items).

{
"data": {
"0x0bd7d308f8e1639fab988df18a8011f41eacad73": {
"change_24h_pct": -3.51169,
"confidence": "high",
"eth": 1,
"liquidity_usd": 6101152,
"source_pool": "0xbac3aa3b91584a53a579b3c999a56756e954e59247e497bad1d25a4334bde551",
"symbol": "WETH",
"usd": 2381.97
},
"0x7b8892cea949bc60d494681d1bc3ea96071ab0b8": {
"change_24h_pct": -3.67324,
"confidence": "medium",
"eth": 0.0000000024199,
"liquidity_usd": 6861.07,
"source_pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"symbol": "CHARGE",
"usd": 0.00000576413
}
},
"meta": {
"block": 95504355,
"block_age_ms": 777,
"block_ts": 1792712991000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 5,
"missing": [],
"safe_block": 95497061
}
}

POST /v1/{chain}/prices

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

Same as the GET form, with the list in a JSON body. Use it when the list would make the URL too long.

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
{
"tokens": [
"0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"0x0bd7d308f8e1639fab988df18a8011f41eacad73"
]
}
Terminal window
curl -X POST "https://api.crius.sh/v1/robinhood/prices" \
-H "x-api-key: $CRIUS_API_KEY" \
-H "content-type: application/json" \
-d '{"tokens":["0x7b8892cea949bc60d494681d1bc3ea96071ab0b8","0x0bd7d308f8e1639fab988df18a8011f41eacad73"]}'

Try it in the playground →

Real response captured from the API (arrays trimmed to three items).

{
"data": {
"0x0bd7d308f8e1639fab988df18a8011f41eacad73": {
"change_24h_pct": -3.50483,
"confidence": "high",
"eth": 1,
"liquidity_usd": 6101152,
"source_pool": "0xbac3aa3b91584a53a579b3c999a56756e954e59247e497bad1d25a4334bde551",
"symbol": "WETH",
"usd": 2381.97
},
"0x7b8892cea949bc60d494681d1bc3ea96071ab0b8": {
"change_24h_pct": -3.67324,
"confidence": "medium",
"eth": 0.0000000024199,
"liquidity_usd": 6861.07,
"source_pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"symbol": "CHARGE",
"usd": 0.00000576413
}
},
"meta": {
"block": 95504362,
"block_age_ms": 481,
"block_ts": 1792712992000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 15,
"missing": [],
"safe_block": 95497061
}
}

POST /v1/{chain}/tokens/batch

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

Token profiles for up to 100 tokens, trimmed to the fields you ask for. fields takes dot paths into the profile above (price.usd, market.market_cap_usd, holders.count…); an empty list returns full profiles.

fields: dotted paths of the token profile.

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
{
"tokens": [
"0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"0x0bd7d308f8e1639fab988df18a8011f41eacad73"
],
"fields": [
"symbol",
"price.usd",
"price.change_pct.24h",
"market.market_cap_usd",
"market.liquidity_usd"
]
}
Terminal window
curl -X POST "https://api.crius.sh/v1/robinhood/tokens/batch" \
-H "x-api-key: $CRIUS_API_KEY" \
-H "content-type: application/json" \
-d '{"tokens":["0x7b8892cea949bc60d494681d1bc3ea96071ab0b8","0x0bd7d308f8e1639fab988df18a8011f41eacad73"],"fields":["symbol","price.usd","price.change_pct.24h","market.market_cap_usd","market.liquidity_usd"]}'

Try it in the playground →

Real response captured from the API (arrays trimmed to three items).

{
"data": {
"0x0bd7d308f8e1639fab988df18a8011f41eacad73": {
"market": {
"liquidity_usd": 71541592,
"market_cap_usd": 98288648
},
"price": {
"change_pct": {
"24h": -3.50483
},
"usd": 2381.97
},
"symbol": "WETH"
},
"0x7b8892cea949bc60d494681d1bc3ea96071ab0b8": {
"market": {
"liquidity_usd": 6869.4,
"market_cap_usd": 5592.13
},
"price": {
"change_pct": {
"24h": -3.67324
},
"usd": 0.00000576413
},
"symbol": "CHARGE"
}
},
"meta": {
"block": 95504430,
"block_age_ms": 406,
"block_ts": 1792712999000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 178,
"missing": [],
"safe_block": 95497061
}
}

GET /v1/{chain}/token/{address}/pools

Plan: Anonymous and above (no key needed) · Cost: 1 credit per call

Every market the token trades in: Uniswap v2 pairs, v3 pools (all fee tiers), v4 pools (with their hook) and launchpad bonding curves, with liquidity and 24h activity. Paginate with cursor.

Uniswap V2/V3/V4, Pons and launchpad curves, ranked by USD liquidity (2 x quote side, from each pool’s own state). is_price_pool marks the market the token price comes from. meta.total = all pools.

Name In Type Default Description
chain path, required string Chain slug (robinhood) or chain id (4663).
address path, required string Contract or wallet address, any case (0x…, 20 bytes).
limit query integer 50 Maximum number of items to return. Up to 200.
cursor query string Pagination cursor from the previous response’s meta.next_cursor.
Terminal window
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/pools?limit=3" \
-H "x-api-key: $CRIUS_API_KEY"

Try it in the playground →

Real response captured from the API (arrays trimmed to three items).

{
"data": [
{
"amounts": {
"token0": 1.44021,
"token1": 595151991
},
"base": {
"address": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"symbol": "CHARGE"
},
"created_block": 88461321,
"dex": "uniswap_v4",
"dynamic_fee": false,
"fee": 0,
"hook": {
"address": "0xe5e702641ea86f4ae6cc3cdaed2b886f976be044",
"name": "pons_v2_meme_hook"
},
"is_price_pool": true,
"liquidity_usd": 6861.07,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_usd": 0.00000576413,
"quote": {
"address": "0x0000000000000000000000000000000000000000",
"symbol": "ETH"
},
"quote_liquidity_usd": 3430.53,
"state": {
"liquidity": 29277002188455996438188,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 1610574686881614931072228111579696,
"tick": 198405
},
"swaps_indexed": 383,
"tick_spacing": 200
},
{
"amounts": {
"token0": 3.66104,
"token1": 98899.9
},
"base": {
"address": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"symbol": "CHARGE"
},
"created_block": 88461495,
"dex": "uniswap_v4",
"dynamic_fee": false,
"fee": 850000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 7.32208,
"pool": "0xe928234e515b0c000dd6aa1c60cf5a009082367cda4775a5b63b4ff0c83dcdd3",
"price_usd": 0.0000370176,
"quote": {
"address": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"symbol": "USDG"
},
"quote_liquidity_usd": 3.66104,
"state": {
"liquidity": 601728037770030,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 13021930043213842984890107533469941760,
"tick": 378370
},
"swaps_indexed": 0,
"tick_spacing": 60
},
{
"amounts": {
"token0": 0.365039,
"token1": 32233.4
},
"base": {
"address": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8",
"symbol": "CHARGE"
},
"created_block": 88466617,
"dex": "uniswap_v4",
"dynamic_fee": false,
"fee": 450000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 0.730077,
"pool": "0x1a184f0aa1978e7b543ee944a30df88dd34fcb667aa5a9142bb399ef582481b8",
"price_usd": 0.0000113249,
"quote": {
"address": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"symbol": "USDG"
},
"quote_liquidity_usd": 0.365039,
"state": {
"liquidity": 108473206521826,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 23543071597340630825735724748883305548,
"tick": 390214
},
"swaps_indexed": 3,
"tick_spacing": 4500
}
],
"meta": {
"block": 95504370,
"block_age_ms": 1196,
"block_ts": 1792712992000,
"chain": "robinhood",
"finalized_block": 95493649,
"lag_ms": 0,
"next_cursor": "3",
"safe_block": 95497061,
"total": 10
}
}