How to Monitor Launchpad Creator Fees and Revenue
Measure what Robinhood Chain launchpad creators earn: hook fees, creator tax, sweeps and pending balances per token and per creator, with Pons examples.
Crius 9 min read
Short answer: GET /v1/robinhood/token/{address}/fees?window=all returns everything traders paid around a launchpad token (hook fee, creator tax, bonding-curve fees, LP fees, token tax and gas), how much the launchpad has already swept to the creator and the protocol, what is still pending, and who the receivers are. To see a creator’s total revenue, list their tokens with GET /v1/robinhood/dev/{address} and sum the fees of each.
Launchpad fees are where most creator income on Robinhood Chain comes from, and they are paid in a way that is easy to misread on a block explorer: fees accrue in an escrow, are swept in batches, and are split between parties by rules set at launch. This guide explains how the money flows on Pons, how to read the Crius fee data, and how to build a creator revenue monitor. All numbers are from Robinhood Chain mainnet in October 2026, valued at the ETH price at time of writing.
How fees flow on Pons
A Pons token’s fee settings are fixed at launch and readable from the chain. GET /token/{address}/launch returns them; for a typical graduated token:
"fees": { "hook_fee_bps": 100, "protocol_fee_share_bps": 3000, "creator_tax_bps": 180, "creator_fee_recipient": "0x82a563be78c579cf0e9cf9af38b1a1279b2ef936", "protocol_fee_recipient": "0x31ea5b453a6cd60f36203830de046ff32dec2cdb", "escrow": "0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e", "buyback_enabled": false, "buyback_burn_bps": 5000, "snipe_tax": { "start_bps": 9900, "window_s": 3 }}Reading it:
- Hook fee. After graduation, the
PonsV2MemeHooktakes 1% (hook_fee_bps: 100) of every swap in the token’s Uniswap v4 pool. The pool’s own LP fee is 0; the hook takes the fee instead. - Protocol share. 30% of the hook fee (
protocol_fee_share_bps: 3000) belongs to the protocol; the rest is the creator’s. - Creator tax. An optional extra tax the creator chose at launch, here 1.8% (
creator_tax_bps: 180), paid entirely to the creator. Many launches set it to 0. - Escrow and sweeps. Fees accumulate in the launchpad’s fee escrow and are periodically swept: one transaction pays out the accumulated amounts to the creator, the protocol and, when enabled, a buyback.
- Bonding curve fees. While a token is still on its curve, curve trades pay their own fee, reported separately.
The upshot: a creator’s revenue is not the creator tax alone. A token with no creator tax can still earn its creator a great deal through the hook fee, as the creator example below shows.
Reading the fee report for one token
GET /v1/robinhood/token/{address}/fees requires the Starter plan and costs 5 credits. window is 1h, 24h, 7d or all.
curl -s "https://api.crius.sh/v1/robinhood/token/0xdd215018a9c558fcdfb2db56ab4d8c60ddf25491/fees?window=all" \ -H "x-api-key: $CRIUS_API_KEY"The response has five parts. For CONDUCTOR, a Pons token that graduated about 15 hours before writing, trimmed:
{ "window": "all", "totals_usd": { "total": 10408.30, "hook": 2135.90, "creator": 3844.63, "bonding_curve": 1926.87, "token_tax": 2285.06, "lp": 149.55, "gas": 66.34, "uniswap_protocol": null }, "launchpad": { "swept_usd": { "creator": 4399.71, "protocol": 527.97, "buyback": 0 }, "pending": { "creator_tax": "1320633194098255", "fees": "733685107832364", "buyback": "0" } }, "receivers": [ { "role": "creator_fee_recipient", "address": "0x82a563be78c579cf0e9cf9af38b1a1279b2ef936", "creator_tax_bps": 180 }, { "role": "launchpad_protocol", "address": "0x31ea5b453a6cd60f36203830de046ff32dec2cdb", "share_bps": 3000 }, { "role": "launchpad_fee_escrow", "address": "0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e" } ], "claims": [ { "type": "launchpad_fee_sweep", "block": 96689192, "currency": "ETH", "amounts_usd": { "creator": 449.34, "protocol": 53.92, "buyback": 0 } } ], "by_pool": [ { "dex": "uniswap_v4", "pool": "0xa2ea5773…7ab5", "volume_usd": 177935, "token_tax_usd": 2246.18, "lp_usd": 0 }, { "dex": "pons_curve", "pool": "0x875cc05e…d70a", "volume_usd": 68165.2, "token_tax_usd": 2.02, "lp_usd": 0 } ]}And the response notes, which matter for accounting:
"notes": ["USD at the current ETH price", "uniswap_protocol: protocol fee switch not indexed yet (null)"]How to read each part:
totals_usdis what traders paid in the window, by type.hookis the hook fee,creatorthe creator tax,bonding_curvethe curve fees before graduation,lpthe fees earned by liquidity providers in other pools of the same token, andgasthe network fees of the token’s trades.launchpad.swept_usdis what actually left the escrow to each party. For CONDUCTOR the creator has received $4,399.71, more than the $3,844.63 of creator tax alone, because the creator also earns a share of the hook fee. Sweeps lag trading, so swept amounts will not reconcile exactly withtotals_usdat any given moment; treattotals_usdas accrued andswept_usdas paid.launchpad.pendingis what is still sitting in the escrow, as raw wei strings (divide by 10¹⁸ for ETH). Here about 0.00132 ETH of creator tax and 0.00073 ETH of hook fees are waiting for the next sweep.claimslists each sweep with its block and the split. CONDUCTOR had 12 sweeps in its first 15 hours.by_poolshows where the volume and fees came from: the graduated v4 pool, the bonding curve, and any other pools people created for the token.
Two caveats. USD values use the ETH price at request time, not at the time of each fee; for accounting, convert the ETH amounts with your own historical prices. And uniswap_protocol is null because Uniswap’s protocol fee switch is not indexed yet.
Revenue across a creator’s tokens
Creators rarely launch once. GET /v1/robinhood/dev/{address} (Free plan, 5 credits) lists every token a creator launched, with a summary:
"summary": { "tokens_created": 1, "graduated": 1, "graduation_rate_pct": 100, "rugged": 0, "best_ath_market_cap_usd": 97278.5, "by_launchpad": { "pons": 1 }}Combine the two to monitor a creator’s revenue (Node.js 22+):
// creator-revenue.mjs: node creator-revenue.mjs <creator address>const API = "https://api.crius.sh/v1/robinhood";const headers = { "x-api-key": process.env.CRIUS_API_KEY };const get = async (path) => { const r = await fetch(`${API}${path}`, { headers }); if (!r.ok) throw new Error(`${path}: HTTP ${r.status}`); return (await r.json()).data;};
const creator = process.argv[2];const dev = await get(`/dev/${creator}`);let tax = 0, swept = 0;for (const t of dev.tokens) { const f = await get(`/token/${t.address}/fees?window=all`); const lp = f.launchpad ?? {}; const creatorUsd = f.totals_usd?.creator ?? 0; const sweptUsd = lp.swept_usd?.creator ?? 0; const recipient = (f.receivers ?? []).find((r) => r.role === "creator_fee_recipient"); tax += creatorUsd; swept += sweptUsd; console.log(`${t.symbol.padEnd(10)} ${t.status.padEnd(9)} creator tax $${creatorUsd.toFixed(2).padStart(9)}`, `swept $${sweptUsd.toFixed(2).padStart(9)} claims ${(f.claims ?? []).length}`, `creator tax rate ${recipient?.creator_tax_bps ?? 0} bps`);}console.log(`total: creator tax $${tax.toFixed(2)}, swept to creator $${swept.toFixed(2)} across ${dev.tokens.length} tokens`);Real output for one creator with five graduated tokens, all set to a 0% creator tax:
NOVAAI graduated creator tax $ 0.00 swept $122786.00 claims 20 creator tax rate 0 bpsNOVAAI graduated creator tax $ 0.00 swept $ 63.05 claims 16 creator tax rate 0 bpsNOVAAI graduated creator tax $ 0.00 swept $ 70.36 claims 6 creator tax rate 0 bpsNOVAAI graduated creator tax $ 0.00 swept $ 122.90 claims 8 creator tax rate 0 bpsNOVAAI graduated creator tax $ 0.00 swept $ 386.08 claims 20 creator tax rate 0 bpstotal: creator tax $0.00, swept to creator $123428.38 across 5 tokensThis is the hook fee at work: no creator tax at all, yet $123,428 swept to the creator, almost all from one token that found real volume. Another creator we checked, with 42 launches and four graduations, showed the opposite profile: $66,765 of creator tax collected and $90,641 swept in total. Serial launchers earn mostly from tax on many small tokens; a single breakout earns mostly from the hook fee.
Cost: /dev is 5 credits and /fees 5 credits per token, so a 42-token creator costs about 215 credits for a full pass. Cache results and refresh graduated tokens more often than dead ones.
A per-token report in Python
For dashboards or accounting jobs:
"""Fee breakdown for one launchpad token: what traders paid, what was swept to whom, what is still pending."""import os, sys, requests
API = "https://api.crius.sh/v1/robinhood"HEADERS = {"x-api-key": os.environ["CRIUS_API_KEY"]}
def fees(token: str, window: str = "all") -> dict: r = requests.get(f"{API}/token/{token}/fees", params={"window": window}, headers=HEADERS, timeout=30) r.raise_for_status() return r.json()
body = fees(sys.argv[1], sys.argv[2] if len(sys.argv) > 2 else "all")d, notes = body["data"], body["meta"].get("notes", [])t, lp = d["totals_usd"], d.get("launchpad") or {}print(f"window {d['window']} total fees ${t['total']:,.2f}")for k in ("hook", "creator", "bonding_curve", "token_tax", "lp", "gas"): print(f" {k:<14} ${(t.get(k) or 0):>10,.2f}")swept = lp.get("swept_usd", {})print(f"swept to creator ${swept.get('creator', 0):,.2f}, protocol ${swept.get('protocol', 0):,.2f}, buyback ${swept.get('buyback', 0):,.2f}")pending = lp.get("pending", {})print("pending (wei):", {k: v for k, v in pending.items() if v not in (None, "0")})claims = d.get("claims", [])print(f"{len(claims)} sweeps; latest at block {max((c['block'] for c in claims), default='-')}")for n in notes: print("note:", n)window all total fees $10,408.30 hook $ 2,135.90 creator $ 3,844.63 bonding_curve $ 1,926.87 token_tax $ 2,285.06 lp $ 149.55 gas $ 66.34swept to creator $4,399.71, protocol $527.97, buyback $0.00pending (wei): {'creator_tax': '1320633194098255', 'fees': '733685107832364'}12 sweeps; latest at block 96723438note: USD at the current ETH pricenote: uniswap_protocol: protocol fee switch not indexed yet (null)Monitoring sweeps over time
Sweeps are the events creators care about, since they are when money arrives. Two practical patterns:
- Poll and diff. Store the highest
claims[].blockyou have seen per token and call/fees?window=24hevery few minutes; anything with a higher block is a new sweep. Graduated tokens with volume sweep every few hours. - Watch pending. A rising
launchpad.pendingwith no new sweep means fees are accumulating in the escrow.
For the token’s trading activity behind the fees, the DEX trades API and trades:<token> stream show every swap, and the liquidity API shows the pool depth that sustains it.
What this tells you about a token
Fee data is also a signal for traders. A creator tax adds directly to swaps, so a 1.8% tax plus the 1% hook fee can cost up to 2.8% per trade, more than 5% for a buy and a later sell, on top of price impact. Check the tax actually paid on recent trades with /security, see token security, and the creator’s history with /dev before you trade a fresh launch.
FAQ
Who receives Pons creator fees?
The address in receivers with the role creator_fee_recipient, usually the creator’s wallet. It receives the creator tax and the creator’s 70% of the hook fee when the escrow is swept.
Why is swept_usd.creator higher than the creator tax?
Because the creator also earns the non-protocol share of the 1% hook fee. The creator tax is only one of the creator’s income streams, and sweeps arrive in batches, so paid and accrued amounts rarely match exactly.
Are the USD values historical?
No. Fee amounts are converted at the ETH price at request time (see meta.notes). Use the ETH amounts with historical prices for accounting.
Which plan do I need?
The /fees endpoint is on the Starter plan (5 credits per call). /launch and /dev are on the Free plan.
Does this cover launchpads other than Pons? The fee report covers gas, LP fees, hook fees and token tax for any token. Launchpad-specific fields (escrow sweeps, creator tax configuration) are reported where Crius decodes them, which today means Pons.
Related
- Pons API and Launchpads API
- Pons Launchpad API: Track Token Launches and Graduations in Real Time
- Track Pons Bonding Curve Progress With an API
- Wallet analytics API
- Reference: fees & claims, launch lifecycle, developer profile
Sources
- Datawallet: Pons explained (fee split between creator and protocol)
- The Defiant: Robinhood Chain DEX volume hits $1.49 billion as Pons takes two-thirds of launchpad fees
- Fee configuration, sweeps and totals: Crius API on Robinhood Chain (chain id 4663), October 24, 2026.
Build with Crius
Robinhood Chain data in one API
Free plan with 1M credits a month. Your key in under a minute.
More from the blog
- PonsLaunchpads
Track Pons Bonding Curve Progress With an API
Read Pons bonding curve progress on Robinhood Chain, ETH raised versus the 4.2 ETH threshold, in real time; with code for speed, ETA and graduation alerts.
- PonsLaunchpads
Pons Launchpad API: Track Token Launches and Graduations in Real Time
Track every Pons launch on Robinhood Chain in real time: new tokens, bonding curve progress, graduations into Uniswap v4, fees and creator history, with code.
- HoldersAnalytics
Holder analysis on Robinhood Chain: snapshots, diamond hands and bubble maps
How to analyse a token's holders on Robinhood Chain: live concentration, holders at any past block or market cap, wallets that held through a window, and bubble maps of connected wallets.