Track Robinhood Chain bonding-curve tokens about to graduate
Track Pons, Flap and other Robinhood Chain launchpad tokens on their bonding curves, see which are closest to graduating and catch each graduation.
Call GET /v1/robinhood/tokens?list=graduating for bonding-curve tokens at 50%+ progress_pct, closest to graduation first; list=bonding for every token still on a curve (newest first) and list=graduated for the latest graduations. Add launchpad=pons to follow one launchpad. These lists are on the anonymous plan; /token/{address}/launch (Free plan) has the curve, threshold and graduation pool.
Most Robinhood Chain launchpad tokens start on a bonding curve and graduate to a DEX pool once the curve has raised its target. Crius tracks every curve: progress_pct says how far a token is (100 once graduated), status says which stage it’s in, and three lists cover the stages: bonding (every token still on a curve), graduating (the ones at 50% or more, closest first) and graduated (the most recent graduations).
See which tokens are closest to graduating
Three Pons tokens past 80%
Which Robinhood Chain launchpad tokens are closest to graduating right now?
curl "https://api.crius.sh/v1/robinhood/tokens?list=graduating&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/tokens?list=graduating&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/tokens?list=graduating&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 281 lines (arrays trimmed)
{ "data": [ { "address": "0x742af99ef5e528ee85fb04ff76c44b22ef08611a", "buy_volume_usd": { "1h": 17156.5, "24h": 27636.8, "5m": 136.711, "6h": 27636.8 }, "buyers": { "1h": 125, "24h": 166, "5m": 9, "6h": 166 }, "buys": { "1h": 377, "24h": 463, "5m": 11, "6h": 463 }, "change_pct": { "1h": 50.0907, "24h": 833.914, "5m": -0.685261, "6h": 833.914 }, "created_block": 100366236, "created_ts": 1793220900600, "decimals": 18, "fdv_usd": 39766.1, "holders": 137, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/OwnerlessFun/status/2115538949003227427", "website": "https://ownerless.fun/" }, "liquidity_usd": 17192.8, "logo": "https://api.crius.sh/v1/robinhood/logo/0x742af99ef5e528ee85fb04ff76c44b22ef08611a.png?size=128", "market_cap_usd": 39566.5, "name": "Ownerless", "price_eth": 0.0000000168823, "price_usd": 0.0000397661, "progress_pct": 86.8006, "quote": "ETH", "sell_volume_usd": { "1h": 14474.1, "24h": 18573.6, "5m": 208.628, "6h": 18573.6 }, "sellers": { "1h": 64, "24h": 77, "5m": 11, "6h": 77 }, "sells": { "1h": 128, "24h": 157, "5m": 11, "6h": 157 }, "status": "bonding", "symbol": "OWNERLESS", "traders": { "1h": 137, "24h": 167, "5m": 16, "6h": 167 }, "txns": { "1h": 503, "24h": 618, "5m": 22, "6h": 618 }, "volume_usd": { "1h": 31630.6, "24h": 46210.4, "5m": 345.339, "6h": 46210.4 } }, { "address": "0x15053423de7365ebeabdcc53ff9619b85b5e7e9f", "buy_volume_usd": { "1h": 79807.5, "24h": 79807.5, "5m": 79793.5, "6h": 79807.5 }, "buyers": { "1h": 360, "24h": 360, "5m": 359, "6h": 360 }, "buys": { "1h": 557, "24h": 557, "5m": 555, "6h": 557 }, "change_pct": { "1h": 1319.15, "24h": 1319.15, "5m": 1172.95, "6h": 1319.15 }, "created_block": 100380473, "created_ts": 1793222372300, "decimals": 18, "fdv_usd": 76538.2, "holders": 263, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": "https://mafiacoin.site" }, "liquidity_usd": 33343.4, "logo": "https://api.crius.sh/v1/robinhood/logo/0x15053423de7365ebeabdcc53ff9619b85b5e7e9f.png?size=128", "market_cap_usd": 76538.2, "name": "MAFIA", "price_eth": 0.0000000324936, "price_usd": 0.0000765382, "progress_pct": 84.8, "quote": "PYPL", "sell_volume_usd": { "1h": 64938.6, "24h": 64938.6, "5m": 64938.6, "6h": 64938.6 }, "sellers": { "1h": 144, "24h": 144, "5m": 144, "6h": 144 }, "sells": { "1h": 383, "24h": 383, "5m": 383, "6h": 383 }, "status": "bonding", "symbol": "MAFIA", "traders": { "1h": 361, "24h": 361, "5m": 360, "6h": 361 }, "txns": { "1h": 939, "24h": 939, "5m": 937, "6h": 939 }, "volume_usd": { "1h": 144746, "24h": 144746, "5m": 144732, "6h": 144746 } }, { "address": "0x71d5502c2e670b151960596adfbfd57f3d414544", "buy_volume_usd": { "1h": 0, "24h": 2946.31, "5m": 0, "6h": 0 }, "buyers": { "1h": 0, "24h": 34, "5m": 0, "6h": 0 }, "buys": { "1h": 0, "24h": 35, "5m": 0, "6h": 0 }, "change_pct": { "1h": 0.243191, "24h": 20.4499, "5m": 0.243191, "6h": 0.243191 }, "created_block": 98237798, "created_ts": 1792999460800, "decimals": 18, "fdv_usd": 37033.7, "holders": 160, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": null }, "liquidity_usd": 16297.4, "logo": "https://api.crius.sh/v1/robinhood/logo/0x71d5502c2e670b151960596adfbfd57f3d414544.png?size=128", "market_cap_usd": 37033.7, "name": "NMS", "price_eth": 0.0000000157223, "price_usd": 0.0000370337, "progress_pct": 82.3668, "quote": "ETH", "sell_volume_usd": { "1h": 0, "24h": 1727.7, "5m": 0, "6h": 0 }, "sellers": { "1h": 0, "24h": 16, "5m": 0, "6h": 0 }, "sells": { "1h": 0, "24h": 17, "5m": 0, "6h": 0 }, "status": "bonding", "symbol": "NMS", "traders": { "1h": 0, "24h": 45, "5m": 0, "6h": 0 }, "txns": { "1h": 0, "24h": 52, "5m": 0, "6h": 0 }, "volume_usd": { "1h": 0, "24h": 4674.01, "5m": 0, "6h": 0 } } ], "meta": { "block": 100406911, "block_age_ms": 1550, "block_ts": 1793225089000, "chain": "robinhood", "finalized_block": 100397649, "lag_ms": 558, "list": "graduating", "next_cursor": "3", "safe_block": 100401329, "stats_since": "chain_start", "window": "24h" }}What this tells you
- Ownerless (
0x742af99ef5e528ee85fb04ff76c44b22ef08611a) leads atprogress_pct: 86.8006, with 137 holders and 503 transactions in the last hour. - MAFIA (
0x15053423de7365ebeabdcc53ff9619b85b5e7e9f) is at 84.8%. Of its $144,746 of volume in the last hour, $144,732 was in the last 5 minutes (volume_usd["5m"]), from 360 traders: a curve being bought out right now. Its curve is priced in PYPL (quote), a tokenized stock. - NMS (
0x71d5502c2e670b151960596adfbfd57f3d414544) is at 82.3668% but hastxns["1h"]: 0and was created more than two days earlier. High progress doesn’t mean it will finish: check recent volume. - All three are
status: "bonding"andlaunchpad: "pons".
Five minutes later, the graduated list shows MAFIA again:
MAFIA graduated five minutes later
Which Robinhood Chain tokens graduated most recently?
curl "https://api.crius.sh/v1/robinhood/tokens?list=graduated&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/tokens?list=graduated&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/tokens?list=graduated&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 281 lines (arrays trimmed)
{ "data": [ { "address": "0x15053423de7365ebeabdcc53ff9619b85b5e7e9f", "buy_volume_usd": { "1h": 181793, "24h": 181793, "5m": 100746, "6h": 181793 }, "buyers": { "1h": 912, "24h": 912, "5m": 603, "6h": 912 }, "buys": { "1h": 1493, "24h": 1493, "5m": 920, "6h": 1493 }, "change_pct": { "1h": -8.67205, "24h": -8.67205, "5m": -8.67205, "6h": -8.67205 }, "created_block": 100380473, "created_ts": 1793222372300, "decimals": 18, "fdv_usd": 139039, "holders": 517, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": "https://mafiacoin.site" }, "liquidity_usd": 65561.8, "logo": "https://api.crius.sh/v1/robinhood/logo/0x15053423de7365ebeabdcc53ff9619b85b5e7e9f.png?size=128", "market_cap_usd": 139039, "name": "MAFIA", "price_eth": 0.0000000590278, "price_usd": 0.000139039, "progress_pct": 100, "quote": "PYPL", "sell_volume_usd": { "1h": 170074, "24h": 170074, "5m": 104923, "6h": 170074 }, "sellers": { "1h": 524, "24h": 524, "5m": 431, "6h": 524 }, "sells": { "1h": 1516, "24h": 1516, "5m": 1127, "6h": 1516 }, "status": "graduated", "symbol": "MAFIA", "traders": { "1h": 915, "24h": 915, "5m": 774, "6h": 915 }, "txns": { "1h": 2950, "24h": 2950, "5m": 1989, "6h": 2950 }, "volume_usd": { "1h": 351867, "24h": 351867, "5m": 205669, "6h": 351867 } }, { "address": "0x2ff4b36c789d08676df4c81d9923d5e4e3b3c1e5", "buy_volume_usd": { "1h": 48439.8, "24h": 48439.8, "5m": 3320.99, "6h": 48439.8 }, "buyers": { "1h": 248, "24h": 248, "5m": 23, "6h": 248 }, "buys": { "1h": 412, "24h": 412, "5m": 35, "6h": 412 }, "change_pct": { "1h": 368.978, "24h": 368.978, "5m": -15.8079, "6h": 368.978 }, "created_block": 100400743, "created_ts": 1793224449300, "decimals": 18, "fdv_usd": 127489, "holders": 131, "launchpad": "pons", "launchpad_name": "Pons", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/WagieCoinRH", "website": null }, "liquidity_usd": 23110.5, "logo": "https://api.crius.sh/v1/robinhood/logo/0x2ff4b36c789d08676df4c81d9923d5e4e3b3c1e5.png?size=128", "market_cap_usd": 127489, "name": "WAGIE", "price_eth": 0.0000000541243, "price_usd": 0.000127489, "progress_pct": 100, "quote": "MCD", "sell_volume_usd": { "1h": 36040, "24h": 36040, "5m": 4371.27, "6h": 36040 }, "sellers": { "1h": 139, "24h": 139, "5m": 16, "6h": 139 }, "sells": { "1h": 391, "24h": 391, "5m": 32, "6h": 391 }, "status": "graduated", "symbol": "WAGIE", "traders": { "1h": 249, "24h": 249, "5m": 37, "6h": 249 }, "txns": { "1h": 801, "24h": 801, "5m": 67, "6h": 801 }, "volume_usd": { "1h": 84479.8, "24h": 84479.8, "5m": 7692.26, "6h": 84479.8 } }, { "address": "0xeb4641bc510277848984ef9539d54ba05ebd7777", "buy_volume_usd": { "1h": 31499.4, "24h": 31499.4, "5m": 983.296, "6h": 31499.4 }, "buyers": { "1h": 271, "24h": 271, "5m": 22, "6h": 271 }, "buys": { "1h": 376, "24h": 376, "5m": 23, "6h": 376 }, "change_pct": { "1h": 21.509, "24h": 21.509, "5m": 1.91903, "6h": 21.509 }, "created_block": 100389612, "created_ts": 1793223305200, "decimals": 18, "fdv_usd": 70670.2, "holders": 163, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/Vellum_X", "website": "https://www.vellumrh.xyz/" }, "liquidity_usd": 25878.7, "logo": "https://api.crius.sh/v1/robinhood/logo/0xeb4641bc510277848984ef9539d54ba05ebd7777.png?size=128", "market_cap_usd": 70670.2, "name": "Vellum", "price_eth": 0.0000000300023, "price_usd": 0.0000706702, "progress_pct": 100, "quote": "WETH", "sell_volume_usd": { "1h": 17757.8, "24h": 17757.8, "5m": 846.042, "6h": 17757.8 }, "sellers": { "1h": 159, "24h": 159, "5m": 36, "6h": 159 }, "sells": { "1h": 250, "24h": 250, "5m": 41, "6h": 250 }, "status": "graduated", "symbol": "VELLUM", "traders": { "1h": 273, "24h": 273, "5m": 48, "6h": 273 }, "txns": { "1h": 610, "24h": 610, "5m": 63, "6h": 610 }, "volume_usd": { "1h": 49257.2, "24h": 49257.2, "5m": 1829.34, "6h": 49257.2 } } ], "meta": { "block": 100409857, "block_age_ms": 808, "block_ts": 1793225391000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 87, "list": "graduated", "next_cursor": "3", "safe_block": 100405028, "stats_since": "chain_start", "window": "24h" }}What this tells you
- MAFIA (
0x15053423de7365ebeabdcc53ff9619b85b5e7e9f) is first, nowstatus: "graduated"withprogress_pct: 100. Itsholderswent from 263 to 517 andliquidity_usdfrom $33,343.4 to $65,561.8 in the 301 seconds between the two samples. - WAGIE (
0x2ff4b36c789d08676df4c81d9923d5e4e3b3c1e5) is another Pons graduation, quoted in MCD; it was created about 16 minutes before this response. - Vellum (
0xeb4641bc510277848984ef9539d54ba05ebd7777) graduated from Flap.sh (launchpad: "flap") with a WETH quote. Flap tokens graduate into a Uniswap v2 pair; Pons tokens into a Uniswap v4 pool.
The full lifecycle of one token
The lists tell you where every token stands. /token/{address}/launch (Free plan) tells you everything about one launch: the curve contract, the target, what moved into the pool and where the LP went.
Charge AI: from Pons curve to locked v4 pool
How did Charge AI (0x7b8892cea949bc60d494681d1bc3ea96071ab0b8) graduate, and where is its liquidity?
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/launch" \ -H "x-api-key: $CRIUS_API_KEY"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/launch", { headers: { "x-api-key": process.env.CRIUS_API_KEY },});const { data, meta } = await res.json();import os, requests
r = requests.get( "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/launch", headers={"x-api-key": os.environ["CRIUS_API_KEY"]},)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 74 lines (arrays trimmed)
{ "data": { "creator": "0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca", "curve": "0x2b0943bf947b54df526047b6fec8183a4fdeb3c3", "curve_stats": { "buys": 482, "first_indexed_block": 88385895, "history": "complete", "sells": 280, "unique_traders": 61, "volume_quote": 21.053399701262936019 }, "factory": "0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e", "fees": { "buyback_burn_bps": 5000, "buyback_enabled": false, "buyback_vault": "0x42df2a798f82289e177311362e8f5ccc45c1219c", "creator_fee_recipient": "0x14a6f00bad1f4e21e2af4e317383c3d550378996", "creator_tax_bps": 200, "escrow": "0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e", "hook_fee_bps": 100, "pending": { "buyback": 0, "creator_tax": 0.0010373586867571, "currency": "ETH", "fees": 0.000518679343378549 }, "protocol_fee_recipient": "0x31ea5b453a6cd60f36203830de046ff32dec2cdb", "protocol_fee_share_bps": 3000, "snipe_tax": { "start_bps": 9900, "window_s": 3 } }, "graduation": { "block": 88461321, "blocks_to_graduate": 75435, "graduated_block_recorded": 88461321, "lp_locker": "0x267444d099b10fb5ed7c3cc7b7c767adca574952", "lp_position_id": 3790055, "pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913", "quote_to_pool": 4.200000000000000236, "tokens_to_pool": 204081632.653061227766208523, "ts": 1791990423100 }, "launch_tx": "0x4d9536e81ce418070e93b72f46f1d91afdd6a9ed34141b8e3773926b0d863747", "launched_block": 88385886, "launched_ts": 1791982833600, "launched_via": "factory", "launchpad": "pons", "launchpad_name": "Pons", "pair_token": { "address": "0x0000000000000000000000000000000000000000", "logo": null, "symbol": "ETH" }, "progress": { "pct": 100, "raised": 4.200000000000000236, "threshold": 4.2 }, "status": "graduated", "version": "v2" }, "meta": { "block": 100406852, "block_age_ms": 778, "block_ts": 1793225083000, "chain": "robinhood", "finalized_block": 100397649, "lag_ms": 86, "safe_block": 100401329 }}What this tells you
progress.raised: 4.2againstprogress.threshold: 4.2ETH (pair_token.symbol: "ETH"): the curve sold out andstatusisgraduated.graduation.blocks_to_graduate: 75435, about two hours fromlaunched_tstograduation.ts, far slower than Pons’s median of 2,490 blocks.- At graduation
graduation.quote_to_pool(4.2 ETH) andgraduation.tokens_to_pool(204,081,632.65 CHARGE) went into the v4 pool0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913. The LP position (lp_position_id: 3790055) sits in the Pons locker0x267444d099b10fb5ed7c3cc7b7c767adca574952. curve_stats: 482 buys and 280 sells by 61 wallets on the curve, andhistory: "complete", so every curve trade is indexed.
Which list to use
| List | Contains | Order |
|---|---|---|
bonding | Every launchpad token still on its curve (status: "bonding") | Newest launch first |
graduating | Bonding tokens with progress_pct of 50 or more | Highest progress_pct first |
graduated | Tokens that left their curve for a DEX pool | Most recent graduation first |
new | Every new token, launchpad or not | Newest first |
Fields that describe the stage:
status:bonding,graduated, orlaunchedfor launchpads with no curve (Bankr and Long.xyz tokens trade on Uniswap v4 from the first block).progress_pct: raised quote ÷ the curve’s target, in percent;nullbefore the first curve trade or when the launchpad’s progress isn’t measured (many fresh Flap tokens shownull).quote: what the curve is priced in. On Pons that is often a stock token (PYPL, MCD) rather than ETH.launchpad: filter any of these lists withlaunchpad=pons,flap,flywheelorstandard_reserve.
How each launchpad graduates (target, destination pool, LP handling) is on its own page: Pons, Flap.sh, Flywheel, King of the Markets.
Use it in your app
-
Poll
graduatingfor a watchlist. Every 5–10 seconds; keep the lastprogress_pctper address so you can alert on a threshold you choose (90%, 95%). -
Weigh progress by recent activity. A token at 85% with no trades in the last hour (NMS above) is not about to graduate; one at 84.8% with 360 traders in 5 minutes (MAFIA) is.
-
Catch the graduation. When a watched token drops out of
graduating, look for it ingraduated, or subscribe tograduations:allon the WebSocket to get the new pool immediately. -
Read the launch once it graduates.
/launchgives the pool and the LP lock;/securityconfirms the liquidity is locked or burned.
// Alert when a Pons token crosses 95% of its curve, and when it graduates.const API = "https://api.crius.sh/v1/robinhood";const last = new Map(); // address -> last progress_pct
async function tick() { const { data } = await (await fetch(`${API}/tokens?list=graduating&launchpad=pons&limit=100`)).json(); const now = new Set(); for (const t of data) { now.add(t.address); const before = last.get(t.address) ?? 0; if (before < 95 && t.progress_pct >= 95) console.log(`${t.symbol} ${t.address} at ${t.progress_pct.toFixed(1)}%, ${t.traders["5m"]} traders in 5m`); last.set(t.address, t.progress_pct); } const gone = [...last.keys()].filter((a) => !now.has(a)); if (gone.length === 0) return; const g = await (await fetch(`${API}/tokens?list=graduated&launchpad=pons&limit=50`)).json(); for (const addr of gone) { last.delete(addr); const t = g.data.find((x) => x.address === addr); if (t) console.log(`graduated: ${t.symbol} ${addr}, liquidity $${Math.round(t.liquidity_usd)}`); }}setInterval(tick, 10_000);Frequently asked questions
How do I track Pons launches that are about to graduate?
Poll GET https://api.crius.sh/v1/robinhood/tokens?list=graduating&launchpad=pons. It returns Pons tokens still on their bonding curve with progress_pct of 50 or more, highest first. When a token leaves this list with status: "graduated", it has moved to its Uniswap v4 pool; list=graduated&launchpad=pons shows it there.
What does graduating mean on Robinhood Chain?
A launchpad token starts on a bonding curve that sells tokens for a quote asset (ETH, USDG or a stock token). When the curve has raised its target, the launchpad moves the raised liquidity into a DEX pool and trading continues there. That move is the graduation. Pons, Flap, Flywheel and King of the Markets tokens graduate; Bankr and Long.xyz tokens trade on Uniswap v4 from the start and have no curve stage.
How long does a Pons token take to graduate?
Of the Pons tokens that graduate, the median took 2,490 blocks (median_blocks_to_graduate), about four minutes at Robinhood Chain's ~100 ms blocks. Most never do: 10,479 of 716,241 Pons launches had graduated (graduation_rate_pct 1.46) when the samples were captured.
Why is progress_pct null?
The curve hasn't been traded yet, or Crius doesn't measure progress for that launchpad's curve. Such tokens are in list=bonding but never in list=graduating, which needs a measured progress of 50% or more.
Can I get notified the moment a token graduates?
Yes. Subscribe to graduations:all or graduations:pons on the WebSocket stream (free API key). Each message includes the new pool. Polling list=graduated every few seconds works without a key.
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