DLMM: New dynamic liquidity protocol to boost LP fees on Solana

Meteora
12 min readJan 23, 2024

At Meteora, we absolutely love liquidity providers (LPs)! LPs are massive contributors to the Solana ecosystem, helping to facilitate a seamless on-chain trading experience by improving liquidity and reducing slippage.

We’ve been committed towards building products that address LP pain points and support what we felt was their primary driver — making much more internet money with their capital😉

We believe we have found the perfect tool to do so with our Dynamic Liquidity Market Maker (DLMM)!

DLMM: Key Features and Benefits

1. Precise liquidity concentration with zero-slippage bins

  • Higher capital efficiency and fees for LPs
  • Higher trading volume and fees due to zero slippage within each bin that greatly reduces price impact

2. Flexibility to choose your preferred volatility strategy

  • Greater flexibility and control for LPs when it comes to efficient liquidity distribution
  • Unlocks more opportunities to capture higher fees based on market conditions and LP objectives / risk profile

3. Dynamic fees that capitalize on volatility

  • Fees that increase or decrease depending on how volatile the market is, which in turn help offset losses that LPs may experience in volatile markets and enhance LP profitability

Since the unveiling of the DLMM beta in December 2023, the protocol has generated close to $1 Billion in trading volume from just ~$12 Million in TVL, which is a testament to its extremely high capital efficiency and potential for earning fees.

We hope to spread the love to more LPs and help them understand the many benefits of using DLMM!

Why LPs should pay attention to DLMM

There are various reasons to be an LP, but we think most would agree that earning fees is a top priority. As such, when building the DLMM, our team focused heavily on designing robust features that enable LPs to earn as much fees as possible with their capital.

What’s stopping LPs from earning more fees?

LPs earn fees from traders whenever swaps occur, in proportion to their share of the liquidity pool. Typically, the higher the trading volume through the pool, the more fees earned by LPs.

However, the liquidity deposited in automated market makers (AMMs) and liquidity protocols is often not efficiently utilized, as it is distributed across all prices from 0 to infinity, resulting in plenty of idle capital that is unavailable at the current price and does not capture fees. In addition, most liquidity pools have fixed fee tiers, which might result in an opportunity cost for LPs whenever there is high trading demand since traders are more willing to pay higher fees during that period.

Most liquidity not efficently utilized

For all you LP chads out there, a smarter way to provide liquidity was needed!

DLMM was designed to tackle prevailing issues and provide a powerful fee-generating machine for LPs on Solana.

1. Higher fee capture with precise liquidity concentration and zero-slippage price bins

Similar to how concentrated liquidity market makers (CLMMs) operate, DLMM supports high volume trading with relatively low capital by allowing LPs to specify a price range and concentrate tokens around the current market price.

But DLMM vastly improves upon what the CLMM offers with the introduction of zero-slippage price bins. Unlike in CLMMs, the liquidity of an asset pair in the DLMM is organized into discrete price bins and the reserves deposited in a bin are available for exchange at the price defined for that particular bin.

As such, trades within an active bin has zero slippage or price impact, so LPs can expect a lot more volume going through DLMM. This is especially powerful since DLMM is integrated into the popular Jupiter aggregator, enabling tens of thousands of traders to access and benefit from DLMM liquidity.

How price bins function

  • The active price bin is the bin that contains reserves of both token X and Y. All bins to the left of the active bin will only contain token Y, while all bins to the right of it will only contain token X. There can only be one active bin at any point in time and this bin earns trading fees.
  • Liquidity can be exchanged at a fixed price within each bin; ensuring zero slippage swaps within the bin.
  • Trades add X tokens and take out Y tokens (or vice versa), until there is only just 1 type of token left in a bin and the active bin shifts left or right.
  • All bins except for the active bin contain just one type of token (X or Y) because one token has been depleted or waiting to be used in the bin.
  • The difference in price (using basis points) between 2 consecutive bins is the bin step. The bin step represents how much the price needs to move before the active price point moves from one bin to the next. Since the current maximum number of bins is 69, a larger bin step in the pool enables the maximum price range to be wider. However, there are also advantages of having a smaller bin step that you can read here.
  • The market for the token asset pair is established by aggregating all the discrete liquidity bins.

What does this mean for LP fees?

This likely translates to a lot more fees using the same or less tokens, especially for more stable pairs that have less volatility.

LPs are able to review all available price bins where the current active bin is, before selecting the precise price points they want to provide liquidity on and how deep the liquidity is. Paired with zero-slippage bins, this makes it easier for LPs to concentrate their liquidity further to achieve even higher capital efficiency and capture more volume and fees than they could on a CLMM.

This is especially useful for more stable token pairs where trades happen within a tight range. For example, USDC/USDT trades typically happen around the $0.99 — $1.01 range, so liquidity outside this range is often untouched and LPs do not earn fees. As an LP, you can precisely concentrate most liquidity within an active bin of $1, and this would optimize your volume capture and hence trading fees earned.

In another example below, you can see that in a less concentrated position (with a wider price range), only 0.017399 SOL is utilized in the active bin, while in a more concentrated position (narrower price range), 0.090996 SOL is utilized in the active bin. If there’s more SOL in the bin, that means more SOL can be utilized for trades = more volume and fees.

In the future, DLMM can integrate our Dynamic Vaults so LPs can earn lending yield on capital in unused bins, further increasing capital efficiency.

2. More opportunities for higher fees through different volatility strategies

Another reason why we believe (in our biased opinion) DLMM is the smartest way to provide liquidity on Solana is that LPs have the flexibility to select their volatility strategy. For more active LPs, this flexibility gives them greater control when it comes to optimizing for higher earnings.

LPs can select the precise price points they want to provide liquidity on and the amount of tokens to be allocated at different price points to build a desired liquidity model that best suits their strategy — essentially determining how deep or concentrated they want liquidity to be at various price points.

What does this mean for LP fees?

For LPs who have a good read of the market and deploy the right strategy that complements the volatility of the asset pair, they are able to achieve extremely high capital efficiency and earn much higher fees.

What happens if the price goes out of your price range?

As with any concentrated liquidity model, if the current active price moves outside of the price range you initially set, your position becomes inactive and you stop earning fees. Your position would also be left with one type of token out of the pair. You cannot change your price range for your position once it’s created. You can either wait for the price to return within your range (especially if it’s not too far out), or rebalance by withdrawing liquidity/closing your position and opening a new position with a new price range.

Which volatility strategy should you use as an LP?

1. Spot

Spot provides a uniform distribution of liquidity that is flexible and suitable for any type of market and conditions. It is relatively the most straightforward strategy to deploy for new LPs who don’t want to rebalance their position on a daily basis. This is similar to setting a CLMM price range.

Example: If you think that SOL prices would fluctuate rather steadily between $82 and $85 within the next 5 days, you can add liquidity to a SOL/USDC pool using a Spot strategy and setting the range (with some buffer) to be 81.90 to 85.86 USDC per SOL. At 60 bins, this gives you wider coverage to earn consistent fees and you might only need to rebalance your position once every few days.

2. Curve

Ideal for a concentrated approach that aims to maximize capital efficiency by allocating capital mostly around the active bin in the middle of your price range. This is great for stables or pairs where the price does not change very often.

Example: You think crypto will suffer a drop over the next 2 weeks and want to hold stablecoins, so you add liquidity to a USDC/USDT pool to earn fees in the process. Since this pool has very little volatility, you can consider a Curve strategy. You can specify a very tight range of 0.999500 to 1.002904 USDT per USDC (e.g. 35 bins) as you expect the price to stay very close to the middle; at the current price of 1.001301 USDT per USDC. As the price moves away from the middle, less liquidity is deployed per bin (bin size gets smaller).

3. Bid-Ask

Bid-Ask is an inverse Curve distribution, where most of your capital is allocated towards both ends of the range. This strategy can be used to capture bigger volatility swings away from the current price. Bid-Ask is more complex than Spot and may require more frequent rebalancing to be effective, but has a high potential for fee capture during situations where prices fluctuate wildly around the current price. Bid-Ask can also be deployed single sided for a DCA in or out strategy.

Example: If you are equally bullish BONK and SOL, don’t mind holding either BONK or SOL over time, and think that BONK/SOL prices tend to fluctuate a lot within a given range during this period, you can consider a Bid-Ask strategy. In this example, most of your capital gets deployed towards both ends of the range at the minimum price of 0.0000000880620387 and 0.000000173238 SOL per BONK. As BONK prices move away from the middle, more liquidity is used and you will buy or sell BONK or SOL (depending on price direction) at an increasing rate. You should be prepared to rebalance more frequently, perhaps every 2–3 days.

4. Special use case: Single-sided Liquidity Position

In a scenario where you want to use only one token at the start to LP, DLMM offers you the flexibility to open a single-sided liquidity position. The reason you would do this is to use one token to DCA (dollar cost average) and buy the opposite token in the pair over time if you think the price would decrease/increase. In other words, selling one token to the other in the pair over time. Single-sided liquidity positions can be paired with the volatility strategy (Spot, Curve, Bid-Ask) of your choice.

Example: You have USDC and you want to buy SOL. The current SOL price is 105.959086 USDC per SOL. You expect SOL price to decrease from 105.959086 to 102.787648 over the next week. You hope to buy more SOL as it gets cheaper. You can turn off “auto-fill”, add USDC only and set your price range to be from minimum 102.787648 to maximum 105.959086 USDC per SOL. Note that you cannot set a range beyond the active bin price at that time (e.g. 105.959086) because on the opposite side of the active bin, only SOL liquidity can be added, not USDC. Choose your volatility strategy; here we used Spot for a uniform distribution. As SOL price drops, your USDC would be traded out of your position and more SOL would be added. Once SOL price reaches your minimum of 102.787648, all USDC (blue bars) would have been traded out and your position would be left with only SOL (purple bars).

3. Dynamic Fees that capitalize on volatility

As an LP, one risk faced is impermanent loss (IL). IL occurs when the value of the LP’s initial token deposit in the pool becomes less compared to holding the tokens separately without depositing them in a pool.

Consider a scenario where you LP into an A/B pool and the value of token A increases against token B; you will end up with more of token B and less of A. If the combined value of your eventual A and B token amounts in the pool is now less than if you had simply held the original tokens (without providing liquidity), you’d have suffered IL. This loss is “impermanent” because it is only fully realized when you withdraw your liquidity. Since IL increases as price diverges, it is exacerbated by higher market volatility.

To counter IL, DLMM has dynamic fees that are designed to capture more value from market volatility. Fees increase during high market volatility to provide more returns for LPs with the given volume and decrease during low market volatility to encourage trading volume that generates fees.

Dynamic fee has 2 components — Base fee and Variable fee

  • Base Fee: The base fee of a market is configured by the pool creator and determined by the bin step (difference in basis points between 2 consecutive bins) and the base factor — which is the amplification to add to the bin step to allow for adjustment of the base fees.
  • Variable Fee: The variable fee depends on the volatility of the market, which is affected by swap frequencies as well as swaps that span across many bins. Fees are calculated and distributed on a per bin basis, allowing for a fair fee distribution to the LPs of each bin that is crossed.

What does this mean for LP fees?

By increasing or decreasing fees based on market volatility, dynamic fees help mitigate the impact of IL and hence increase the likelihood of LP profitability. This is especially useful for volatile trading pairs (as higher volatility leads to higher IL), where overcoming IL has always been a challenge, especially without farming rewards.

Time to stack fees and points on DLMM!

We hope this article has been a helpful guide as you take your first steps as a DLMM LP. You can also view our DLMM docs here.

For a more visual guide, please watch these video tutorials:

With the 10% LP Stimulus Program, there is no better time to check out the DLMM and benefit from its precise liquidity concentration, volatility strategies, and dynamic fees. Learning how to provide liquidity right now would give you a definitive edge once the points system officially begins on Jan 31 together with the JUP token launch (also using DLMM!).

In addition, we’d have a Beta Tester Bonus Package for LP contributors during our DLMM Beta period from Dec 1st to Jan 31. This bonus package will be determined at the end of our points system. All points earned will translate to a MET token drop after the MET liquidity event once we have achieved our targeted milestones.

Moving forward, LPs can expect even more opportunities for rewards, with projects such as Kamino Finance integrating Meteora’s DLMM to their vaults and launching their own points system. This means as a DLMM LP, you are able to stack points from multiple sources.

We’re very excited for the future of DLMM and can’t wait to witness the different ways LPs would use it to earn higher fees! Come share your strategies with us on the Meteora discord.

--

--

Meteora

Building the most secure, sustainable and composable yield layer for all of Solana and DeFi. Discord: https://t.co/vJ6ey5RYnm