Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Raydium fees are split between liquidity providers, RAY buybacks, and treasury destinations. Fee split percentages are percentages of the trading fee, not percentages of the full trade amount.
Fee types
Raydium has four user-facing fee categories.
| Fee type | When it applies | What it pays for |
|---|
| Swap fee | Every swap | LP earnings, RAY buybacks, and treasury share |
| Pool creation fee | When creating CPMM or Standard AMM v4 pools | Spam prevention and protocol infrastructure |
| Rent | When creating pools, positions, farms, or token accounts | Solana account storage |
| LaunchLab fees | During token launches and graduation | LaunchLab creator and protocol fee flow |
Rent is paid to create Solana accounts. It is separate from Raydium protocol fees.
Trading-fee split
| Pool type | LP share | RAY buyback | Treasury |
|---|
| CLMM | 84% | 12% | 4% |
| CPMM | 84% | 12% | 4% |
| Standard AMM v4 | 88% | 12% | — |
These percentages are applied to the pool’s trading fee.
Example for a CLMM or CPMM pool with a 0.25% swap fee:
Swap fee: 0.25% of trade
LP share: 0.25% * 84% = 0.2100% of trade
RAY buyback: 0.25% * 12% = 0.0300% of trade
Treasury share: 0.25% * 4% = 0.0100% of trade
Example for a Standard AMM v4 pool with a 0.25% swap fee:
Swap fee: 0.25% of trade
LP share: 0.25% * 88% = 0.2200% of trade
RAY buyback: 0.25% * 12% = 0.0300% of trade
Swap-fee tiers
| Product | Common fee tiers | Notes |
|---|
| CLMM | 0.01%, 0.05%, 0.25%, 1% | Fee tier is tied to the pool’s AmmConfig. |
| CPMM | 0.01%, 0.25%, 1% | Default user-facing tier is commonly 0.25%. |
| Standard AMM v4 | 0.25% | Legacy constant-product pools. |
| LaunchLab pre-graduation | 1% buy and sell fee | Applies while the token trades on the bonding curve. |
Pool creation fees
Creating a Standard AMM v4 or CPMM pool costs 0.15 SOL in pool creation fees.
| Pool type | Pool creation fee |
|---|
| CPMM | 0.15 SOL |
| Standard AMM v4 | 0.15 SOL |
| CLMM | No separate Raydium pool creation fee; rent still applies |
Pool creation fees are separate from account rent and transaction fees.
Fee denominator conventions
Different Raydium programs encode fee rates with different denominators.
| Product | Denominator | Example |
|---|
| AMM v4 | 10,000 | 25 means 0.25% |
| CPMM | 1,000,000 | 2,500 means 0.25% |
| CLMM | 1,000,000 | 2,500 means 0.25% |
| LaunchLab | 1,000,000 or program-specific config fields | Check LaunchConfig fields before integrating |
This matters when reading raw on-chain accounts or SDK responses. Always normalize rates before comparing products.
How fees accrue
- A trader pays the swap fee as part of the swap.
- The LP share remains in or accrues to the pool’s accounting.
- Buyback and treasury shares accumulate in program fee accounting.
- Collection transactions move those balances to the relevant addresses listed in
ray/treasury.
For LPs, fees are realized differently by product:
- AMM v4 and CPMM: LP fees accumulate in pool reserves and are realized when LP tokens are burned on withdrawal.
- CLMM: LP fees accrue per position and can be claimed with the fee-collection flow.
- LaunchLab: launch-specific creator and protocol fees follow LaunchLab configuration.
Token-2022 transfer fees
Token-2022 transfer fees are not Raydium fees.
If a Token-2022 mint has a transfer fee, that fee is paid to the mint’s configured authority. A swap involving Token-2022 tokens may therefore include:
Raydium pool fee + Token-2022 transfer fee
The two fees have different destinations and should be displayed separately in integrations.
Practical pitfalls
- Do not multiply by the wrong base. A 12% buyback share is 12% of the swap fee, not 12% of the trade.
- Normalize denominators. AMM v4 uses a different denominator than CPMM and CLMM.
- Separate protocol fees from network fees. Solana base fees and priority fees are paid to the network, not Raydium.
- Account for Token-2022 fees. Transfer fees can materially change the user’s effective received amount.
- Fetch fresh config. If your integration caches AmmConfig data, refresh before building high-value transactions.
Related pages