Free tool

How to choose a price range on Orca Whirlpools (and Raydium CLMM) — with expected days in range

A narrow range earns a higher fee rate and leaves range sooner. This shows both sides in numbers, for the volatility of the pair you are actually in.

How to read this

Fee rate is what the position earns while price is inside the band. It scales with concentration, which is exact arithmetic: a ±5% range packs about twice the liquidity per dollar of a ±10% one, so it earns about twice the rate.

Days in range is the other half, and the half most people skip. For a price that moves like a random walk, the expected time before it first leaves a band of width w is ln(1+w)² / σ². At SOL's typical 4% daily volatility a ±5% band lasts about a day and a half. A ±2% band lasts about six hours.

Where narrow stops working. At ±2% on SOL the model says roughly 122 rebalances a month. Even at fifty cents each that is $61 a month — on a $1,000 position, more than half the fee advantage, before counting the spread crossed on every rebuild. The fee rate keeps rising as you narrow; the practicality does not.

What this deliberately does not include

There is no "net yield" column here, and that is on purpose. Turning this into one number requires modelling impermanent loss over the price path, and IL is an opportunity cost against holding — not a fee you can multiply by a rebalance count. We tried exactly that and it produced nonsense, so we took it out rather than ship a confident-looking wrong answer.

For the divergence side, use the impermanent loss calculator, which computes it exactly for a given price move.

Picking a volatility number

The presets are rough long-run figures: SOL around 4% a day, ETH 2.5%, BTC 2%, stable pairs near 0.1%. If you want precision, take the standard deviation of daily log returns over the last 30 days and use that. In a quiet market ranges last far longer than the table suggests; in a violent one, far less.

From percent to ticks

Orca Whirlpools and Raydium CLMM do not store a range in percent. They store two ticks, and each tick is a 0.01% step in price (price = 1.0001tick). Because the steps multiply, a range that is symmetric in percent is not symmetric in ticks. Counted from the pool's current tick:

upper offset = ln(1 + w) / ln(1.0001)
lower offset = ln(1 − w) / ln(1.0001)
RangeUpper boundLower boundSnapped to spacing 4
±5%+488 ticks−513 ticks+488 / −512
±10%+953 ticks−1,054 ticks+952 / −1,052

Both bounds also have to land on a multiple of the pool's tick spacing — 4 on Orca's SOL/USDC 0.04% pool — so the interface snaps them to the nearest allowed tick. That moves each edge by a few hundredths of a percent at most.

A practical default

Frequently Asked Questions

What is the best range width for a Solana LP position?

It depends on the pair's volatility and on whether a human or a bot rebuilds the position. At SOL's typical 4% daily volatility a +/-5% band lasts about a day and a half before price leaves it, a +/-10% band about six days, and +/-20% about three weeks. Managing by hand, +/-15-20% is realistic; with automated rebalancing, +/-5-10% becomes practical.

How long will my LP position stay in range?

For a price that moves like a random walk, the expected time before it first leaves a band of width w is ln(1+w)^2 divided by the square of the daily volatility. The calculator above runs that for whatever volatility you enter. Treat it as an average, not a guarantee — a quiet week lasts far longer and a violent day far shorter.

Does a narrower range always earn more?

It earns a higher rate, not necessarily more money. Concentration is exact: halving the width roughly doubles the fee rate. But the band also empties sooner, and every rebuild costs gas plus the spread you cross. At +/-2% on SOL the model implies about 122 rebalances a month, which on a $1,000 position eats more than the extra rate is worth.

Why is there no net APY in this calculator?

Because an honest one would need impermanent loss modelled over the price path, and IL is an opportunity cost against holding rather than a per-rebalance fee. Multiplying it by a rebalance count produces confident nonsense — we built that version, saw it claim every range loses money, and removed it. The IL side has its own calculator where it is computed exactly.

Let the bot handle it

Smart LP Bot manages concentrated liquidity positions on Orca and Raydium at the same time — rebalancing, fee collection and optional IL hedging, all from Telegram.

Open in Telegram

Home · Orca Whirlpool Bot · Raydium CLMM Bot · LP APR Calculator · Delta-Neutral LP · CLMM Rebalancing · Passive Income · Blog

Figures are illustrative calculations, not investment advice; liquidity positions can lose value.