CRIUS Docs
API status Get API key
Discovery & launchpads

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.

Updated 3 min read
Short answer

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?

GET/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/fees
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/fees" \
-H "x-api-key: $CRIUS_API_KEY"
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.119245 is 2.01% of that volume and totals_usd.hook: 0.0596227 is 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.21546 is 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_usd and claims are empty: no sweep in this window.
  • receivers: the creator tax goes to 0x14a6f00bad1f4e21e2af4e317383c3d550378996 (creator_fee_recipient), not to the creator who launched the token (0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca). The launchpad protocol (0x31ea5b453a6cd60f36203830de046ff32dec2cdb) has share_bps: 3000, and fees wait in the Pons fee escrow 0xd3afeb2a57f70ef218aa82451c51b2fb0416ac9e.
  • totals_usd.uniswap_protocol is null: the Uniswap protocol fee switch isn’t indexed yet (meta.notes).

What each total means

FieldWhat it counts
totals_usd.gasGas (L2 execution and L1 data) paid by the transactions that traded the token
totals_usd.lpLP fees at each pool's fee tier; on Uniswap v4, each swap's own fee
totals_usd.hookPons hook fees (HookFeeCollected fee amounts)
totals_usd.creatorPons creator tax collected by the hook
totals_usd.bonding_curveFees charged on the launchpad's bonding curve: launchpad.bonding_curve.fee_a and fee_b, in the quote currency and USD
totals_usd.token_taxTransfer tax taken by the token contract, measured from real trades
totals_usd.uniswap_protocolUniswap protocol fees; null until indexed
by_pool[]Per pool: pool, dex, volume_usd, lp_usd, token_tax_usd
launchpad.pendingFees 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):

FieldCharge AIMeaning
creator_tax_bps2002% creator tax on hook pool swaps, paid to creator_fee_recipient
hook_fee_bps1001% hook fee on the same swaps
protocol_fee_share_bps3000The Pons protocol's share (30%), paid to protocol_fee_recipient 0x31ea5b453a6cd60f36203830de046ff32dec2cdb
buyback_enabledfalseNo buyback for this token (buyback_burn_bps: 5000 is configured, buyback vault 0x42df2a798f82289e177311362e8f5ccc45c1219c)
snipe_tax.start_bps, snipe_tax.window_s9900, 3A snipe tax starting at 99% for the first 3 seconds of trading
pending.creator_tax, pending.fees0.0010373586867571, 0.000518679343378549The 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

  1. Pick the window. 24h for a live dashboard, 7d for a weekly report, all for a creator’s lifetime earnings. all is served from running totals, so it’s fast even for busy tokens.

  2. 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.

  3. Follow the fee recipient. To see what a developer earned across launches, take receivers[].address where role is creator_fee_recipient and look it up with the developer profile.

  4. Convert pending amounts yourself. launchpad.pending values 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.

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