CLMM fees

CLMM fees and costs include pool creation, position costs, and tick array initialization.

All costs are Solana rent-exemption fees. There is no Raydium protocol fee for CLMM pool creation or position management.

Pool creation

Creates a liquidity pool for a token pair. The pool exists on-chain and is ready to accept liquidity.

Cost: 0.06144904 SOL (non-refundable)

Account
Cost (SOL)
Refundable

Pool state

0.01163712

No

Observation state

0.03209256

No

Tick array bitmap

0.0136416

No

Token vault 0

0.00203928

No

Token vault 1

0.00203928

No

Total

0.06144904

-

Pools cannot be closed once created. These costs are permanent.

Opening a position

Creates a new LP position for a specific price range. You receive an NFT representing ownership of the position. Opening a position does not require depositing liquidity. You can open an empty position and add liquidity later.

Position costs have two components: a fixed base cost and a variable tick array cost.

Base cost

Raydium supports two NFT methods for position ownership:

Method
Cost (SOL)
Notes

Token-2022 NFT

~0.0092

Uses native Token-2022 metadata

SPL + Metaplex

~0.0215

Legacy method, higher cost

Token-2022 breakdown

Account
Cost (SOL)
Refundable

Personal position

0.00284664

Yes

NFT mint

0.00277008

Yes

NFT token account

0.00207408

Yes

Metadata funding

0.0014616

Yes

Total

~0.0092

-

SPL + Metaplex breakdown

Account
Cost (SOL)
Refundable

Personal position

0.00284664

Yes

NFT mint

0.0014616

Yes

NFT token account

0.00203928

Yes

Metaplex metadata

0.0151156

No

Total

~0.0215

-

Tick array cost

Tick arrays store price tick data for a range of prices. Each array costs 0.07216128 SOL and covers 60 × tick_spacing ticks.

Tick arrays are:

  • Created when the first position uses that price range

  • Shared by all positions in the pool

  • Permanent and non-refundable

You only pay for tick arrays if they do not already exist. For popular pools like SOL-USDC, tick arrays across common price ranges are already initialized, so you pay nothing extra. This cost primarily applies to new pools or positions in rarely used price ranges.

Calculating tick arrays needed

The minimum is 1-2 tick arrays per position, for the lower and upper bounds of your range.

Tick spacing
Ticks per array
Typical use case

1

60

Stable pairs (USDC-USDT)

10

600

Major pairs (SOL-USDC)

60

3,600

Volatile pairs

120

7,200

High volatility

Example costs (assuming tick arrays do not exist)

Tick spacing
Arrays needed
Cost

120

1

0.0722 SOL

60

2

0.1443 SOL

10

10

0.7216 SOL

Full range position costs

Note: The full range position costs provided here are for illustration purposes only. It is generally not recommended to opt for a full range position due to its high cost. If your goal is full range liquidity, it is better to use a constant product pool.

Tick spacing
Arrays needed
Cost

10

~1,479

~107 SOL

60

~247

~17.8 SOL

120

~124

~8.9 SOL

Increase liquidity

Deposits tokens into an existing position. Your position must already be open, and the tick arrays for your price range must exist. They are initialized when the position is opened.

Cost: Network transaction fee only

Decrease liquidity

Withdraws tokens from your position without closing it. The position remains open and can receive more liquidity later.

Cost: Network transaction fee only

Close position

Burns the position NFT and closes the position account. You must withdraw all liquidity and collect all fees before closing.

Cost: Network transaction fee only

Refund: ~0.006-0.02 SOL (position account + NFT accounts)

Tick arrays are not refunded. They remain as shared infrastructure for other LPs.

Last updated

Was this helpful?