Skip to main content
This page is a lookup table. Use it to answer “what does a swap on pool X cost?” or “how much SOL do I need to create a CLMM pool?” — without digging through each product’s chapter. For protocol-level fee splits, see ray/protocol-fees.

Swap fees per product

Fee values are percentages of the input amount, applied before pool math.

Fee denominator convention

  • AMM v4: fees are encoded as x/10,000. “25” means 0.25%.
  • CPMM/CLMM: fees are encoded as x/1,000,000. “2500” means 0.25%.
When reading on-chain data directly, use the correct denominator for the pool’s program.
Tiers are on-chain AmmConfig accounts, not source constants — the admin can add more. As of 2026-09-09 mainnet publishes 21 CPMM configs and 21 CLMM configs. Verified trade_fee_rate values:
  • CPMM: 0.005%, 0.03%, 0.25%, 0.3%, 0.35%, 0.4%, 0.5%, 0.7%, 0.75%, 1%, 1.5%, 2%, 2.5%, 4%. There is no 0% tier, and no 0.01% tier either.
  • CLMM: 0.01%, 0.02%, 0.03%, 0.04%, 0.05%, 0.1%, 0.15%, 0.16%, 0.18%, 0.2%, 0.25%, 0.4%, 0.5%, 0.6%, 0.8%, 1%, 2%, 3%, 4% — across tick spacings 1, 10, 60 and 120.
Every one of those 42 configs carries protocol_fee_rate = 120000 (12% of the trade fee) and fund_fee_rate = 40000 (4%), so the LP share is 84% on both products. Enumerate them yourself with getProgramAccounts filtered to the AmmConfig size, or read the API endpoints below.

Protocol fee splits

Within the “protocol” share of each fee, further splits apply: The LP share flows to LP token holders automatically:
  • AMM v4 / CPMM: accumulated in pool reserves, distributed pro-rata on withdrawal.
  • CLMM: accumulated in fee_growth_global_X/Y, claimable via collectFee.

Creation costs

One-time costs paid in SOL to deploy a pool. CLMM tick arrays are not created by CreatePool — each TickArrayState is 10,240 bytes (~0.072 SOL) and is allocated lazily by the first OpenPosition* / IncreaseLiquidity* that touches it, at that caller’s expense. A typical first position therefore adds one or two tick arrays on top of the pool figure above.
Rent figures on this page are computed at lamports_per_byte = 6,960, the pre-SIMD-0437 rate. The rent reduction lowers this in five steps — call getMinimumBalanceForRentExemption for the live number rather than quoting these.
Most rent is recoverable — closing the position or farm returns the lamports. Tick arrays are never closed, and AmmInfo / PoolState persist indefinitely.

Graduation / migration costs

Network fees per typical operation

These are Solana base + priority fees, separate from Raydium protocol fees.
How these were measured. Each figure is the Program <id> consumed N of M compute units log line for the Raydium program’s own invocation — so it includes its inner token-program CPIs but excludes any aggregator or router wrapping the call. Sampled from live mainnet transactions on high-volume pools on 2026-09-09: CPMM SwapBaseInput 22,721–23,052 (n=8); AMM v4 swap 25,215–26,002; CLMM Swap 37,148–44,721; CLMM SwapV2 43,838–52,887 (n=6).CLMM swap cost scales with tick crossings, so treat SwapV2 as a floor and budget headroom for a volatile pool. Measure your own path rather than budgeting off this table — and note the whole transaction always costs more than the Raydium instruction alone, once ATA creation, wSOL wrapping and compute-budget instructions are counted.
The priority fee is ceil(compute_unit_price × compute_unit_limit / 1_000_000) lamports, so at 10,000 µLamports/CU a 23,000-CU transaction pays 230 lamports. At that CU price the 5,000-lamport-per-signature base fee dominates the bill by more than an order of magnitude; priority fees only overtake it above roughly 217,000 µLamports/CU on a single-signature 23,000-CU transaction. Priority fees scale linearly with CU price; see integration-guides/priority-fee-tuning.

Token-2022 fee interaction

When one or both sides of a pool use Token-2022 with a transfer fee, the effective fee compounds:
Example: CPMM 0.25% pool, input side has 1% transfer fee, output side has 0.5% transfer fee.
Effective fee: ~1.74% despite a nominal 0.25% pool fee — that is 1 − 0.99 × 0.9975 × 0.995. The × 0.98 above is the pool’s exchange rate (a change of denomination), not a fee, so it must not be counted in the fee stack: measured against the no-fee output of 1000 × 0.98 = 980, the loss is the same 1.74%. The SDK computes the effective rate via getComputeAmountOut — always use it when quoting Token-2022 pools.

LaunchLab specifics

Projects launching tokens can include a creator fee during the bonding-curve phase. After graduation, the selected CPMM config may also charge a separate CPMM creator fee for the recorded pool creator. The platform-owned Fee Key represents LP-fee rights and is not a creator-fee credential. See products/launchlab/creator-fees.

Farm v6 reward cost model

Farms don’t charge fees per se — they’re reward distribution. But they cost SOL to operate: Farms also require enough lamports in the reward vault to cover rent for the lifetime of the farm; closure returns them.

Historical parameter changes

For protocol-level fee splits and treasury addresses, see ray/protocol-fees and ray/treasury.

How to read current values on-chain

CPMM/CLMM AmmConfig

Note protocolFeeRate and fundFeeRate are fractions of the trade fee, not of volume — so 12% and 4% here mean 0.03% and 0.01% of volume at the 0.25% tier. CPMM’s AmmConfig carries a fourth rate that this payload does not necessarily surface: creator_fee_share_rate, the protocol’s share of the creator fee, added on 2026-09-19. It is a fraction of the accrued creator bucket, not of volume and not of the trade fee, it is applied when the creator fee is collected rather than on a swap, and a per-creator CreatorFeeShare PDA can override it. Read it off the AmmConfig account. Details in products/cpmm/fees.

AMM v4 pool

Farm v6 reward rate

Comparison to other DEXes

For context (all values as of April 2026):

Pointers

Sources:
  • Live AmmConfigs via api-v3.raydium.io.
  • CU benchmarks from SDK test suite.
  • Live protocol fee references from Raydium docs.