Ray comparison is CPMM Versus CLMM Capital Efficiency Trade-Offs
Updated onRay comparison is a decision between Raydium CPMM liquidity that covers the entire price curve and CLMM liquidity that works inside chosen price bands. CPMM reduces maintenance and keeps capital available through every market move. CLMM concentrates the same token inventory near the traded price, improving depth and fee exposure while the range remains active, but it turns range selection and rebalancing into core LP tasks.
The useful choice starts with a pair, a holding horizon, and the distance that price can travel before intervention. This guide follows the position workflow, then tests range behavior, fee mechanics, account structure, and operating limits.
Funding a Raydium position separates the CPMM and CLMM workflows
A Raydium LP completes the CPMM path with a pair deposit, while CLMM adds fee-tier and price-range decisions before funding.
CPMM deposit sequence
Start by selecting an existing CPMM pool for the token pair and reading its AmmConfig, because the pool keeps that config reference. Enter one deposit amount; the interface calculates the second at the vault ratio. Set the allowed slippage for the deposit, approve both asset transfers, and sign. The program moves two token amounts into its vaults and mints a fungible SPL Token LP balance representing a proportional claim on the full pool.
That LP balance needs no lower or upper price. Withdrawing burns LP tokens and returns both reserves at the pool ratio, including the LP fee value retained in the vaults.
CLMM range sequence
Begin CLMM with the pair and fee configuration, then set lower and upper prices around the market. Raydium maps those prices to valid ticks and calculates the token mix that funds the interval. An in-range opening uses both assets; a range entirely to one side uses one asset. Review the quoted amounts, tick boundaries, and slippage limits before signing. The program initializes any required tick-array state, deposits the assets, records the position, and mints a position NFT with a supply of 1. That NFT identifies one set of endpoints and one liquidity balance.
The sequence exposes the main trade-off before any yield estimate: CPMM asks for proportional inventory, while CLMM asks for a market view. A narrow band puts more liquidity near spot, yet leaves less room for price movement.
Range exits change CLMM exposure immediately
A Raydium CLMM position stops contributing active liquidity as soon as the market tick leaves its lower-to-upper interval. The interval uses lower-inclusive and upper-exclusive logic: tick_lower ≤ tick_current < tick_upper. Once price crosses either boundary, the position stops earning swap fees and finishes converting into one asset as the curve moves through the range. It remains open, and price returning inside activates its liquidity again without a new deposit. This one-sided inventory follows the direction of the move, so the LP no longer holds the original pair mix. CPMM stays active across the curve and has no range exit.
Full-range liquidity spreads capital across the curve
CPMM distributes liquidity over the full constant-product curve, whereas CLMM assigns it only to the selected tick interval.
Constant-product breadth
A CPMM maintains two reserves, x and y, under x × y = k. Each swap moves the reserve ratio, while the curve offers progressively less depth farther from the existing price. Because an LP share spans prices from near zero toward an unbounded upper range, some deposited inventory supports prices that the market may never reach during the holding period. That unused distance lowers capital efficiency near spot, but it also removes the need to predict a boundary. The position keeps quoting as long as both vaults contain usable reserves, and arbitrage trading moves the pool ratio toward the broader market.
Concentrated tick density
CLMM divides the curve into discrete ticks and counts only positions that cover the current tick as active liquidity. Raydium CLMM defines price at tick i as 1.0001^i, with valid indices from -443636 through 443636. Each tick represents a 0.01% price step before spacing, and fee configurations admit only endpoints that align with their tick spacing.
A 0.25% CLMM configuration uses spacing 60, while published 0.01% and 1% configurations use spacing 1 and 120. Square-root prices use Q64.64 precision, scaling by 2^64, and each TickArrayState stores 60 tick records. These constants let Raydium compress concentrated-liquidity accounting on Solana.
Fee tiers reward active depth rather than idle capital
Raydium fee income follows active liquidity and swap flow, so the same fee percentage produces different LP outcomes, which is walked through in Ray requirements.
Both CPMM and CLMM bind each pool to an AmmConfig that carries the rate and fee split. Both programs encode rates against a fixed denominator of 1,000,000, so 2,500 represents a 0.25% trade fee. With the published 84/12/4 split, 84% of the trade fee remains with LPs, 12% funds the protocol share associated with RAY buybacks, and 4% reaches the treasury. A 0.25% pool therefore leaves 0.21% of swap volume for LPs, before any token-level transfer fee. CPMM also supports an optional creator-fee bucket on eligible pool-creation paths; that bucket is separate from the trade fee.
The allocation model creates the meaningful difference. CPMM distributes its LP share across every fungible LP token, with fee value remaining in the vaults. CLMM divides fee growth among positions that were active during each swap, recording amounts owed in each input token. An out-of-range position receives zero incremental swap fees. Current volume, share of active liquidity, time in range, and token price changes determine realized return; the advertised tier alone does not.
Rebalancing turns price movement into operating work
CLMM rebalancing means removing liquidity, settling balances, choosing new endpoints, and funding another active range.
Returning an inactive range to market
A CLMM position cannot change its lower and upper ticks in place. Moving the range requires decreasing its liquidity, collecting balances, then opening or funding a position at new endpoints. Raydium interfaces may combine compatible instructions, but the on-chain state still records distinct changes. The old position NFT closes only after liquidity reaches zero and all fees and rewards are collected. If price merely returns to the original interval, no reset is necessary; the same position becomes active again.
Accounting for fees and reward balances
CLMM keeps fees owed in two token balances attached to the position and does not automatically add them to liquidity. A pool also has room for up to three reward streams, tracked separately from swap fees. Reinvestment requires collection and an IncreaseLiquidity action using the token ratio that the range needs at that moment. CPMM handles LP fees differently: the LP share remains in its two vaults, increases k, and becomes part of the value redeemed when LP tokens burn. Token-2022 transfer-fee mints reduce amounts during transfers under their mint settings, so quoted and deposited amounts can differ.
Pool accounts change custody records and creation costs
CPMM and CLMM encode ownership differently on-chain, changing wallet records, rent, and pool-creation overhead. A CPMM pool uses six PDAs plus one shared AmmConfig: two token vaults, one LP mint, and a 100-entry observation ring. CLMM uses position state and a position NFT with supply 1; shared tick arrays track range boundaries. Both run on Solana with compatible SPL Token or Token-2022 assets. Raydium's published creation schedule charges 0.15 SOL, or 150,000,000 lamports, for a CPMM pool; CLMM charges account rent without a separate creation fee. Each design pays network fees and account rent for the records its transaction creates.
Five conditions settle the CPMM versus CLMM choice
The CPMM versus CLMM choice turns on monitoring capacity, price behavior, desired depth, and tolerance for one-sided inventory.
The Ray comparison becomes concrete once range discipline enters the decision. Apply this checklist to the exact pool, because reserves and active liquidity remain separate even when two pools hold the same pair.
- Choose CPMM when the position must keep earning across large price moves without monitoring two tick boundaries.
- Favor CPMM when a new or volatile pair lacks a defensible working range for the next review interval.
- Consider CLMM when the pair trades inside a repeatable band and near-market depth matters to the strategy.
- Use CLMM only when one-sided inventory at either endpoint fits the intended asset exposure.
- Split capital across ranges only when each NFT, fee balance, and rebalance trigger will receive separate tracking.
This choice stays inside Raydium. Orca Whirlpools also concentrates Solana liquidity in ranges, Meteora DLMM organizes liquidity into discrete bins, and Uniswap v3 applies tick-based ranges on EVM networks. Jupiter is a route optimizer: it can send a swap through Raydium CPMM, Raydium CLMM, or other venues, but it does not turn one LP position type into another. Select the Raydium design whose operating burden matches the capital that you can monitor, which is covered in Ray walkthrough.
Common questions about Ray comparison
Can Raydium route a swap through both CPMM and CLMM pools?
Yes, a routed swap can use Raydium CPMM and CLMM liquidity when the chosen path contains those pool types. Jupiter and Raydium routing evaluate pool quotes, account for each hop, and pass execution to the relevant program. Every hop applies its own curve, fee configuration, and available depth. Routing therefore changes the trader's path, not the LP's ownership record; a CPMM LP token remains separate from any CLMM position NFT.
How do Token-2022 transfer fees affect CPMM and CLMM positions?
Token-2022 transfer fees reduce the amount that reaches or leaves a pool whenever the mint's configured extension charges a transfer. Raydium's compatible CPMM and CLMM instructions account for that net amount in quotes and state updates. The mint fee is separate from the pool's swap fee, and it can affect deposits, withdrawals, collections, and swaps. Compare the net token amounts shown for the transaction, because equal gross amounts need not produce equal funded liquidity.
Is each extra CLMM range represented by another position NFT?
Yes, every distinct CLMM range is recorded as a separate position with its own NFT, lower tick, upper tick, liquidity, and fee-growth snapshots. An LP can place several ranges around the same market, such as a narrow active band and a wider reserve band. Each position carries separate rent, monitoring, and collection work. Fees follow the active liquidity inside each range, so overlapping positions do not merge into one accounting balance.
Are uncollected CLMM fees added to liquidity automatically?
No, uncollected CLMM fees stay in the position's two owed-token balances until a collection or liquidity-decrease instruction settles them. They do not expand the active liquidity amount by themselves. Reinvesting requires the token mix that the range needs at the live price and an IncreaseLiquidity action. CPMM accounting differs because the LP portion of swap fees remains in the pool vaults, raises the value behind fungible LP tokens, and is redeemed on withdrawal.
Does widening a CLMM range preserve the same token ratio?
No, a wider CLMM range generally requires a different mix because token amounts derive from the current square-root price and both endpoints. A range that straddles the market uses both tokens; a range entirely above or below it opens one-sided. Since endpoints on an existing position stay fixed, widening means creating or funding a position with new ticks. The wider interval lowers near-price concentration and gives the market more room before a boundary exit.
Can the same USDC-USDT pair have multiple Raydium fee configurations?
Yes, the same USDC-USDT pair can exist in multiple Raydium pools, including CPMM and CLMM pools bound to different AmmConfig records. Each pool keeps separate reserves, fee accounting, and, for CLMM, tick spacing. A router compares those independent pools when building a swap path. LPs should identify the exact pool address and configuration before depositing, because a matching token pair does not combine liquidity or ownership across pool records.