CRIUS Docs
API status Get API key
Token data

Robinhood Chain DEX data: which DEXs trade, and how to get their trades, pools and volume

Which DEXs trade on Robinhood Chain (Uniswap v2, v3, v4 with hooks, launchpad curves), their real 24h volume and pools, and the API calls for DEX trades.

Updated 3 min read
Short answer

Swaps on Robinhood Chain run through Uniswap v4 (53% of 24h DEX volume in the captured stats), Uniswap v3 (44%), Uniswap v2 and launchpad bonding curves (pons_curve, launch_curve). Crius indexes all of them: GET /v1/robinhood/stats splits volume and new pools per DEX (dex.by_dex, pools.by_dex), /token/{address}/pools lists a token's pools on every DEX, /token/{address}/trades tags each swap with its dex, and /candles and /volume chart it. All on the anonymous plan.

There is no single Robinhood Chain DEX. Swaps on Robinhood Chain run through four kinds of venue: Uniswap v4 pools (many with hooks), Uniswap v3 pools at several fee tiers, Uniswap v2 pairs, and the bonding curves of token launchpads, where new tokens trade until they graduate into a Uniswap pool. If you searched for a “Robinhood swap DEX”, these are the pools your swap ends up in, whatever app you trade from. Crius indexes every one of them from its own archive nodes, so one API gives you DEX trades, pools, candles and volume for the whole chain, with the DEX of every swap named.

Which DEXs trade on Robinhood Chain

24 hours of Robinhood Chain DEX volume, split by DEX

How much volume did each DEX on Robinhood Chain handle in the last 24 hours, and where are new pools being created?

GET/v1/robinhood/stats?window=24h
curl "https://api.crius.sh/v1/robinhood/stats?window=24h"
Real response 200 Captured Oct 28, 2026 · 100 lines (arrays trimmed)
{
"data": {
"blocks": {
"active_wallets": 194641,
"avg_block_time_ms": 101,
"tps_1m": 44.6833,
"txs": 2430221
},
"chain": "robinhood",
"chain_id": 4663,
"dex": {
"by_dex": {
"launch_curve": 114839,
"pons_curve": 6920073,
"uniswap_v2": 6992610,
"uniswap_v3": 235116790,
"uniswap_v4": 286137338
},
"traders": 148079,
"trades": 1769098,
"volume_usd": 535281650,
"wash_volume_usd": 100833980
},
"eth_usd": 2355.49,
"finalized_block": 100397649,
"gas": {
"avg_swap_cost_eth": 0.00000791235,
"avg_swap_cost_usd": 0.0186374,
"l1_base_fee_gwei": 0,
"l2_gas_price_gwei": 0.021042
},
"head_block": 100406547,
"l1_block": 26294099,
"launchpads": [
{
"graduated": 16,
"launches": 1780,
"launchpad": "pons",
"launchpad_name": "Pons",
"volume_usd": 25485280
},
{
"graduated": 0,
"launches": 508,
"launchpad": "long",
"launchpad_name": "Long.xyz",
"volume_usd": 10784246
},
{
"graduated": 0,
"launches": 20,
"launchpad": "bankr",
"launchpad_name": "Bankr",
"volume_usd": 595435
}
],
"liquidity": {
"locked_lp_usd": 44712347,
"method": "2x quote side (ETH/WETH/USDG) of every pool; V3/V4 in-range",
"tvl_usd": 322714989
},
"pools": {
"by_dex": {
"launch_curve": 1201,
"pons_curve": 1780,
"uniswap_v2": 1483,
"uniswap_v3": 224,
"uniswap_v4": 5457
},
"new": 10145
},
"reorgs": {
"count": 0,
"max_depth": 0
},
"safe_block": 100401329,
"tokens": {
"by_attribution": {
"known_launchpad": 3527,
"other": 4095
},
"new": 7622,
"new_1h": 418
},
"window": "24h"
},
"meta": {
"block": 100406547,
"block_age_ms": 1026,
"block_ts": 1793225052000,
"chain": "robinhood",
"coverage": {
"note": "aggregates cover blocks indexed since start_block until backfill completes",
"since_block": 0
},
"finalized_block": 100397649,
"lag_ms": 26,
"safe_block": 100401329
}
}

What this tells you

  • dex.volume_usd: 535281650 across dex.trades: 1769098 by dex.traders: 148079: about $302 per trade on average.
  • dex.by_dex adds up exactly to that total: uniswap_v4 286,137,338 (53.46%), uniswap_v3 235,116,790 (43.92%), uniswap_v2 6,992,610 (1.31%), pons_curve 6,920,073 (1.29%) and launch_curve 114,839 (0.02%).
  • dex.wash_volume_usd: 100833980 is kept out of those numbers: buys and sells of one token in one pool inside one transaction that cancel within 2%.
  • pools.by_dex counts pools created in the window (pools.new: 10145): 5,457 on Uniswap v4, 1,780 Pons curves, 1,483 Uniswap v2 pairs, 1,201 other launch curves and only 224 Uniswap v3 pools. v3 gets few new pools but almost half the volume: the deep WETH/USDG and stock pools are v3 (next example).
  • Launchpad tokens keep trading after graduation, so a launchpad’s volume is larger than its curve’s: launchpads shows Pons tokens at volume_usd: 25485280 against $6,920,073 on pons_curve.
Chain stats reference Runs from your browser on the anonymous plan Data looks wrong? Report it

The DEX venues and how pools are identified

dex valueWhat it isPool id in the API
uniswap_v4Uniswap v4 pools inside one PoolManager contract, with an optional hook and, with some hooks, a dynamic fee.32-byte pool id
uniswap_v3Uniswap v3 concentrated-liquidity pools, one per pair and fee tier (fee 100 = 0.01%, 500 = 0.05%, 3000 = 0.3%, 10000 = 1%).Pool address
uniswap_v2Uniswap v2 constant-product pairs (Flap.sh tokens graduate into these).Pair address
pons_curveThe Pons launchpad's bonding curve, before a token graduates into a Uniswap v4 pool.Curve contract address
launch_curveOther launchpads' bonding curves, such as the Flap.sh curve kept inside the Flap Portal.Curve address (for Flap.sh, the token's own address)

The same dex values appear on pools (/pools, /pool/{pool}), trades (/trades, /wallet/{address}/trades) and in /stats. How liquidity is measured on each version, and what v4 hook permissions mean, is in Uniswap v2, v3 & v4; the launchpad curves are in Launchpads.

One token’s markets across DEXs

WETH's ten deepest pools: Uniswap v3, v2 and v4

On which DEXs does WETH (0x0bd7d308f8e1639fab988df18a8011f41eacad73) trade, and which pools are deepest?

GET/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/pools?limit=10
curl "https://api.crius.sh/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/pools?limit=10"
Real response 200 Captured Oct 28, 2026 · 365 lines (arrays trimmed)
{
"data": [
{
"amounts": {
"token0": 3796.9,
"token1": 3868655
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 1506281,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 100,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 7737311,
"pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca",
"price_usd": 2359.52,
"quote": {
"address": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"logo": null,
"symbol": "USDG"
},
"quote_liquidity_usd": 3868655,
"state": {
"liquidity": 2013245941965598379,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 3848495428250050143041601,
"tick": -198659
},
"swaps_indexed": 1976194,
"tick_spacing": 1
},
{
"amounts": {
"token0": 832.729,
"token1": 3899997650
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 21881211,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 10000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 3927827,
"pool": "0xb7f10f74b39291b9290b779978e19a7637c742d6",
"price_usd": 2358.41,
"quote": {
"address": "0x5cb6f181081301b44905f3ae15419112ecabd8a6",
"logo": "https://api.crius.sh/v1/robinhood/logo/0x5cb6f181081301b44905f3ae15419112ecabd8a6.png?size=128",
"symbol": "PIPEDOG"
},
"quote_liquidity_usd": 1963914,
"state": {
"liquidity": 1789170497408269004482213,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 170070849739713008914878566088473,
"tick": 153440
},
"swaps_indexed": 4426,
"tick_spacing": 200
},
{
"amounts": {
"token0": 1084.94,
"token1": 1701846
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 169464,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 500,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 3403692,
"pool": "0x69bfaf19c9f377bb306a89aed9f6b07e2c1a8d9a",
"price_usd": 2358.8,
"quote": {
"address": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"logo": null,
"symbol": "USDG"
},
"quote_liquidity_usd": 1701846,
"state": {
"liquidity": 724102881944651186,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 3847913576269808858344466,
"tick": -198662
},
"swaps_indexed": 223467,
"tick_spacing": 10
},
{
"amounts": {
"token0": 580.994,
"token1": 676.533
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 26815161,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 500,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 2740442,
"pool": "0xddcbba3666f578e3f09516f21ff85bfee859ab5e",
"price_usd": 2358.41,
"quote": {
"address": "0x117cc2133c37b721f49de2a7a74833232b3b4c0c",
"logo": null,
"symbol": "SPY"
},
"quote_liquidity_usd": 1370221,
"state": {
"liquidity": 10523127081908359237112,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 138581615369457152757237488930,
"tick": 11183
},
"swaps_indexed": 100737,
"tick_spacing": 10
},
{
"amounts": {
"token0": 499.985,
"token1": 4651864
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 8963150,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 10000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 2358336,
"pool": "0x10cc6bd38112cac182db90b6a71d8bb5939526ba",
"price_usd": 2358.41,
"quote": {
"address": "0x39dbed3a2bd333467115de45665cc57f813c4571",
"logo": "https://api.crius.sh/v1/robinhood/logo/0x39dbed3a2bd333467115de45665cc57f813c4571.png?size=128",
"symbol": "PONS"
},
"quote_liquidity_usd": 1179168,
"state": {
"liquidity": 115212974689589284353544,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 7129899659713896502217055114417,
"tick": 89998
},
"swaps_indexed": 18108,
"tick_spacing": 200
},
{
"amounts": {
"token0": 424.192,
"token1": 2.22704
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 61203931,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 500,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 2000837,
"pool": "0x934e60d1c6c34242b92159a5bcc710fafa50ad87",
"price_usd": 2358.41,
"quote": {
"address": "0xcec185eb182c47d1ba1efc84e6959e18cd620be4",
"logo": null,
"symbol": "cbBTC"
},
"quote_liquidity_usd": 1000418,
"state": {
"liquidity": 9118051092747224,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 135016153878905788429634,
"tick": -265663
},
"swaps_indexed": 15565,
"tick_spacing": 10
},
{
"amounts": {
"token0": 10931021,
"token1": 364.172
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 88836,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 10000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 1717734,
"pool": "0xa70fc67c9f69da90b63a0e4c05d229954574e313",
"price_usd": 2358.41,
"quote": {
"address": "0x020bfc650a365f8bb26819deaabf3e21291018b4",
"logo": "https://api.crius.sh/v1/robinhood/logo/0x020bfc650a365f8bb26819deaabf3e21291018b4.png?size=128",
"symbol": "CASHCAT"
},
"quote_liquidity_usd": 858867,
"state": {
"liquidity": 94572319906131283032430,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 526599349657185029571606764,
"tick": -100278
},
"swaps_indexed": 9884,
"tick_spacing": 200
},
{
"amounts": {
"token0": 336.501,
"token1": 2.0889
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 49261514,
"dex": "uniswap_v3",
"dynamic_fee": false,
"fee": 3000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 1587216,
"pool": "0xd30e44aae604b42a63f6f9a8109fd0408f35b9fb",
"price_usd": 2358.41,
"quote": {
"address": "0xcec185eb182c47d1ba1efc84e6959e18cd620be4",
"logo": null,
"symbol": "cbBTC"
},
"quote_liquidity_usd": 793608,
"state": {
"liquidity": 20852775737110336,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 135077002547457756452184,
"tick": -265654
},
"swaps_indexed": 3071,
"tick_spacing": 60
},
{
"amounts": {
"token0": 333.504,
"token1": 1250777
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 1024127,
"dex": "uniswap_v2",
"dynamic_fee": false,
"fee": 3000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 1573076,
"pool": "0xd95e8e2cd04c207625c6f23c974d365a5f3a91d3",
"price_usd": 2358.41,
"quote": {
"address": "0xc6911796042b15d7fa4f6cde69e245ddcd3d9c31",
"logo": "https://api.crius.sh/v1/robinhood/logo/0xc6911796042b15d7fa4f6cde69e245ddcd3d9c31.png?size=128",
"symbol": "VIRTUAL"
},
"quote_liquidity_usd": 786538,
"state": {
"liquidity": 0,
"reserve0": 333503751967026394755,
"reserve1": 1250777463256292048889490,
"sqrt_price_x96": 0,
"tick": 0
},
"swaps_indexed": 5001,
"tick_spacing": 0
},
{
"amounts": {
"token0": 295.854,
"token1": 30000000
},
"base": {
"address": "0x0bd7d308f8e1639fab988df18a8011f41eacad73",
"logo": null,
"symbol": "WETH"
},
"created_block": 16778178,
"dex": "uniswap_v4",
"dynamic_fee": false,
"fee": 10000,
"hook": null,
"is_price_pool": false,
"liquidity_usd": 1395491,
"pool": "0xb9c2bb68f6862b936ada28e5d5cba37101871b24940815f62d1492aa55b3f87a",
"price_usd": 2358.41,
"quote": {
"address": "0xdb87393727b666c43f5aecb03d8b419ba54d9b03",
"logo": "https://api.crius.sh/v1/robinhood/logo/0xdb87393727b666c43f5aecb03d8b419ba54d9b03.png?size=128",
"symbol": "SWOGE"
},
"quote_liquidity_usd": 697745,
"state": {
"liquidity": 102423371105951266641285771600,
"reserve0": 0,
"reserve1": 0,
"sqrt_price_x96": 24422169966449098211168616,
"tick": -161701
},
"swaps_indexed": 0,
"tick_spacing": 60
}
],
"meta": {
"block": 100454091,
"block_age_ms": 663,
"block_ts": 1793229925000,
"chain": "robinhood",
"finalized_block": 100442370,
"lag_ms": 143,
"next_cursor": "10",
"safe_block": 100446224,
"total": 689857
}
}

What this tells you

  • The deepest pool is Uniswap v3 WETH/USDG 0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca at fee: 100 (0.01%): liquidity_usd: 7737311 and swaps_indexed: 1976194. A second WETH/USDG v3 pool, 0x69bfaf19c9f377bb306a89aed9f6b07e2c1a8d9a at fee: 500, holds $3,403,692.
  • Eight of the ten rows are uniswap_v3, including WETH/SPY (0xddcbba3666f578e3f09516f21ff85bfee859ab5e, $2,740,442) and two WETH/cbBTC tiers (500 and 3000).
  • Row nine is uniswap_v2: WETH/VIRTUAL 0xd95e8e2cd04c207625c6f23c974d365a5f3a91d3 with fee: 3000 and $1,573,076.
  • Row ten is uniswap_v4: WETH/SWOGE, pool id 0xb9c2bb68f6862b936ada28e5d5cba37101871b24940815f62d1492aa55b3f87a, hook: null, $1,395,491 of liquidity but swaps_indexed: 0. Depth is not activity: check trades before treating a pool as a market.
  • is_price_pool is false on every row: WETH’s price doesn’t come from these pools. In the prices sample its source_pool is 0xbac3aa3b91584a53a579b3c999a56756e954e59247e497bad1d25a4334bde551, a 32-byte Uniswap v4 pool id (see batch prices).
Token markets reference Runs from your browser on the anonymous plan Data looks wrong? Report it

Which DEX filled each trade

WETH trades on Uniswap v3, through three different apps

Who traded WETH (0x0bd7d308f8e1639fab988df18a8011f41eacad73) most recently, on which DEX and through which router?

GET/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/trades?limit=3
curl "https://api.crius.sh/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/trades?limit=3"
Real response 200 Captured Oct 28, 2026 · 144 lines (arrays trimmed)
{
"data": [
{
"amount_base": 0.241346083005198446,
"amount_quote": 569.019791,
"block": 100406784,
"dex": "uniswap_v3",
"eth_usd_at_trade": 2356.9,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.021,
"gas_used": 239930,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000503853,
"total_eth": 0.00000503853,
"usd": 0.0118753
},
"token_tax": {
"pct": null
}
},
"finality": "latest",
"id": "100406784-6-44",
"market_cap_usd_at_trade": 90494155,
"pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca",
"price_eth": 1.00034,
"price_usd": 2357.69,
"quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"quote_symbol": "USDG",
"signer": "0xe950337f36e45c316c53c69a5f285487b54f0bad",
"signer_label": null,
"trader": "0xe950337f36e45c316c53c69a5f285487b54f0bad",
"trader_app": null,
"trader_label": "fomo_relayer_3",
"ts": 1793225076000,
"tx": "0x5b474612139f91cb226cf9e5097244dbb896a86834d8adbd263641c96d67b9f7",
"tx_index": 6,
"type": "buy",
"value_eth": 0.241428,
"value_usd": 569.02,
"via": []
},
{
"amount_base": 0.021222351350879784,
"amount_quote": 50.025498,
"block": 100406784,
"dex": "uniswap_v3",
"eth_usd_at_trade": 2356.9,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.021,
"gas_used": 455557,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.0000095667,
"total_eth": 0.0000095667,
"usd": 0.0225477
},
"token_tax": {
"pct": null
}
},
"finality": "latest",
"id": "100406784-1-12",
"market_cap_usd_at_trade": 90475571,
"pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca",
"price_eth": 1.00013,
"price_usd": 2357.21,
"quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"quote_symbol": "USDG",
"signer": "0x800539138ff0510191277f6b5c58fb94ae700064",
"signer_label": null,
"trader": "0x800539138ff0510191277f6b5c58fb94ae700064",
"trader_app": null,
"trader_label": null,
"ts": 1793225076000,
"tx": "0x0bde8abf03edce0f2ba13a3398ec2575b177c3f2d85eef77c25c7899a9949311",
"tx_index": 1,
"type": "sell",
"value_eth": 0.0212252,
"value_usd": 50.0255,
"via": [
"uniswap_universal_router"
]
},
{
"amount_base": 0.011210844980975568,
"amount_quote": 26.431588,
"block": 100406782,
"dex": "uniswap_v3",
"eth_usd_at_trade": 2356.9,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.020904,
"gas_used": 315171,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000658833,
"total_eth": 0.00000658833,
"usd": 0.015528
},
"token_tax": {
"pct": null
}
},
"finality": "latest",
"id": "100406782-10-32",
"market_cap_usd_at_trade": 90493695,
"pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca",
"price_eth": 1.00033,
"price_usd": 2357.68,
"quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168",
"quote_symbol": "USDG",
"signer": "0x8a2a3d6fcefd9427ac46b07c91d21207aaa0e168",
"signer_label": null,
"trader": "0x8a2a3d6fcefd9427ac46b07c91d21207aaa0e168",
"trader_app": null,
"trader_label": null,
"ts": 1793225076000,
"tx": "0xa3a9ddaaa96d7cc4d300eb5ae37d174755cee56aec3e5e15ae7c3adf437a113b",
"tx_index": 10,
"type": "buy",
"value_eth": 0.0112146,
"value_usd": 26.4316,
"via": [
"gmgn_swap_router"
]
}
],
"meta": {
"block": 100406789,
"block_age_ms": 367,
"block_ts": 1793225077000,
"chain": "robinhood",
"finalized_block": 100397649,
"lag_ms": 7,
"next_cursor": "100406782-32",
"safe_block": 100401329
}
}

What this tells you

  • All three trades have dex: "uniswap_v3" and pool: "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca": the 0.01% WETH/USDG pool from the example above.
  • They reached it three ways. The first, a buy of 0.241346083005198446 WETH for 569.019791 USDG (value_usd: 569.02), has via: [] and trader_label: "fomo_relayer_3"; the second has via: ["uniswap_universal_router"]; the third via: ["gmgn_swap_router"]. Routers and apps send swaps; the dex and pool are where they fill.
  • Each trade carries its gas: the first used 239,930 gas for fees.gas.usd: 0.0118753.
  • finality: "latest" on all three: they were seconds old, not yet posted to Ethereum.
Trade tape reference Runs from your browser on the anonymous plan Data looks wrong? Report it

Which endpoint for which DEX question

QuestionEndpointKey fields
Volume and new pools per DEX, chain-wideGET /statsdex.by_dex, pools.by_dex, dex.wash_volume_usd
DEX volume per day or hour, in your time zoneGET /volumedaily.rows, hourly.rows, windows
Every pool of a token, on every DEXGET /token/{address}/poolsdex, pool, fee, hook, liquidity_usd, is_price_pool
One pool's reserves, fee, hook, LP lock and statsGET /pool/{pool}dex, state.reserves, tvl_usd, lp, stats
Every swap of a token, with DEX and routerGET /token/{address}/tradesdex, pool, via, trader, value_usd
Price candles across a token's markets or one poolGET /token/{address}/candlespool=<pool id> for one DEX pool
Uniswap v4 hooks and their riskGET /hooks (Free plan)risk_level, flags
Tokens with the most DEX volumeGET /tokenslist=top_volume, clean=true

For swaps as they happen, subscribe to trades on the WebSocket stream instead of polling the tape.

Use it in your app

  1. Show the DEX mix. Call /stats?window=24h once a minute from your backend and draw dex.by_dex as shares of dex.volume_usd.

  2. List a token’s markets. Call /token/{address}/pools and group rows by dex. Link each row to its pool with the pool value: an address for v2, v3 and curves, a 32-byte id for v4.

  3. Label each trade. On the trade tape, show dex as the venue and via or trader_label as the app, so users see “Uniswap v3 via GMGN” rather than a router address.

  4. Chart one venue when you need to. Candles merge a token’s real markets by default; pass pool=<pool id> to chart a single DEX pool.

import requests
API = "https://api.crius.sh/v1/robinhood"
dex = requests.get(f"{API}/stats", params={"window": "24h"}, timeout=10).json()["data"]["dex"]
for name, usd in sorted(dex["by_dex"].items(), key=lambda x: -x[1]):
print(f"{name:13} ${usd:>14,.0f} {100 * usd / dex['volume_usd']:5.2f}%")
weth = "0x0bd7d308f8e1639fab988df18a8011f41eacad73"
pools = requests.get(f"{API}/token/{weth}/pools", params={"limit": 50}, timeout=10).json()["data"]
by_dex = {}
for p in pools:
by_dex.setdefault(p["dex"], []).append(p)
for name, rows in by_dex.items():
top = rows[0]
print(f"{name}: {len(rows)} pools, deepest {top['pool']} ${top['liquidity_usd']:,.0f}")

Frequently asked questions

What is the main DEX on Robinhood Chain?

Uniswap, in three versions. In the captured 24-hour stats, Uniswap v4 handled $286,137,338 (about 53% of DEX volume) and Uniswap v3 $235,116,790 (about 44%). Uniswap v2 ($6,992,610) and the Pons bonding curve ($6,920,073) were about 1.3% each, and other launchpad curves $114,839.

Is there a Robinhood swap DEX?

In Crius's data, every swap on Robinhood Chain goes through a Uniswap v2, v3 or v4 pool or a launchpad bonding curve. Wallet apps, aggregators and trading bots route into those pools: the trade tape shows them in via (for example uniswap_universal_router or gmgn_swap_router) or in trader_label, while dex names the venue that filled the swap.

Does Crius have a Robinhood Chain DEX API?

Yes. The Crius API decodes every swap on every DEX on Robinhood Chain (chain id 4663): trades with their dex, pool and router, every pool of a token with its liquidity, pool details, OHLCV candles and chain-wide volume per DEX. The DEX endpoints are on the anonymous plan, so you can try them without a key.

How do I get the volume of each DEX on Robinhood Chain?

GET /v1/robinhood/stats?window=24h (or 1h, 7d) returns dex.by_dex, the USD volume per DEX over the window, with same-transaction wash trades left out and reported in dex.wash_volume_usd. For daily or hourly history across all DEXs, use GET /v1/robinhood/volume.

Are Uniswap v4 hooks indexed?

Yes. Every v4 pool is indexed with its hook, and every hook is inspected for its permissions, code and what happened in its pools. A token's pools show hook.address and hook.name; Check the risk of a Uniswap v4 hook covers the hook endpoints.

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