Get a Robinhood Chain token's fees, taxes and creator rewards
See every fee paid around a Robinhood Chain token (gas, LP, hook, creator tax, curve, token tax), who receives it and what is still unclaimed. Real response.
Call GET /v1/robinhood/token/{address}/fees?window=24h (1h, 24h, 7d or all). totals_usd adds up gas, LP fees, hook fees, creator tax, bonding-curve fees and token tax; by_pool splits them per pool; for Pons tokens launchpad, receivers and claims show the creator's fee wallet, pending fees and sweeps. Starter plan, 5 credits.
Every trade of a Robinhood Chain token pays someone: the network (gas), liquidity providers (LP fees), the launchpad (curve and hook fees), the creator (creator tax) and sometimes the token itself (a transfer tax). The fees endpoint adds all of it up for one token over a window, splits it per pool, and for Pons tokens shows who receives the creator and protocol shares, what is waiting to be swept, and the sweeps that already happened.
Get a token’s fees in one call
Charge AI: 2% creator tax and 1% hook fee on a graduated Pons token
What fees did Charge AI (0x7b8892cea949bc60d494681d1bc3ea96071ab0b8) pay in the last 24 hours, and who gets them?
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/fees" \ -H "x-api-key: $CRIUS_API_KEY"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/fees", { 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/fees", 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": { "by_pool": [ { "dex": "uniswap_v4", "lp_usd": 0, "pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913", "token_tax_usd": 0, "volume_usd": 5.92732 } ], "claims": [], "launchpad": { "bonding_curve": { "fee_a": 0, "fee_a_usd": 0, "fee_b": 0, "fee_b_usd": 0 }, "creator_tax_usd": 0.119245, "hook_fee_usd": 0.0596227, "pending": { "buyback": "0", "creator_tax": "1037358686757100", "fees": "518679343378549" }, "swept_usd": { "buyback": 0, "creator": 0, "protocol": 0 } }, "receivers": [ { "address": "0x14a6f00bad1f4e21e2af4e317383c3d550378996", "creator_tax_bps": 200, "role": "creator_fee_recipient" }, { "address": "0x31ea5b453a6cd60f36203830de046ff32dec2cdb", "role": "launchpad_protocol", "share_bps": 3000 }, { "address": "0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e", "role": "launchpad_fee_escrow" } ], "totals_usd": { "bonding_curve": 0, "creator": 0.119245, "gas": 0.0365916, "hook": 0.0596227, "lp": 0, "token_tax": 0, "total": 0.21546, "uniswap_protocol": null }, "window": "24h" }, "meta": { "block": 100406855, "block_age_ms": 1148, "block_ts": 1793225083000, "chain": "robinhood", "finalized_block": 100397649, "lag_ms": 7, "notes": [ "USD at the current ETH price", "uniswap_protocol: protocol fee switch not indexed yet (null)" ], "safe_block": 100401329 }}What this tells you
window: "24h"(the default). Charge AI traded $5.93 in that window, all in its v4 pool (by_pool[0].volume_usd: 5.92732). It’s a quiet token, which makes the arithmetic easy to check.totals_usd.creator: 0.119245is 2.01% of that volume andtotals_usd.hook: 0.0596227is 1.01%: the token’s 200 bps creator tax and 100 bps hook fee.totals_usd.lp: 0: the swaps paid no LP fee; the launchpad’s cut comes through the hook instead.token_tax: 0: the token contract itself takes no transfer tax.totals_usd.gas: 0.0365916: what traders paid the network for these trades.total: 0.21546is the sum.launchpad.pending.creator_tax: "1037358686757100"is in wei of the quote currency: 0.00104 ETH of creator tax collected by the hook and not yet swept.swept_usdandclaimsare empty: no sweep in this window.receivers: the creator tax goes to0x14a6f00bad1f4e21e2af4e317383c3d550378996(creator_fee_recipient), not to the creator who launched the token (0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca). The launchpad protocol (0x31ea5b453a6cd60f36203830de046ff32dec2cdb) hasshare_bps: 3000, and fees wait in the Pons fee escrow0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e.totals_usd.uniswap_protocolisnull: the Uniswap protocol fee switch isn’t indexed yet (meta.notes).
What each total means
| Field | What it counts |
|---|---|
totals_usd.gas | Gas (L2 execution and L1 data) paid by the transactions that traded the token |
totals_usd.lp | LP fees at each pool's fee tier; on Uniswap v4, each swap's own fee |
totals_usd.hook | Pons hook fees (HookFeeCollected fee amounts) |
totals_usd.creator | Pons creator tax collected by the hook |
totals_usd.bonding_curve | Fees charged on the launchpad's bonding curve: launchpad.bonding_curve.fee_a and fee_b, in the quote currency and USD |
totals_usd.token_tax | Transfer tax taken by the token contract, measured from real trades |
totals_usd.uniswap_protocol | Uniswap protocol fees; null until indexed |
by_pool[] | Per pool: pool, dex, volume_usd, lp_usd, token_tax_usd |
launchpad.pending | Fees the Pons hook holds for the pool and hasn't swept yet, as raw integer strings: fees, creator_tax, buyback |
launchpad.swept_usd, claims[] | Sweeps in the window, split into protocol, buyback and creator |
USD values use the current ETH price, not the price at the time of each trade.
Where the rates come from
The rates behind those totals are part of the launch. For a Pons token, the fees block of /token/{address}/launch (Free plan) reads them live from the Pons contracts. For Charge AI (the launch sample):
| Field | Charge AI | Meaning |
|---|---|---|
creator_tax_bps | 200 | 2% creator tax on hook pool swaps, paid to creator_fee_recipient |
hook_fee_bps | 100 | 1% hook fee on the same swaps |
protocol_fee_share_bps | 3000 | The Pons protocol's share (30%), paid to protocol_fee_recipient 0x31ea5b453a6cd60f36203830de046ff32dec2cdb |
buyback_enabled | false | No buyback for this token (buyback_burn_bps: 5000 is configured, buyback vault 0x42df2a798f82289e177311362e8f5ccc45c1219c) |
snipe_tax.start_bps, snipe_tax.window_s | 9900, 3 | A snipe tax starting at 99% for the first 3 seconds of trading |
pending.creator_tax, pending.fees | 0.0010373586867571, 0.000518679343378549 | The same pending amounts as /fees, in ETH |
Other launchpads charge differently. Their fees reach /fees as LP fees, measured taxes and curve fees:
- Flap.sh: a 1% fee on curve buys and sells (
bonding_curve.fee_a); tax tokens add a buy and sell tax set at launch, charged on the curve too. See Flap.sh. - King of the Markets: a 1% base fee on curve and pool trades, 30% of it to the creator (
fee_a) and 70% to the protocol (fee_b), plus an optional creator tax of up to 5%. See King of the Markets. - Flywheel: a 4% hook tax on every swap, split into holder rewards, burn, locked liquidity and platform. See Flywheel.
- Bankr: a 0.7% pool fee, 95% of it to the creator, plus a hook fee. See Bankr.
Use it in your app
-
Pick the window.
24hfor a live dashboard,7dfor a weekly report,allfor a creator’s lifetime earnings.allis served from running totals, so it’s fast even for busy tokens. -
Show the effective rate, not only the dollars. Divide each total by the summed
by_pool[].volume_usd; that is what a trader really pays, and it should match the configured bps. -
Follow the fee recipient. To see what a developer earned across launches, take
receivers[].addresswhereroleiscreator_fee_recipientand look it up with the developer profile. -
Convert pending amounts yourself.
launchpad.pendingvalues are raw integers in the quote currency’s smallest unit (wei for ETH).
// Effective fee rates for one token over 7 days (Starter plan key).const token = "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8";const res = await fetch(`https://api.crius.sh/v1/robinhood/token/${token}/fees?window=7d`, { headers: { "x-api-key": process.env.CRIUS_API_KEY },});const { data } = await res.json();const volume = data.by_pool.reduce((s, p) => s + p.volume_usd, 0);const pct = (x) => (volume > 0 && x != null ? ((x / volume) * 100).toFixed(2) + "%" : "n/a");console.log(`volume $${volume.toFixed(2)}`);for (const k of ["creator", "hook", "lp", "bonding_curve", "token_tax", "gas"]) { console.log(`${k.padEnd(14)} $${(data.totals_usd[k] ?? 0).toFixed(4)} ${pct(data.totals_usd[k])}`);}const creator = data.receivers.find((r) => r.role === "creator_fee_recipient");if (creator?.address) console.log(`creator fees go to ${creator.address}`);Frequently asked questions
How do I see how much a Robinhood Chain token's creator has earned?
Call GET /v1/robinhood/token/{address}/fees?window=all. totals_usd.creator is the creator tax paid on the token's trades in the window, launchpad.pending.creator_tax what is still waiting to be swept, and claims the sweeps that already happened. The creator's fee wallet is the receivers entry with role: "creator_fee_recipient".
What is the Pons creator fee?
Charge AI, the sample token, pays a 2% creator tax (creator_tax_bps: 200) and a 1% hook fee (hook_fee_bps: 100) on its v4 pool swaps. The measured fees match: $0.119 of creator tax and $0.060 of hook fees on $5.93 of volume. Read a token's own rates from the fees block of /token/{address}/launch.
Why is the creator fee recipient different from the token's creator?
The wallet that launched a Pons token and the wallet that collects its creator tax are set separately. For Charge AI the creator is 0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca and the fee recipient is 0x14a6f00bad1f4e21e2af4e317383c3d550378996. When you study a developer's earnings, follow the fee recipient.
Does /fees work for tokens that aren't from Pons?
Yes. Gas, LP fees, measured token tax and bonding-curve fees are reported for any token, per pool. The launchpad, receivers and claims sections are read from Pons's contracts, so they describe Pons tokens.
What plan does the fees endpoint need?
Starter or above, 5 credits per call. The token's fee configuration (/token/{address}/launch) is on the Free plan, and measured buy and sell taxes are in the anonymous /security call. See Plans, limits & credits.
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