Flap.sh on Robinhood Chain (contracts, graduation and API)
How Flap.sh launches tax and non-tax tokens on Robinhood Chain, graduates them to Uniswap v2 with burned LP, its contract addresses and the Crius API.
Flap.sh tokens trade on a bonding curve kept inside the Flap Portal (0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09) and graduate into a Uniswap v2 pair with the LP burned. List them with GET /v1/robinhood/tokens?launchpad=flap (list=new, bonding, graduated), get stats with GET /v1/robinhood/launchpads/flap, and one token's lifecycle and pools with /token/{address}/launch.
Flap.sh is a bonding-curve launchpad with a twist: tokens can carry a buy and sell tax from launch, routed to the creator, a vault or dividends for holders. Every Flap token’s curve lives inside one contract, the Flap Portal, which also emits every launch, trade and graduation. When a curve fills, the Portal moves the token into a Uniswap v2 pair and burns the LP tokens, so that liquidity can never be withdrawn.
Flap.sh at a glance
| Flap.sh | |
|---|---|
| Crius launchpad id | flap |
| Launch | Through the Flap Portal (or the VaultPortal for tax tokens bound to a vault); no per-token curve contract |
| Token types | Tax tokens (address ends in 7777) and non-tax tokens (address ends in 8888) |
| Quote assets | Mostly native ETH; USDG and stock tokens (SPY, NVDA, TSLA and others) are enabled |
| Graduation | At 800 million tokens circulating (5 ETH raised on the default ETH curve) |
| After graduation | Uniswap v2 pair (a few on a Pancake-style fork) with 200 million tokens; LP tokens burned to 0x000000000000000000000000000000000000dEaD |
| Fees | 1% on curve buys and sells, plus the token's own tax for tax tokens |
| Graduation rate | 0.087% (graduation_rate_pct: 0.0872573), median 8,533 blocks to graduate (about 14 minutes) |
How a Flap token launches and graduates
- Launch. A creator (or a smart account, or one of the batch “launch farm” contracts that mass-create tokens) calls the Portal, which deploys the token as a clone of the tax or non-tax template and sets its curve, quote asset and tax rates. Crius picks it up from the Portal’s
TokenCreatedevent; the quote comes fromTokenQuoteSet. - Bonding. Buys and sells go through the Portal (
TokenBought,TokenSold). Each trade pays a 1% fee to Flap’s fee Safe; tax tokens also pay their tax on the curve. Fresh Flap tokens showstatus: "bonding"and oftenprogress_pct: nullin Crius lists until progress can be measured. - Graduation. The buy that takes circulating supply to 800 million triggers
LaunchedToDEX: 200 million tokens and the raised quote (5 ETH on the default curve, added as WETH) go into a Uniswap v2 pair, and the LP tokens are sent to the dead address. - After graduation. The token trades on its v2 pair. A tax token keeps charging its tax on DEX trades, so check
/securityfor the measuredtax.buy_pctandtax.sell_pct.
Flap.sh contracts on Robinhood Chain
| Contract | Address | What it does |
|---|---|---|
| Flap Portal | 0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09 | Launches tokens, holds every curve, emits all launch, trade and graduation events (upgradeable proxy) |
| Portal implementation | 0xf9209bdb1e04aca3104d5c6eed12a034451bbd99 | Current Portal logic (v5.23.1, verified) |
| VaultPortal | 0xe9f7ab7de8fb8756acbb6a1cd13316a43308197b | Launch path for tax tokens bound to a vault, such as stock-basket vaults |
| Proxy admin | 0x21f7f9b33dfd0dbc3a94c0efa79f1546a1391ff5 | Admin of the Portal and VaultPortal proxies |
| Tax token template | 0x7777c8743c88b3aff3cf262135bef2c8b2e83333 | FlapTaxTokenV3: every tax token is a clone, address ending in 7777 |
| Non-tax token template | 0x88882688a067fe97e11c2185b996286e53132222 | FlapNonTaxToken: clones end in 8888 |
| Tax token helper | 0xb10bd2672ae63735d677164a54b573a016f0203c | Helper for tax tokens (upgradeable proxy) |
| Fee receiver | 0xa4a727e0918cf9b39639fc4cb7d742d39c5352a4 | Safe that receives the 1% curve fee in ETH |
| Stocks vault factory | 0xe6ca297d1d963b6f00d5b216986123caeb883af6 | Creates the stock-basket vaults most vault tokens use |
| Uniswap v2 factory | 0x8bceaa40b9acdfaedf85adf4ff01f5ad6517937f | Where almost all Flap tokens graduate |
| DemoPancakeFactory | 0x02a84c1b3bbd7401a5f7fa98a384ebc70bb5749e | Pancake-style v2 fork used by a few graduations |
| Mirror pair factory | 0x0d1ebb179cdbca88d74c923c4255cb2b17474afd | Display-only pairs that mirror curve trades without moving tokens; not indexed by Crius |
Six vanity batch contracts mass-create Flap tokens, so a token’s creator can be one of them rather than a person: 0x8f96447d5d15571bc18705b2f1f09aec1b376666, 0x5bbb332a7ea0bbc98424304326c3dce71d8b6666, 0x8bf8eace53982a349195c452d1a22d025fae6666, 0xb3023412cf5fe15811a158234e3fd70a7d6b6666, 0x948ed9814055e4b74c3885f2de1599600b206666 and 0xcfc61f923c726a5f20dc56d8a925d31bf3e56666.
Query Flap.sh with Crius
Flap.sh stats: 1,200 launches a day, one graduation
How active is Flap.sh on Robinhood Chain, and which Flap tokens trade the most?
curl "https://api.crius.sh/v1/robinhood/launchpads/flap?days=3"const res = await fetch("https://api.crius.sh/v1/robinhood/launchpads/flap?days=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/launchpads/flap?days=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 347 lines (arrays trimmed)
{ "data": { "contracts": { "launch_contracts": [ "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09" ] }, "history": { "days": 3, "points": [ { "date": "2026-10-26", "fees_usd": 10145.2, "graduated": 0, "launches": 1170, "traders": 2943, "trades": 6282, "volume_usd": 401018 }, { "date": "2026-10-27", "fees_usd": 11000.8, "graduated": 0, "launches": 1241, "traders": 2962, "trades": 6695, "volume_usd": 378046 }, { "date": "2026-10-28", "fees_usd": 9027.99, "graduated": 1, "launches": 1078, "traders": 3155, "trades": 7632, "volume_usd": 370745 } ] }, "id": "flap", "name": "Flap.sh", "since_block": 4227932, "stats": { "fees_usd_24h": { "lp": 2021.73, "tax": 7407.3, "total": 9429.03 }, "graduated": 338, "graduated_24h": 1, "graduation_rate_pct": 0.0872573, "launches_24h": 1200, "median_blocks_to_graduate": 8533, "tokens_launched": 387360, "traders_24h": 3284, "trades_24h": 7963, "volume_by_quote_usd_24h": { "eth": 367578, "other": 16.2147, "stock": 5051.86, "usdg": 11553.7 }, "volume_usd_24h": 384200 }, "top_tokens_24h": [ { "address": "0xf62bd0bb50ef92ff591c8ff39252f40ad5097777", "buy_volume_usd": { "1h": 0, "24h": 84170.9, "5m": 0, "6h": 286.905 }, "buyers": { "1h": 0, "24h": 99, "5m": 0, "6h": 11 }, "buys": { "1h": 0, "24h": 644, "5m": 0, "6h": 44 }, "change_pct": { "1h": 0.889599, "24h": -0.48219, "5m": 0.889599, "6h": -6.32022 }, "created_block": 73279901, "created_ts": 1790445510120, "decimals": 18, "fdv_usd": 2254393, "holders": 4822, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": "https://docs.flap.sh/flap", "telegram": "https://t.me/FabricAi8", "twitter": "https://x.com/Fabric_AI_", "website": null }, "liquidity_usd": 148756, "logo": "https://api.crius.sh/v1/robinhood/logo/0xf62bd0bb50ef92ff591c8ff39252f40ad5097777.png?size=128", "market_cap_usd": 2254393, "name": "FabricAI", "price_eth": 0.00000095708, "price_usd": 0.00225439, "progress_pct": 100, "quote": "WETH", "sell_volume_usd": { "1h": 0, "24h": 84082.3, "5m": 0, "6h": 3028.13 }, "sellers": { "1h": 0, "24h": 71, "5m": 0, "6h": 12 }, "sells": { "1h": 0, "24h": 781, "5m": 0, "6h": 46 }, "status": "graduated", "symbol": "FA", "traders": { "1h": 0, "24h": 150, "5m": 0, "6h": 13 }, "txns": { "1h": 0, "24h": 1420, "5m": 0, "6h": 90 }, "volume_usd": { "1h": 0, "24h": 168253, "5m": 0, "6h": 3315.03 } }, { "address": "0x20024e485c0b22b42855589700721b28320a7777", "buy_volume_usd": { "1h": 2286.43, "24h": 52276.3, "5m": 0, "6h": 24617.1 }, "buyers": { "1h": 12, "24h": 184, "5m": 0, "6h": 86 }, "buys": { "1h": 19, "24h": 352, "5m": 0, "6h": 143 }, "change_pct": { "1h": 4.3405, "24h": 9.9927, "5m": 0.298221, "6h": 7.90337 }, "created_block": 27174072, "created_ts": 1785801361200, "decimals": 18, "fdv_usd": 1504039, "holders": 7803, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": null, "telegram": "https://t.me/PRISM_Asset", "twitter": "https://x.com/prismassets", "website": "https://prismassets.shop/" }, "liquidity_usd": 296432, "logo": "https://api.crius.sh/v1/robinhood/logo/0x20024e485c0b22b42855589700721b28320a7777.png?size=128", "market_cap_usd": 1496248, "name": "Prism Assets", "price_eth": 0.000000638524, "price_usd": 0.00150404, "progress_pct": 100, "quote": "WETH", "sell_volume_usd": { "1h": 524.389, "24h": 40210.9, "5m": 0, "6h": 18450.7 }, "sellers": { "1h": 16, "24h": 317, "5m": 0, "6h": 182 }, "sells": { "1h": 20, "24h": 470, "5m": 0, "6h": 240 }, "status": "graduated", "symbol": "PRISM", "traders": { "1h": 27, "24h": 433, "5m": 0, "6h": 239 }, "txns": { "1h": 33, "24h": 644, "5m": 0, "6h": 317 }, "volume_usd": { "1h": 2810.82, "24h": 92487.1, "5m": 0, "6h": 43067.9 } }, { "address": "0xeb4641bc510277848984ef9539d54ba05ebd7777", "buy_volume_usd": { "1h": 31659, "24h": 31659, "5m": 396.003, "6h": 31659 }, "buyers": { "1h": 281, "24h": 281, "5m": 24, "6h": 281 }, "buys": { "1h": 388, "24h": 388, "5m": 24, "6h": 388 }, "change_pct": { "1h": 24.0563, "24h": 24.0563, "5m": -3.15166, "6h": 24.0563 }, "created_block": 100389612, "created_ts": 1793223305200, "decimals": 18, "fdv_usd": 72151.6, "holders": 171, "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": 26149.1, "logo": "https://api.crius.sh/v1/robinhood/logo/0xeb4641bc510277848984ef9539d54ba05ebd7777.png?size=128", "market_cap_usd": 72151.6, "name": "Vellum", "price_eth": 0.0000000306312, "price_usd": 0.0000721516, "progress_pct": 100, "quote": "WETH", "sell_volume_usd": { "1h": 17782.2, "24h": 17782.2, "5m": 610.386, "6h": 17782.2 }, "sellers": { "1h": 161, "24h": 161, "5m": 31, "6h": 161 }, "sells": { "1h": 253, "24h": 253, "5m": 35, "6h": 253 }, "status": "graduated", "symbol": "VELLUM", "traders": { "1h": 283, "24h": 283, "5m": 46, "6h": 283 }, "txns": { "1h": 625, "24h": 625, "5m": 58, "6h": 625 }, "volume_usd": { "1h": 49441.2, "24h": 49441.2, "5m": 1006.39, "6h": 49441.2 } } ], "type": "config_driven", "website": "https://flap.sh" }, "meta": { "block": 100410828, "block_age_ms": 477, "block_ts": 1793225489000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 188, "notes": [ "volume and trades: every trade of the launchpad's tokens in any pool, on the curve and after graduation", "fees_usd_24h.lp: LP fees at each pool's fee (v4: the swap's own fee); tax: token and hook taxes measured from trades (taxes a hook takes in the quote currency on sells are not measured yet)" ], "safe_block": 100405028 }}What this tells you
tokens_launched: 387360,graduated: 338. In 24 hours:launches_24h: 1200,graduated_24h: 1, 7,963 trades by 3,284 traders and $384,200 of volume, $367,578 of it against ETH.fees_usd_24h: $7,407.3 of measured taxes against $2,021.73 of LP fees. On Flap the tax tokens, not the pools, generate most of the fees.history.points: 1,170, 1,241 and 1,078 launches on 2026-10-26, 27 and 28, with 0, 0 and 1 graduations.top_tokens_24h: FabricAI (0xf62bd0bb50ef92ff591c8ff39252f40ad5097777, $168,253 of volume, 4,822 holders), Prism Assets (0x20024e485c0b22b42855589700721b28320a7777, 7,803 holders) and Vellum (0xeb4641bc510277848984ef9539d54ba05ebd7777), all graduated, all quoted in WETH and all ending in7777: tax tokens.contracts.launch_contractslists the Portal;since_block: 4227932is the first Flap launch.
The newest Flap.sh tokens
Which Flap.sh tokens were just launched?
curl "https://api.crius.sh/v1/robinhood/tokens?list=new&launchpad=flap&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/tokens?list=new&launchpad=flap&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/tokens?list=new&launchpad=flap&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 281 lines (arrays trimmed)
{ "data": [ { "address": "0x294839975724eb79b21f96e900d5a66cf9077777", "buy_volume_usd": { "1h": 0.000572389, "24h": 0.000572389, "5m": 0.000572389, "6h": 0.000572389 }, "buyers": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "buys": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "change_pct": { "1h": -9.99999, "24h": -9.99999, "5m": -9.99999, "6h": -9.99999 }, "created_block": 100409279, "created_ts": 1793225332900, "decimals": 18, "fdv_usd": 4083.1, "holders": 2, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/Clowntrenches/status/2115566171936186372", "website": "https://dex.coinmarketcap.com/token/robinhood/0x294839975724eb79B21F96e900d5a66CF9077777" }, "liquidity_usd": 0.0010303, "logo": "https://api.crius.sh/v1/robinhood/logo/0x294839975724eb79b21f96e900d5a66cf9077777.png?size=128", "market_cap_usd": 4083.1, "name": "Shortinu", "price_eth": 0.00000000173344, "price_usd": 0.0000040831, "progress_pct": null, "quote": "ETH", "sell_volume_usd": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sellers": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sells": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "status": "bonding", "symbol": "SHORTINU", "traders": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "txns": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "volume_usd": { "1h": 0.000572389, "24h": 0.000572389, "5m": 0.000572389, "6h": 0.000572389 } }, { "address": "0xbf2da78c89c4f51f108aa73d8d7a7ea8cd5e7777", "buy_volume_usd": { "1h": 0.000499407, "24h": 0.000499407, "5m": 0.000499407, "6h": 0.000499407 }, "buyers": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "buys": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "change_pct": { "1h": -9.99999, "24h": -9.99999, "5m": -9.99999, "6h": -9.99999 }, "created_block": 100409188, "created_ts": 1793225323800, "decimals": 18, "fdv_usd": 4083.1, "holders": 2, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": null, "website": "https://dex.coinmarketcap.com/token/robinhood/0xbf2Da78C89c4F51f108aA73D8D7a7Ea8cd5e7777" }, "liquidity_usd": 0.000898932, "logo": "https://api.crius.sh/v1/robinhood/logo/0xbf2da78c89c4f51f108aa73d8d7a7ea8cd5e7777.png?size=128", "market_cap_usd": 4083.1, "name": "United Dividend Trust Fund UDTF", "price_eth": 0.00000000173344, "price_usd": 0.0000040831, "progress_pct": null, "quote": "ETH", "sell_volume_usd": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sellers": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sells": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "status": "bonding", "symbol": "UDFT", "traders": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "txns": { "1h": 1, "24h": 1, "5m": 1, "6h": 1 }, "volume_usd": { "1h": 0.000499407, "24h": 0.000499407, "5m": 0.000499407, "6h": 0.000499407 } }, { "address": "0x60f5b9533d0382bcbb7112d078c9c38bff1a8888", "buy_volume_usd": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "buyers": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "buys": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "change_pct": { "1h": null, "24h": null, "5m": null, "6h": null }, "created_block": 100408594, "created_ts": 1793225265400, "decimals": 18, "fdv_usd": null, "holders": 1, "launchpad": "flap", "launchpad_name": "Flap.sh", "links": { "discord": null, "farcaster": null, "github": null, "telegram": null, "twitter": "https://x.com/pumpstartio/status/2115566079661814213?a=PvQcqggPw9F8HIStrE8&s=20", "website": null }, "liquidity_usd": 0, "logo": "https://api.crius.sh/v1/robinhood/logo/0x60f5b9533d0382bcbb7112d078c9c38bff1a8888.png?size=128", "market_cap_usd": null, "name": "we are all cooked", "price_eth": null, "price_usd": null, "progress_pct": null, "quote": null, "sell_volume_usd": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sellers": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "sells": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "status": "bonding", "symbol": "NEW PROX LAUNCH", "traders": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "txns": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 }, "volume_usd": { "1h": 0, "24h": 0, "5m": 0, "6h": 0 } } ], "meta": { "block": 100409896, "block_age_ms": 751, "block_ts": 1793225395000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 161, "list": "new", "next_cursor": "3", "safe_block": 100405028, "stats_since": "chain_start", "window": "24h" }}What this tells you
- Shortinu (
0x294839975724eb79b21f96e900d5a66cf9077777) and United Dividend Trust Fund (0xbf2da78c89c4f51f108aa73d8d7a7ea8cd5e7777) are tax tokens (7777). Each has one buy of a fraction of a cent andmarket_cap_usd: 4083.1: the price at the bottom of the default ETH curve. - “we are all cooked” (
0x60f5b9533d0382bcbb7112d078c9c38bff1a8888) is a non-tax token (8888) with no trades yet:price_usd: null,holders: 1. - All three have
status: "bonding"andprogress_pct: null.
For one token, /token/{address}/launch (Free plan) returns the launchpad, factory, creator, quote token, launch transaction and block, status, graduated_block and the token’s pools. The measured buy and sell tax of a tax token is in the anonymous /security call.
Use it in your app
-
Filter the firehose.
list=new&launchpad=flap&min_liquidity_usd=500drops the hundreds of daily launches that never get a buyer. -
Check the tax before you buy. A
7777address means a tax token./securityreturns the tax buyers actually paid (tax.source: "realized") and whether the owner can change it. -
Expect slow graduations. The median Flap graduation took 8,533 blocks, and fewer than 1 in 1,000 tokens get there.
list=graduated&launchpad=flapshows the ones that did. -
Ignore the mirror pairs. If you also read chain data yourself, leave pairs from
0x0d1ebb179cdbca88d74c923c4255cb2b17474afdout of volume and liquidity; Crius already does.
# New Flap.sh tokens with some liquidity, flagged by token type.import requests
rows = requests.get( "https://api.crius.sh/v1/robinhood/tokens", params={"list": "new", "launchpad": "flap", "min_liquidity_usd": 500, "limit": 50}, timeout=10,).json()["data"]for t in rows: kind = "tax" if t["address"].endswith("7777") else "non-tax" if t["address"].endswith("8888") else "?" print(f"{t['symbol']:<12} {kind:<8} {t['address']} liq ${t['liquidity_usd']:,.0f} holders {t['holders']} quote {t['quote']}")Frequently asked questions
How do I track new Flap.sh tokens on Robinhood Chain?
Poll GET https://api.crius.sh/v1/robinhood/tokens?list=new&launchpad=flap, or subscribe to launches:flap on the WebSocket stream. About 1,200 Flap tokens launch a day, so add min_liquidity_usd to skip the ones nobody buys.
What is the Flap.sh contract address on Robinhood Chain?
Every Flap launch, trade and graduation goes through the Flap Portal, 0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09. Tax tokens are clones of 0x7777c8743c88b3aff3cf262135bef2c8b2e83333 (addresses ending in 7777), non-tax tokens clones of 0x88882688a067fe97e11c2185b996286e53132222 (ending in 8888).
When does a Flap.sh token graduate?
When its curve sells through to 800 million tokens in circulation. On the default ETH curve that is 5 ETH raised; the Portal then adds 200 million tokens and the raised quote to a Uniswap v2 pair and burns the LP tokens. Only 338 of 387,360 Flap tokens had graduated when the samples were captured.
Why do Flap.sh tokens show up twice on some chart sites?
Flap creates a display-only Uniswap v2-style pair for each token on 0x0d1ebb179cdbca88d74c923c4255cb2b17474afd. Those pairs repeat every curve trade as a swap but move no tokens. Crius doesn't index them, so Flap volume and liquidity on Crius are counted once.
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