> For the complete documentation index, see [llms.txt](https://realmtrade.gitbook.io/realm-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realmtrade.gitbook.io/realm-documentation/basics/fee-structure.md).

# Fee Structure

A structure that benefits all market participants.

Every fee on Realm reaches creators in the currency the token trades against: **ETH** on an ETH-paired pool, or the quote token (for example a tokenized stock) on an ERC20-quoted pool. Creators never receive fees in their own token, so there is nothing to dump on the chart.

This page describes the default, [direct-launch](/realm-documentation/basics/direct-launch.md) Uniswap V4 tokens. Tokens launched on the bonding curve, which exists to support Uniswap V2, have their own fees, covered in [Uniswap V2 tokens](#uniswap-v2-bonding-curve-tokens) at the end.

| Fee Type                | Amount                                            | Recipient(s)                                                 | Received as                              |
| ----------------------- | ------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------- |
| Launch Fee              | Free (gas only)                                   | -                                                            | -                                        |
| Uniswap V4 LP Fee       | <p>1% or 0.5%<br>on buys and sells</p>            | 70% Creator / 30% Treasury                                   | <p>ETH or quote token<br>(claimable)</p> |
| Buy/sell tax (optional) | <p>Up to 4–4.5%<br>duration chosen by creator</p> | <p>100% Creator<br>(splittable, see Earnings allocation)</p> | <p>ETH or quote token<br>(claimable)</p> |
| Tax decay (optional)    | <p>Up to 20% combined<br>max 20 minutes</p>       | 100% Creator                                                 | <p>ETH or quote token<br>(claimable)</p> |

{% hint style="info" %}
Creators earn from the **first trade**: 70% of the LP fee on every buy and sell, from the block the token is created. There is no launch fee, no curve fee and no graduation fee.
{% endhint %}

### How LP fees are accrued

The LP fee is the pool's native Uniswap V4 fee tier, charged on every buy and sell. The creator picks the tier at launch:

* **1%** — the default
* **0.5%** — a lighter option for tokens that want tighter spreads

Realm's hooks (`RealmHook` for ETH-paired pools, `RealmHookAnyPair` for ERC20-quoted pools) only charge taxes; they never add an LP fee on top.

The token's own liquidity, the seed positions and any [liquidity walls](#earnings-allocation), is held forever by `RealmLpLocker` and earns the fee like any Uniswap position. Anyone can call `collect` on the locker to harvest it into `SwapLpFeeRouter`, which splits it.

Uniswap charges the fee on a swap's input, so buys pay it in the quote and sells pay it in the token. Fees collected in the token are never paid out as tokens: they wait in the router until Realm's keepers sell them for the quote, which then takes the usual split, or burn them.

Because the fee is native, anyone else who adds liquidity to a Realm V4 pool earns it too, on their own position, pro rata to their in-range liquidity.

### LP fee split

Every LP fee earned by the locked positions is split **70% to the creator, 30% to the Treasury**, by the `SwapLpFeeRouter` contract. The split is flat: it does not depend on the token's marketcap or on the trade size.

The split affects only who receives the fee, never what a trader pays: the 1% / 0.5% rate a token launches with is stored on the token and can never be raised.

{% hint style="info" %}
The LP split is not stored on the token. `SwapLpFeeRouter` is an upgradeable contract, so Realm can change how the LP fee is divided for every pool routed through it. It can never change the rate traders pay, which is the pool's fee tier, nor send the creator's share anywhere but the token.
{% endhint %}

### Tax collection

Creators can optionally enable a buy/sell tax. Taxes accrue **100% to the creator**, in the pool's quote currency, and are claimed from the profile page. A creator may instead route part of them to burn, dividends or liquidity — see [Earnings allocation](#earnings-allocation). Buy and sell taxes are configured independently.

**Caps.** The tax is bounded together with the LP fee, so the two combined never exceed **5% per direction**:

| LP fee | Max tax per side |
| ------ | ---------------- |
| 1%     | **4%**           |
| 0.5%   | **4.5%**         |

**Duration.** The creator chooses how long the tax lasts, up to effectively forever. There is no 14-day ceiling — 14 days is simply the default the interface suggests. The clock starts at launch.

### Tax decay (anti-sniper)

Separately from the settled tax, creators can start the token with a much higher tax that **decays linearly to the settled rate**. This makes the first minutes expensive for snipers without burdening the token long-term.

* Combined buy + sell starting tax: up to **20%**
* Decay duration: up to **20 minutes**
* Each side's starting tax must be higher than its settled tax
* The effective rate on any trade is whichever is higher — the decaying tax or the settled tax

Decay tax also accrues 100% to the creator. See [Launch Protections](/realm-documentation/basics/launch-protections.md).

### Earnings allocation

By default, everything a creator earns goes to the fee receivers set at launch. A creator can instead **split their earnings across on-chain buckets**, chosen at launch and fixed for the token's lifetime:

| Bucket        | What it does                                                                           |
| ------------- | -------------------------------------------------------------------------------------- |
| **Creators**  | Paid to the fee receivers, claimable as usual. Takes whatever the other buckets leave. |
| **Burn**      | Buys the token back off the market and burns it, reducing supply.                      |
| **Liquidity** | Adds quote-only liquidity just below the price (a bid wall), locked forever.           |
| **Dividends** | Paid out to every holder, in up to three assets the creator picks at launch.           |

{% hint style="info" %}
Earnings allocation and dividends rely on Realm's swapper (`RealmSwapper`) and keepers, which are deployed on **Robinhood Chain** only.
{% endhint %}

The split applies to everything the creator earns: their share of the LP fee plus any taxes. No tax is needed — the creator's 70% of the LP fee is a permanent earnings stream, so an allocation works even with no tax at all.

Each bucket sets its share aside on every accrual, and Realm's keepers settle it later in a separate transaction rather than on every trade, which keeps swap gas low.

Liquidity walls sit on a fixed grid of price ranges, each about a 50% price drop wide. Every add tops up the wall in the range just below the current price, or opens it. Walls earn the LP fee like the seed positions. On an ERC20-quoted pool, each share is kept in that pool's quote token until it is settled. Like every other launch parameter, the split is chosen at creation and can never be changed afterwards — not by the creator, not by Realm.

### Dividends

A dividend-paying token pays in **one to three assets**, chosen at launch and permanent: the chain's native currency, the token itself, or any ERC20 the token can buy through a Uniswap route — tokenized equities included. The creator provides the route at launch, unless Realm already routes that asset; creation reverts if an asset that needs a swap has no route. Likewise, on a direct launch, each ERC20 quote whose dividend share must be swapped needs a Uniswap V4 route back to ETH. On a direct launch, the quote token of one of its pools can also be a payout asset: earnings from that pool are paid out as they are, with no swap. Each asset gets a share of the dividends bucket, and the shares add up to 100%.

Paying in the token itself only works on its own — it cannot be combined with other assets.

**How holders earn.** Each distribution is split pro rata across every holder's balance **at the moment it lands**. There are no rounds, no minimum balance and nothing to register for. Holding longer does not earn more per distribution; it means being there for more distributions. Liquidity pools, the launchpad, Realm's fee router and the dead address are excluded, so their balances never dilute holders. Tokens locked in [creator vaults](/realm-documentation/basics/creator-vaults.md) are not excluded.

**When distributions happen.** Realm's keepers convert the dividends bucket into the payout assets and distribute it, rather than trades triggering it. There is no fixed minimum: keepers convert a bucket once it is worth the gas, so a smaller share, which fills its bucket more slowly, tends to pay out less often. A large bucket on a thin route can be converted in slices. Realm can also open every keeper call to anyone, should its keepers stop.

**Receiving payouts.** Keepers push distributions to holders directly. Anyone left out of a push, or who doesn't want to wait, can claim their full balance from the token page at any time. A payout that fails to deliver is never lost: it stays claimable.

**Keeper fee.** Each time native currency is converted into a payout ERC20, the keeper is paid a flat fee (0.0001 ETH on Robinhood Chain, never more than 20% of the conversion), taken from the amount being converted. Payouts in native currency, or in the token itself, pay no keeper fee.

{% hint style="warning" %}
The payout assets can never be changed. Their routes can: if a route's liquidity moves or disappears, Realm's admins can repoint it, for one token or for every token paying that asset. Until then, earnings waiting to be converted stay in the token, whole, for the holders; nothing is swept to the Treasury. If Realm retires an asset (for example an Arcus pToken its issuer winds down), its waiting share is paid to holders in the currency it was earned in instead. Dividends already credited to holders are never taken.
{% endhint %}

{% hint style="warning" %}
Every payout asset is a separate balance that the token settles for both sides of every transfer, and holders pay the gas for it. Each extra asset makes every transfer, buy and sell of the token somewhat more expensive, forever.
{% endhint %}

### Claiming

All creator earnings — LP fees and taxes, plus curve fees and graduation compensation on Uniswap V2 tokens — accumulate in `RealmMasterFeeHandler`, a single contract shared by every Realm token that keeps separate balances per token and per currency. Fee receivers claim from their profile page. Earnings in an ERC20 quote token are claimed in that token.

A token's fees can be split across up to **32 recipients** with configurable shares, set at launch and later rebalanced by the token owner or a Realm admin. A recipient can also opt into **direct payouts**: their share is forwarded automatically on every accrual instead of waiting to be claimed. At launch, one recipient can be direct.

Any share routed to burn, liquidity or dividends by an [earnings allocation](#earnings-allocation) never reaches the fee handler and is therefore not claimable by the creator.

### Where the Treasury share goes

Realm's Treasury is the `RealmTreasuryRouter` contract, which sends **one third of the ETH it receives to REALM voting** and two thirds to the team multisig. Treasury fees received in an ERC20 are either sent to the multisig as they are, or converted to ETH and then split the same way.

**REALM voting** runs in fixed-length rounds. Holders of the REALM token burn it to vote for any token, one vote per REALM burned, and the most-voted token wins the round. Realm then uses that round's ETH to buy the winning token.

### Uniswap V2 (bonding-curve) tokens

{% hint style="info" %}
This section applies only to tokens launched on the bonding curve, which graduate to Uniswap V2. It does not affect Uniswap V4 direct-launch tokens.
{% endhint %}

Bonding-curve tokens trade in ETH only and have a different fee model:

| Phase            | Fee Type                     | Amount         | Recipient(s)                                    |
| ---------------- | ---------------------------- | -------------- | ----------------------------------------------- |
| Bonding curve    | Trading fee (buy & sell)     | 1%             | 70% Creator / 30% Treasury                      |
| Graduation       | Graduation fee               | 0.25 ETH total | 0.175 Creator / 0.07 Treasury / 0.005 triggerer |
| After graduation | Uniswap V2 LP fee (external) | 0.3%           | Locked in the LP pair                           |

* **Curve fee.** A flat 1% on every buy and sell on the curve, split 70/30, fixed at creation. Creators earn it from the first trade.
* **Graduation fee.** 0.25 ETH, taken from the ETH collected on the curve. The graduating buyer receives 0.005 ETH to offset the gas of deploying the Uniswap V2 pair. The creator's 0.175 ETH accrues and is claimed with the rest of their fees.
* **No LP fee after graduation.** Traders pay Uniswap's native 0.3%, which stays in the locked pair and is claimable by nobody.
* **Taxes.** Up to **5%** per side, since there is no LP fee. The clock starts either at launch (taxing curve trades too) or at graduation. On a token taxed from launch, the 1% curve fee applies on top while it is on the curve, so a trader can transiently pay up to 6%.
* **Earnings allocation.** Applies to post-graduation earnings only, and requires a long-term tax, since the tax is a V2 token's only earnings after graduation. Curve fees, the graduation fee and any tax charged before graduation always go entirely to the fee receivers.
