How DLMM Pools Work: Dynamic Liquidity Market Making Explained
By Jorge Rodriguez — DeFi Protocols
How DLMM bins differ from CLMM ticks and why discrete price bins deliver zero-slippage swaps
How to choose between Spot, Curve, and Bid-Ask liquidity strategies for different pair types
A practical framework for setting up, managing, and optimizing DLMM positions on Solana
Introduction
Concentrated liquidity changed the way LPs think about capital allocation. Instead of spreading tokens across an infinite price range, protocols like Orca and Raydium let you target specific zones where trades actually happen. But concentrated liquidity through **CLMM (Concentrated Liquidity Market Maker)** models still has rough edges: static fee tiers, manual rebalancing, and tick math that feels more like calculus homework than liquidity management. **DLMM pools** take the concentrated liquidity concept and rebuild it from the ground up. Developed by Meteora on Solana, the Dynamic Liquidity Market Maker introduces discrete price bins instead of continuous tick ranges, and pairs them with fees that adjust automatically based on real-time volatility. The result is a system where your liquidity is more precise, your fee income is more responsive, and your management overhead is more predictable. This guide breaks down exactly how DLMM works, from the bin model and dynamic fee formula to the three liquidity shape strategies that define your position. If you have already read our [guide to concentrated liquidity and CLMM](/blog/defi-protocols/concentrated-liquidity-clmm), consider this the next chapter. If you want to compare DLMM yields across Solana pools, the [Lince Yield Tracker](https://yields.lince.finance/tracker/solana/category/liquidity) is a good place to start. 
What Is DLMM? The Evolution Beyond CLMM
**From Ticks to Bins: A New Mental Model** A **Dynamic Liquidity Market Maker** is an AMM architecture that organizes liquidity into discrete price points called bins, rather than the continuous tick ranges used by CLMM protocols. Each bin represents one exact price, and any swap that executes entirely within a single bin happens with zero slippage. Think of it as replacing a smooth ramp with a staircase, where each step is a fixed price level. Meteora's DLMM implementation on Solana is based on the **Liquidity Book** design originally pioneered by Trader Joe on Avalanche. Meteora adapted the concept to leverage Solana's high throughput and low transaction costs, making bin-level granularity practical for active LP management. The protocol has become one of the most-used AMMs on Solana, especially for memecoin launches and volatile pair trading. **Why DLMM Exists** CLMM protocols solved the capital efficiency problem of traditional x*y=k AMMs, but they introduced new friction. Fee tiers are static: you pick 0.01%, 0.05%, 0.3%, or 1% at pool creation, and that rate never changes regardless of what the market is doing. Ranges require manual adjustment when price moves. And the math behind tick spacing can be opaque, making it hard for LPs to reason about exactly where their capital sits. DLMM addresses each of these limitations. **Dynamic fees** adjust automatically, charging more during volatile periods and less during calm ones. Bins are conceptually simpler than ticks since each bin equals one price. And the three preset liquidity shapes (Spot, Curve, and Bid-Ask) remove much of the guesswork from position setup.
How DLMM Bins Work
**Price Bins vs CLMM Ticks** In a CLMM, ticks are boundary markers along a continuous price curve. Your liquidity is active between two tick values, and the protocol interpolates prices within that range. In DLMM, each **price bin** is a standalone container at one exact price point. There is no interpolation. When the market price falls within a bin, all trades at that price tap the liquidity inside that specific bin. The spacing between bins is set by the **bin step**, a configurable parameter that determines price granularity. A bin step of 1 basis point means adjacent bins are 0.01% apart. A bin step of 100 basis points means each bin is 1% from the next. Pool creators choose the bin step when deploying a new market, and it cannot change after deployment.  **Bin Composition: What Lives Inside Each Bin** Bin composition follows a simple rule based on position relative to the current market price. The **active bin** sits at the current trading price and holds both tokens of the pair. All bins below the active bin hold only the quote token (for a SOL-USDC pair, that means USDC). All bins above the active bin hold only the base token (SOL in our example). This is intuitive once you think about it. Bins below the current price represent buy orders waiting to be filled. Bins above represent sell orders. The active bin is where actual trading happens, and it needs both tokens to facilitate swaps in either direction. **Worked Example: SOL-USDC Bin Structure** Imagine a SOL-USDC pool with a bin step of $0.50 and the active bin at $150.00. Here is what the bin structure looks like around the current price: | Bin Price | Token Held | Status | |-----------|-----------|--------| | $148.00 | USDC only | Below active | | $148.50 | USDC only | Below active | | $149.00 | USDC only | Below active | | $149.50 | USDC only | Below active | | $150.00 | SOL + USDC | Active bin | | $150.50 | SOL only | Above active | | $151.00 | SOL only | Above active | | $151.50 | SOL only | Above active | | $152.00 | SOL only | Above active | When a buyer purchases SOL and pushes the price from $150.00 to $152.00, the swap walks through each bin in sequence. At $150.00, the active bin's SOL is sold first. Once depleted, the active bin shifts to $150.50 and that bin's SOL is sold. This continues until the order is filled or the bin range is exhausted. Each bin crossing provides liquidity at that exact price with zero slippage within the bin. A **zero-slippage swap** occurs when the entire trade executes inside a single bin. The price does not move because the bin has enough liquidity to fill the order at its fixed price. For larger orders spanning multiple bins, slippage accumulates as each successive bin offers a slightly different price.
The Dynamic Fee Mechanism
**How Fees Adjust to Volatility** DLMM's fee model has two components. The **base fee** is a fixed minimum set by the pool creator when the market is deployed. It is calculated from two parameters: the bin step and a base factor that amplifies the bin step. A wider bin step with a higher base factor means a higher floor fee. The **variable fee** is the dynamic component. It scales based on a value called the volatility accumulator, which tracks how many bin crossovers have occurred in recent swaps. When a large trade pushes the price across many bins, the volatility accumulator increases. When trading is calm and price stays within a few bins, the accumulator decays back toward zero. The variable fee formula looks like this: ``` Variable Fee = A * (volatility_accumulator * bin_step)^2 ``` Where A is a control parameter that scales the fee's sensitivity to volatility. The squared relationship means the fee increases sharply during high-volatility events, acting like surge pricing. When volatility drops, the fee returns to near-zero, keeping the total swap cost competitive during quiet periods.  **Why Dynamic Fees Matter for LPs** Static fee tiers in CLMM force a tradeoff. A pool with 0.05% fees attracts more volume but earns less per swap. A pool with 1% fees earns more per swap but repels traders. The pool creator picks one rate forever. Dynamic fees eliminate this tradeoff. During a memecoin launch where price swings 30% in minutes, the variable fee component kicks in and LPs earn significantly more per swap. During a quiet overnight session, fees drop to the base rate, keeping the pool competitive for arbitrage bots and routine swaps. This automatic adjustment means LPs do not have to choose between volume and fee income. The market conditions decide for them. Consider a practical scenario. A SOL-USDC pool might charge 0.04% during normal trading. When a whale buy pushes the price across 20 bins in one transaction, the variable fee might spike that single swap's fee to 0.25% or higher. The LPs whose bins were crossed earn that elevated fee, directly compensating them for the impermanent loss risk that large price movement creates.
Liquidity Shapes and Strategies
One of DLMM's most practical features is the ability to choose a **liquidity shape** when deploying capital. Rather than manually deciding how much to allocate per bin, you pick from three preset distributions that spread your tokens across your selected bin range.  **Spot Strategy** The **Spot strategy** distributes your liquidity uniformly across all bins in your selected range. Every bin gets an equal share of your capital. This is the most versatile approach because it does not bet on price direction. Whether the market moves up, down, or sideways, you have liquidity earning fees at every price point within your range. Spot works best when you have no strong conviction about short-term price direction. It is also the lowest-maintenance option because gradual price movement does not dramatically shift your exposure. For a pair like SOL-USDC during a period of moderate, non-directional trading, Spot provides steady fee income without the risk of a concentrated position getting left behind by a breakout. **Curve Strategy** The **Curve strategy** follows a bell-curve distribution, concentrating most of your liquidity around the active bin and tapering off toward the edges. Bins near the current price receive the largest allocation, while bins farther away receive progressively less. This is the maximum capital efficiency play. Because most swaps happen near the current price, a Curve position earns more fees per dollar deployed than a Spot position of the same size. The tradeoff is exposure: if the price breaks out of the concentrated zone, you face higher impermanent loss and your edge bins may have too little liquidity to earn meaningful fees. Curve is ideal for stable pairs like USDC-USDT or range-bound markets where price oscillates within a predictable band. For pegged pairs, the efficiency gains are enormous since price rarely moves far from the center. **Bid-Ask Strategy** The **Bid-Ask strategy** is the inverse of Curve. It places more liquidity at the edges of your range and less in the middle, creating a U-shaped distribution. This approach captures fee income from large price swings while keeping minimal exposure at the current price. Bid-Ask is particularly useful for single-sided liquidity deployment. You can deposit only one token in bins on one side of the active price, effectively creating a limit order or DCA (dollar-cost averaging) position. For example, depositing only USDC in bins below the current SOL price means your position gradually buys SOL as the price falls, mimicking a DCA-in strategy. This shape suits volatile pairs where you expect big moves in either direction but do not want concentrated exposure right at the current price. It is also the lowest impermanent loss option near the active bin, since most of your capital sits at the range extremes. **Choosing Your Strategy: A Decision Framework** | Market Condition | Recommended Strategy | Risk Level | Fee Profile | |-----------------|---------------------|-----------|-------------| | Uncertain direction | Spot | Medium | Steady, moderate | | Range-bound / stable pair | Curve | Medium-High | High near center | | High volatility expected | Bid-Ask | Low-Medium | Spiky, captures swings | | DCA in or out of position | Bid-Ask (single-sided) | Low | Entry/exit tool | | Memecoin launch | Spot or Bid-Ask | High | Very high, short-lived |
DLMM vs CLMM: A Direct Comparison
If you are already [familiar with CLMM](/blog/defi-protocols/concentrated-liquidity-clmm), understanding DLMM comes down to identifying where the two models diverge. The core idea is the same: concentrate liquidity where it matters. The implementation differs in meaningful ways. **Technical Differences** | Feature | CLMM | DLMM | |---------|------|------| | Price model | Continuous ticks | Discrete bins | | Fee structure | Static tier (0.01%-1%) | Dynamic (base + variable) | | Liquidity placement | Custom range between ticks | Preset shapes across bins | | Slippage within unit | Minimal (interpolated) | Zero (single bin) | | Single-sided deposits | Limited | Native support | | Rebalancing trigger | Manual price monitoring | Active bin shift | **Practical Differences for LPs** From a day-to-day management perspective, DLMM positions feel different from CLMM. The bin model makes it immediately obvious where your capital sits. You can see exactly which bins hold your tokens and whether the active bin is still within your range. In CLMM, the relationship between tick indices and actual prices requires more mental translation. Fee management is perhaps the biggest practical difference. With CLMM, you might deploy the same position in two pools with different fee tiers to hedge. With DLMM, a single position in one pool automatically adapts its fee to market conditions. This reduces the number of positions you need to manage and the decisions you need to make. Rebalancing also feels simpler. In CLMM, you withdraw liquidity, calculate new tick ranges, and redeploy. In DLMM, you can often just add or remove liquidity from specific bins without touching the rest of your position. The granular bin-level control means adjustments are surgical rather than wholesale. To benchmark performance, filter Solana liquidity pools by protocol on any yield dashboard and compare fee APRs, TVL, and volume side by side across DLMM and CLMM pools.
Capital Efficiency in DLMM
**How Bins Multiply Your Effective Liquidity** Capital efficiency measures how much trading depth your deposit creates relative to a full-range AMM. In a traditional x*y=k pool, depositing $1,000 spreads your capital across every possible price from zero to infinity. Only a tiny fraction of that capital ever facilitates a trade. DLMM concentrates your entire deposit into specific bins. If you deploy $1,000 across 10 bins around the active price, each bin has roughly $100 of depth. A full-range AMM would need vastly more capital to achieve the same depth at that price point. Depending on the bin step and range width, the effective capital multiplier can range from 50x to over 2,000x compared to a full-range position. This efficiency is why DLMM pools often show higher fee APRs than their CLMM or traditional AMM equivalents for the same pair. The same volume processed through more concentrated capital means each dollar earns more fees. But efficiency cuts both ways: the tighter your range, the faster price movement can push the active bin outside your position. **Practical Example** Consider two LPs both depositing $1,000 into SOL-USDC: • LP A uses a traditional full-range AMM. Their $1,000 covers SOL from $0 to infinity. At the current price of $150, maybe $5 of effective liquidity sits near the trading price. • LP B uses a DLMM Curve strategy across 20 bins centered at $150 with a $0.50 step. Their $1,000 is concentrated across $145 to $155. Over $100 of effective liquidity sits at or near the active bin. LP B earns roughly 20x more fees per dollar for the same trading volume. The tradeoff is that if SOL moves to $160, LP B's position is entirely in USDC and earning zero fees until they rebalance. LP A's position still earns fees at $160, just very small ones.
Managing Impermanent Loss in DLMM
**How DLMM Changes the IL Equation** **Impermanent loss** exists in DLMM just as it does in every AMM model. When the price moves away from your entry point, the value of your position diverges from what you would have earned by simply holding the tokens. There is no getting around this fundamental mechanic. If you need a refresher on the math, our [impermanent loss guide](/blog/risk-management/impermanent-loss-explained-math-solana-lp-strategies) covers the formulas and scenarios in detail. What DLMM changes is the offsetting mechanism. Dynamic fees generate higher income during the exact moments when impermanent loss is accumulating fastest. A 10% price move that triggers significant IL also triggers elevated variable fees on every swap along the way. The question for any LP is whether the extra fee income exceeds the IL cost, and in many cases on active pairs, it does. The liquidity shape you choose also affects your IL profile. A Curve position concentrates more capital near the active price, which means higher fees but also higher IL if price moves. A Bid-Ask position has less capital at the active price, meaning lower fees near center but lower IL as well. Spot falls in between. **Practical IL Mitigation** Managing IL in DLMM comes down to a few core habits: • Monitor the active bin regularly. If the active bin has moved significantly from your position center, evaluate whether rebalancing is worthwhile. • Match your strategy to the pair's behavior. Use Curve for pairs that tend to oscillate around a mean (stable pairs, correlated assets). Use Spot or Bid-Ask for pairs with trending or unpredictable movement. • Check net P&L, not just IL. A position with 5% impermanent loss and 8% fee income is still a 3% winner. Focus on the net outcome. • Consider **single-sided liquidity** for high-conviction directional trades. Depositing only one token in bins on one side of the active price means you face no IL until the price reaches your bins. Once reached, your single-sided position starts converting into the other token, effectively acting as a limit order.
Use Cases: When to Use DLMM
**Memecoin Launches** DLMM has become the default choice for launching memecoins on Solana. The combination of dynamic fees and Meteora's Launch Pool feature makes it attractive for both token creators and early LPs. During a launch, trading volume is extreme and price swings are massive. Dynamic fees spike to capture that volatility, and LPs in the active bins can earn substantial returns in short windows. Jupiter's integration with Meteora means new DLMM pools are instantly discoverable through Solana's largest swap aggregator. This creates a flywheel: token launches on Meteora get instant routing from Jupiter, which drives volume, which generates fees for LPs. The risk profile is clear. Memecoin prices can drop 90% in hours, and no amount of dynamic fee income will compensate for that kind of IL. Treat memecoin DLMM positions as short-term, high-risk plays and size them accordingly. **Stable Pairs (USDC-USDT, USDC-EURC)** At the opposite end of the spectrum, DLMM excels for stablecoin pairs. A Curve strategy on USDC-USDT with a tight bin step (1-2 basis points) creates extremely capital-efficient liquidity. Price stays within a handful of bins nearly all the time, meaning almost your entire deposit is actively earning fees. IL risk on stable pairs is minimal because the price rarely moves far from 1:1. The base fee dominates since volatility is low and the variable component stays near zero. For yield-focused LPs who want low-maintenance positions, stablecoin DLMM pools are compelling. **Volatile Pairs (SOL-USDC, ETH-SOL)** Major volatile pairs benefit from DLMM's dynamic fee advantage. A SOL-USDC pool using Spot strategy gives you broad coverage while automatically earning more during price swings. The active bin shifts frequently with normal price action, and each shift triggers fee calculation for the bins crossed. These positions require more attention than stable pairs. You need to check whether the active bin is still within your range at least daily, and rebalance when the price has moved significantly. Auto-compounding through yield aggregators can pair well with DLMM returns if you reinvest fees periodically.
Setting Up a DLMM Position: Practical Guide
Setting up a DLMM position on Meteora involves a clear sequence of decisions. Each choice shapes your risk profile and expected returns. **Step 1: Choose Your Pair** Start by selecting the token pair you want to provide liquidity for. Consider the pair's typical volatility, trading volume, and your conviction about price direction. High-volume pairs like SOL-USDC generate more fee opportunities. Niche pairs may have less competition but also less volume. **Step 2: Select the Bin Step** The bin step determines how granular your price bins are. A smaller bin step (1-5 basis points) is better for stable pairs where price movements are tiny. A larger bin step (50-100 basis points) suits volatile pairs where you need wider coverage without deploying across hundreds of bins. **Step 3: Choose Your Strategy** Pick Spot, Curve, or Bid-Ask based on the decision framework above. If unsure, Spot is the safest default. Curve if you believe price will stay range-bound. Bid-Ask if you want to DCA or expect large swings. **Step 4: Set Your Range** Decide how many bins to cover. A wider range means more coverage but less concentration (lower fees per bin). A narrower range means higher fees per bin but higher risk of the price leaving your range entirely. For volatile pairs, err on the side of wider. For stable pairs, go tighter. **Step 5: Deposit and Monitor** Deposit your tokens. Both tokens are needed if your range includes the active bin. If you deposit only in bins above or below the active bin, you can go single-sided. After depositing, monitor the active bin's position relative to your range. **Step 6: When to Rebalance** Rebalance when the active bin has moved to the edge of your range or outside it entirely. There is no universal rule for timing, but a practical threshold is when more than 70% of your bins are on one side of the active price. At that point, most of your capital is idle and earning zero fees.
Common Mistakes When Using DLMM
**Setting Bins Too Narrow on Volatile Pairs** New DLMM users often set the tightest possible bin range to maximize capital efficiency. On a volatile pair like a new memecoin, the price can blow through your entire range within minutes. You end up fully converted into one token with significant IL and no fee income going forward. Match your range width to the pair's realistic volatility. **Ignoring Rebalancing When the Active Bin Shifts** DLMM is not a set-and-forget system. When the active bin moves outside your range, your position earns zero fees. Some LPs deploy and then forget to check for days. By the time they return, price has moved 20% and their capital has been sitting idle. Set a reminder to check positions at least once daily for volatile pairs. **Choosing Curve Strategy for Volatile Memecoins** Curve concentrates capital at the center, which is exactly where IL hits hardest during a big price move. Using Curve on a memecoin that might pump 500% is asking for trouble. Spot or Bid-Ask gives you better coverage and lower concentrated IL risk for these kinds of pairs. **Not Accounting for Dynamic Fee Variability in Yield Projections** Dynamic fees mean your APR is not constant. A pool showing 200% APR during a volatile afternoon might settle to 15% during a quiet weekend. Projecting short-term fee spikes into annual returns leads to unrealistic expectations. Look at fee income over multi-day windows, not single sessions. **Treating Fee Claims as Automatic** Unlike some protocols that auto-compound, DLMM fees accrue in your bins and must be manually claimed. Unclaimed fees sit there earning nothing. Develop a habit of claiming fees regularly and either reinvesting them or withdrawing, depending on your strategy.
FAQ
### What is a DLMM pool? A DLMM pool is a type of automated market maker that organizes liquidity into discrete price bins instead of continuous ranges. Each bin holds liquidity at one exact price, enabling zero-slippage swaps within a single bin. DLMM pools also use dynamic fees that automatically adjust based on market volatility, distinguishing them from CLMM pools that use static fee tiers. ### How is DLMM different from CLMM? DLMM uses discrete price bins while CLMM uses continuous tick ranges. DLMM has dynamic fees that adjust to volatility, while CLMM pools use a fixed fee tier set at creation. DLMM offers three preset liquidity shapes (Spot, Curve, Bid-Ask), while CLMM requires you to manually set upper and lower tick boundaries. DLMM also natively supports single-sided deposits. ### What are bins in DLMM? Bins are discrete price containers where liquidity is deposited. Each bin corresponds to one specific price. The active bin holds both tokens and sits at the current market price. Bins below the active price hold only the quote token (e.g., USDC), and bins above hold only the base token (e.g., SOL). The spacing between bins is determined by the bin step parameter. ### Which DLMM strategy should I choose? Spot is the safest default for uncertain markets since it distributes liquidity evenly across your range. Curve is best for stable pairs or range-bound markets, concentrating capital at the center for maximum fees. Bid-Ask suits volatile pairs or DCA scenarios, placing more liquidity at the edges. For memecoin launches, Spot or Bid-Ask provides the broadest coverage against wild price swings. ### Does DLMM have impermanent loss? Yes. Impermanent loss occurs in any AMM when the price moves from your entry point. DLMM mitigates this through dynamic fees that generate higher income during the volatile periods when IL accumulates fastest. Whether fee income exceeds IL depends on trading volume, volatility patterns, and how well your bin range matches actual price action. The net outcome varies by pair and market conditions. ### Can I provide single-sided liquidity on DLMM? Yes. You can deposit only one token in bins above or below the active price. Bins above the active price accept only the base token, and bins below accept only the quote token. This effectively creates limit orders or DCA positions. Single-sided liquidity has no impermanent loss until the price reaches your bins and begins converting your deposit into the other token. ### What is the dynamic fee on Meteora DLMM? The dynamic fee has two parts: a fixed base fee set by the pool creator and a variable fee driven by market volatility. The variable fee increases when swaps cross many bins in a short period and decreases during calm trading. The formula uses a volatility accumulator that tracks bin crossovers, squared and scaled by a control parameter. Total fees can range from the base minimum during quiet markets to several times that during volatile events. ### How do I track DLMM pool yields on Solana? You can use the Lince Yield Tracker to compare yields across DLMM and other liquidity pool types on Solana. Filter by the liquidity category to see fee APRs, TVL, and volume data for Meteora pools alongside Orca, Raydium, and other protocols. This helps you identify which pools and strategies are generating the best risk-adjusted returns at any given time.
Conclusion
DLMM represents a genuine step forward in AMM design. The shift from continuous ticks to discrete bins makes liquidity positions easier to reason about. Dynamic fees solve the static-fee tradeoff that has limited CLMM pools since their inception. And the three liquidity shape strategies give LPs a clear framework for matching their position to market conditions without custom tick math. For Solana LPs, Meteora's DLMM is already the go-to protocol for memecoin launches, and its advantages extend equally to stable pairs and major volatile pairs. The key to success is matching your strategy choice and bin range to the pair's actual behavior, monitoring active bin movement, and thinking in terms of net P&L rather than raw fee APR. The concepts here build directly on concentrated liquidity fundamentals. If you have not read our [CLMM explainer](/blog/defi-protocols/concentrated-liquidity-clmm) yet, it provides the foundational context. And if you are managing [impermanent loss across multiple positions](/blog/risk-management/impermanent-loss-explained-math-solana-lp-strategies), understanding how DLMM's dynamic fees offset IL is essential to your overall strategy. Ready to find the best DLMM yields on Solana? **[Explore DLMM pool yields on the Lince Yield Tracker](https://yields.lince.finance/tracker/solana/category/liquidity)** and compare performance across protocols, pairs, and strategies.