01 · BasicsWhat DLMM is and why Meteora built it
DLMM is a concentrated-liquidity market maker in which the price curve is replaced by a staircase of discrete price levels. Each step of the staircase is a bin, and each bin holds liquidity at exactly one price.
A classic AMM spreads every LP’s money across all possible prices, from almost zero to infinity. That is simple and robust, but most of the capital sits at prices the market will never visit, so it earns almost nothing. Concentrated liquidity fixes this by letting LPs choose a range. DLMM goes one step further: the range is made of individually addressable bins, and the fee is no longer a fixed number but responds to volatility.
The result is a design that behaves a little like an order book and a little like an AMM. Inside one bin, trades fill at a single price with no curve at all. Across bins, price walks step by step as each level is consumed. LPs decide not only where their liquidity sits but also how much sits in each bin, which is what makes the Spot, Curve and Bid-Ask shapes possible.
At the time of writing, DLMM is the largest of Meteora’s products by liquidity and by volume. Meteora’s own Q1 holders’ report attributed the large majority of that quarter’s volume to DLMM. Check the live dashboard on our stats page for current figures rather than relying on any snapshot.
02 · MechanicsBins, bin step and the active bin
Three ideas carry the whole model. Once they click, every DLMM screen on meteora.ag becomes readable.
How prices are spaced
Bin prices grow geometrically. If one bin sits at price P, the next one up sits at P × (1 + bin step), and the one after that at P × (1 + bin step)². The bin visualizer at the top of this page uses exactly that rule. Meteora’s own docs give the example of SOL at $20 with a 25 bps step: the next bins sit at roughly $20.05, $20.10 and so on.
Take SOL at $150 in a pool with a 20 bps step. The next bin up is $150.30, then $150.60. Twelve bins either side of the active bin cover roughly $146.45 to $153.64, a band about 4.8% wide. Switch to a 100 bps step and twelve bins cover a far wider band, because every step is five times larger.
| Bin step | Typical use | Bins for +10% | Move across 70 bins |
|---|---|---|---|
| 1 bps | Stablecoin pairs | ≈ 953 | ≈ +0.7% |
| 4 bps | Deep majors like SOL-USDC | ≈ 238 | ≈ +2.8% |
| 20 bps | Liquid large caps | ≈ 48 | ≈ +15% |
| 100 bps | Volatile tokens | ≈ 10 | ≈ +101% |
| 400 bps | Extreme volatility, launches | ≈ 2–3 | ≈ 15× |
That table explains why the same pair often has several DLMM pools. At the time we checked, the main SOL-USDC pool used a 4 bps step: tiny steps give traders fine-grained prices and let LPs concentrate tightly, but a 70-bin position only covers a few percent of movement. A memecoin pool needs much larger steps, or a single afternoon would push price through hundreds of bins.
Which token sits where
Bins below the active bin hold only the quote token (for example USDC): they are bids waiting to buy. Bins above the active bin hold only the base token (for example SOL): they are asks waiting to sell. Only the active bin holds a mix of both. When traders buy SOL, they drain SOL from the active bin; once it is empty, the pool moves to the next bin up, which becomes the new active bin. Selling works the same way in the opposite direction.
03 · TradingZero slippage inside a bin
Within a single bin there is no price curve. Every unit trades at the bin price, so a trade that fits inside the active bin has zero slippage from the curve.
Each bin works like a tiny constant-sum pool: the price is fixed, and the only question is how much of each token is left. Suppose the active SOL-USDC bin is priced at $150.00 and still holds 3 SOL. A trader buying 2 SOL pays exactly $300 plus the swap fee. A trader buying 5 SOL takes all 3 SOL at $150.00, then the pool steps up to the $150.30 bin and fills the remaining 2 SOL there. The average price is slightly above $150, because the trade crossed a bin.
This is why DLMM can quote very tight prices on busy pairs: if LPs stack deep liquidity in the bins around the current price, large trades cross few bins. It is also why the bin step matters for traders. A small step means each crossing costs only a sliver of price; a large step means each crossing is a visible jump.
04 · FeesThe dynamic fee: base fee plus variable fee
Most AMMs charge one fee forever. DLMM charges two fees added together, and caps the sum:
total fee = min(base fee + variable fee, 10%)
Base fee
Set at pool creation from a base factor multiplied by the bin step, so larger steps usually come with larger base fees. The main SOL-USDC pool, for instance, pairs a 4 bps step with a 0.04% base fee. This is the floor you pay on every swap.
Variable fee
Grows with a volatility accumulator that rises whenever swaps cross bins. Per the formula in Meteora’s docs it scales with the square of volatility × bin step, so a burst of bin-crossing trades lifts it quickly. Pools can set it to zero.
How the volatility memory decays
The accumulator does not reset after every trade. It works with two timers. Within a short filter period, the reference point is kept, so a rapid burst of swaps keeps stacking volatility. Between the filter period and the decay period, the stored volatility is scaled down by a reduction factor. Once the decay period passes with no new volatility, it drops to zero and the fee falls back to the base level.
In practice: on a quiet day, an LP in a calm pool earns roughly the base fee. During a liquidation cascade or a memecoin pump, the fee can climb well above the base fee for a while and then cool off. That is exactly when impermanent loss builds fastest, so the variable fee pays LPs more for absorbing the moves that hurt them. Arbitrage bots, who trade most when price jumps, pay most of that premium.
Who gets the fee
- Standard pools: Meteora’s docs describe a 10% protocol share and 90% for LPs, though the share is set per pool; at the time we checked, the SOL-USDC pool showed a 5% protocol share.
- Launch pools: 20% protocol, 80% LPs.
- Limit-order fills: split 50/50.
- Ceiling: the protocol share cannot exceed 25%.
05 · PositionsPositions, limits and rent
A DLMM position is not an LP token and not an NFT. It is an on-chain program account that records which bins you cover and how much liquidity you own in each. That has practical consequences: you cannot send a DLMM position to another wallet the way you would send a token, but you can resize and rebalance it without closing it.
| Default layout | 70 bins per position |
|---|---|
| Maximum size | 1,400 bins with dynamic (PositionV2) positions |
| Growth per resize | Up to 91 extra bins per instruction |
| Bin arrays | Bins are grouped in arrays of 70 |
| Position rent | About 0.059 SOL, refunded on close |
| Extension rent | Charged above 69 bins, refundable |
| Bin array creation | About 0.075 SOL each, not refundable |
| Optional lock | A release point can block withdrawal until it passes |
The bin-array rent deserves a closer look. Bins are stored in arrays of 70, and the first LP who places liquidity in a part of the price range that nobody has used yet pays to create that array. On a busy pool around the current price, the arrays usually already exist and you pay nothing extra. If you set a wide range far from the price on a fresh pool, you may create several arrays and spend a few tenths of a SOL you will not get back. Meteora advises keeping at least 0.05 SOL in your wallet for fees; for opening positions, keep comfortably more.
06 · LifecycleOut-of-range behavior and claiming fees
Your position earns only when the active bin is inside your range. The moment price leaves your range, fee income stops, and the position is entirely one token.
Walk through it with a position opened at $150 and covering $140 to $160 on SOL-USDC. While SOL trades between those prices, the active bin sits somewhere in your range and every swap through your bins pays you. If SOL climbs to $165, the market has bought all your SOL on the way up: you now hold only USDC, at an average sale price somewhere between $150 and $160. If SOL drops to $135, the opposite happened: you bought SOL all the way down and now hold only SOL.
Neither outcome destroys the position. It simply waits. If price comes back into range, it starts earning again and converts back toward a mix. Your options while out of range are:
Wait
Sensible if you believe price will return, or if the one-sided outcome is what you wanted anyway, such as selling SOL into strength.
Rebalance
Withdraw and redeploy around the current price, or use Meteora’s rebalancing tools. This locks in the conversion that already happened.
Exit
Withdraw, claim, and close the position to recover the position rent.
Claiming is manual
Fees accrue per position in both tokens, along with any farming rewards, and they do not compound on their own. They remain claimable until you claim them. A position can only be closed once its liquidity, fees and rewards are all cleared, which is why closing is usually a withdraw-claim-close sequence. Many LPs claim on a schedule, for example weekly, and decide each time whether to re-add the tokens or take profit.
Some pools collect fees only in one token. Meteora documents a collect-fee mode where fees are taken in the input token or only in the quote token, which matters if you want income in USDC or SOL rather than in a volatile token.
07 · ContextDLMM vs classic AMM vs CLMM
DLMM is one of three common liquidity designs on Solana. Raydium CLMM and Orca Whirlpools use tick-based concentrated liquidity in the Uniswap v3 tradition; Meteora’s DAMM pools and many older pools use the full-range constant-product curve.
| Feature | Classic AMM | Tick CLMM | Meteora DLMM |
|---|---|---|---|
| Choose a price range | No | Yes | Yes |
| Fixed price within a level | No | No | Yes |
| Custom liquidity shape | No | Partial | Yes |
| Volatility-linked fee | No | Mostly fixed | Yes |
| Can go out of range | No | Yes | Yes |
| Fully passive | Yes | No | No |
In a tick-based CLMM, liquidity inside a range still follows a curve, so even small trades move price a little. In DLMM, the curve is replaced by flat steps, which is what produces zero slippage within a bin and makes one-sided, order-like positions natural. A tick CLMM position can be built in several overlapping pieces to approximate a shape; DLMM offers shapes as a first-class option at deposit time. On fees, tick CLMMs traditionally use fixed tiers, while DLMM’s variable fee is built into every pool unless the creator disables it.
Strengths
- High capital efficiency around the current price
- LPs are paid more in volatile markets
- Flexible shapes and one-sided ranges
- Positions can be resized without closing
Watch-outs
- Earns nothing out of range
- Concentration amplifies impermanent loss
- Non-refundable bin-array rent on fresh ranges
- Fees must be claimed by hand
Understanding the engine is half the job; the other half is choosing a range and shape that fits the pair. Our guide to DLMM strategies takes the mechanics above and turns them into concrete Spot, Curve and Bid-Ask setups. Like every DeFi protocol, DLMM carries smart-contract risk: it has been audited several times by firms including Offside Labs, OtterSec, Sec3, Zenith and Sherlock, but an audit lowers risk rather than removing it.






