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

Source: https://docs.crius.sh/guides/get-token-fees-and-creator-rewards/ · Updated 2026-10-28

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.

[GET `/token/{address}/fees`](https://docs.crius.sh/reference/launchpads/fees-claims/) [GET `/token/{address}/launch`](https://docs.crius.sh/reference/launchpads/launch-lifecycle/)

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

Example [Starter plan · 5 credits](https://docs.crius.sh/reference/launchpads/fees-claims/)

### 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**

```bash
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/fees" \
  -H "x-api-key: $CRIUS_API_KEY"
```

**JavaScript**

```js
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();
```

**Python**

```python
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)**

```json
{
  "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`).

[Fees & claims reference](https://docs.crius.sh/reference/launchpads/fees-claims/) [Data looks wrong? Report it](mailto:support@crius.sh?subject=Wrong%20data%20in%20docs%20example%3A%20Charge%20AI%3A%202%25%20creator%20tax%20and%201%25%20hook%20fee%20on%20a%20graduated%20Pons%20token&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Fguides%2Fget-token-fees-and-creator-rewards%2F%23pons-fees%0ARequest%3A%20GET%20%2Fv1%2Frobinhood%2Ftoken%2F0x7b8892cea949bc60d494681d1bc3ea96071ab0b8%2Ffees%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)

## 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`](https://docs.crius.sh/reference/launchpads/launch-lifecycle/) (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](https://docs.crius.sh/launchpads/flap/).
-   **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](https://docs.crius.sh/launchpads/standard-reserve/).
-   **Flywheel**: a 4% hook tax on every swap, split into holder rewards, burn, locked liquidity and platform. See [Flywheel](https://docs.crius.sh/launchpads/flywheel/).
-   **Bankr**: a 0.7% pool fee, 95% of it to the creator, plus a hook fee. See [Bankr](https://docs.crius.sh/launchpads/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](https://docs.crius.sh/reference/wallets/developer-profile/).
    
4.  **Convert pending amounts yourself.** `launchpad.pending` values are raw integers in the quote currency’s smallest unit (wei for ETH).
    

```js
// 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}`);
```

Taxes without a paid plan

If you only need what buyers and sellers pay, the anonymous [`/security`](https://docs.crius.sh/guides/check-token-taxes/) call returns the measured `tax.buy_pct` and `tax.sell_pct` for any token. `/fees` is for who receives the money.

## 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](https://docs.crius.sh/plans-and-limits/).

## Related

[Guide **Check token taxes** Get the real buy and sell tax of any Robinhood Chain token in one call, measured from recent trades and checked by simulation. Real examples with a 5% sell tax and a 7% buy tax. Read](https://docs.crius.sh/guides/check-token-taxes/) [Launchpad **Pons** Pons v2 launchpad API for Robinhood Chain: launches, curve progress, graduations and fees, plus every contract (PonsV2LaunchFactory, PonsV2MemeHook, locker). Read](https://docs.crius.sh/launchpads/pons/) [Guide **Get launchpad stats** Launches, graduations, graduation rate, time to graduate, volume, traders and fees for every Robinhood Chain launchpad, with daily history. Real responses. Read](https://docs.crius.sh/guides/get-launchpad-stats/) [API reference **Fees & claims API** Fees paid around a token over a window: gas (L2 and L1), LP fees, Uniswap protocol fees, hook fees and taxes, launchpad and creator fees and token tax, plus who claimed them and where they went. Read](https://docs.crius.sh/reference/launchpads/fees-claims/) [API reference **Launch lifecycle API** A launchpad token's lifecycle: creator, curve, bonding progress, raised amount, graduation block and the pool it graduated into. Read](https://docs.crius.sh/reference/launchpads/launch-lifecycle/) [Docs **Plans, limits & credits** Crius API plans (Free, Starter, Pro, Business, Enterprise), monthly credits, requests per second, WebSocket limits, credit cost per endpoint and the rate-limit response headers. Read](https://docs.crius.sh/plans-and-limits/)
