Solana liquidity ranges trade fee potential for time in range
A Solana CLMM range sets where liquidity earns swap fees, how token balances shift and when a position goes idle; tick spacing and volatility shape the choice.
Web3 News Editorial3 min read

A Solana concentrated liquidity position earns swap fees only while the pool price stays between the lower and upper bounds its provider selects, according to Orca Whirlpools’ public documentation. A narrower range concentrates capital near the current price, but the position can leave that range sooner and stop earning fees.
That choice affects more than potential fee income: as price moves through the band, the position’s mix of tokens changes. For interface steps specific to Byreal, see Byreal’s Solana swap and liquidity steps; the range decision itself depends on the pool, pair and plan for managing the position.
How does a Solana CLMM price range work?
Orca’s Whirlpools program documentation defines a position by lower and upper tick boundaries, which determine the prices where its liquidity enters and leaves the pool. Ticks form a price grid, and each pool’s tick spacing restricts which boundaries are valid.
Within the range, the position supplies liquidity for swaps and can accrue its share of trading fees. Orca’s token math shows that a position entirely below the current price uses token A, one entirely above uses token B, and one spanning the current price draws on both. The displayed token amounts can therefore shift as the pool price changes.
How wide should you set the range?
A wider band covers more possible price movement before the position goes inactive; a tighter band puts more of its capital to work near the current price. Orca’s public program code also shows that the pool’s tick spacing constrains range boundaries, so a chosen price may be rounded to a valid tick.
For a less actively managed position, a wider band is usually the more practical choice: it allows more room for price movement before fees stop, though it spreads capital across more prices. A tighter band can make sense when a provider expects the pair to trade in a narrower zone and can check the position and adjust it when needed. Neither width guarantees that fee income will outweigh changes in token value.
- Current price: Check the pool’s displayed price and which token is quoted against which; reversed token order changes how the range reads.
- Pool spacing: Confirm that both bounds are valid for the pool’s tick spacing.
- Expected movement: Set bounds around a price zone you can explain, rather than choosing a narrow band solely to maximize concentration.
- Deposit mix: Check the interface’s required token amounts; a position outside the current price may need only one token.
What happens when price leaves the range?
Orca’s Whirlpools documentation and program mechanics show that liquidity outside its active bounds does not participate in swaps at the current price, so that position stops accruing swap fees while it is out of range. Its holdings also become one-sided: below the lower bound, the position holds token A; above the upper bound, it holds token B.
A provider can leave the position in place and wait for price to return, or remove liquidity and open a new range. Repositioning brings transaction costs and changes the token exposure; the right choice depends on whether the new price still fits the provider’s plan. Fees already accrued do not establish that the position was profitable overall.
What should you decide before depositing?
Decide how wide a price move you can tolerate and what you will do if the market crosses either boundary. A wider range suits most providers who do not plan to monitor closely because it delays the point at which the position goes inactive; tighter ranges demand more attention and can leave capital idle sooner.
Before signing, review the pool, token order, valid bounds and deposit amounts in the interface. The position will earn fees again if price returns to its range, but whether it does—and whether fees compensate for changes in token value—remains uncertain.