Kandel is a liquidity management grid built on Mangrove's decentralized exchange (DEX) that allows users to profit from price oscillations automatically, based on specified parameters. It uses Mangrove's "Offer-is-Code" system to set and locate bids and asks without locking assets upfront. By setting a price range and choosing key parameters, Kandel users can continuously capture value from market movements without excessive management, outperforming traditional AMMs like Uniswap v3 under certain conditions.
In any market, including Decentralized Finance (DeFi), assets move in relation to one another, whether in bullish, bearish, or stable conditions. Sometimes, markets oscillate within a range for weeks or even months, making it difficult to take short-term positions. By concentrating liquidity in a specific price range, you can capitalize on these movements.
Enter Kandel—using Mangrove’s flexible order book, Kandel automates this process, allowing you to profit from price fluctuations.
With Kandel, if you want to profit from price movements, you can automate the entire process within a predefined range. There’s no need to manually place offers on Mangrove’s decentralized order book every time prices shift or set multiple limit orders. Kandel leverages Mangrove’s 'Offer-is-Code' innovation and puts it to work for you.
Once you identify the price range where an asset is likely to oscillate, Kandel allows you to distribute liquidity automatically. Each price point within this range represents a potential trade and profit opportunity, enabling you to efficiently capitalize on market volatility.
Let’s start with an example.
Imagine you're starting with ETH at 1300 USDC and expect significant price oscillations in the coming days. You select the ETH/USDC pair and define a trading range from 1234 to 1365 USDC. As market conditions evolve, you can adjust your strategy on Mangrove by editing this range, adapting to real-time price movements.
Kandel simplifies the process of placing multiple offers across a price range. Once you’ve chosen your price range, you can specify how many orders you want to initially place within it. For example, you might set up 10 price points across the range, which will be geometrically distributed—this is a form of discrete liquidity distribution. If you have more liquidity, you can create thousands of offers! The maximum number of price points depends on factors like your liquidity, the range, and the asset (due to the ticker).
It might seem that increasing the number of price points enhances your chances of profiting from price fluctuations. However, empirically, we’ve found that this isn’t the case. In practice, the significance of your inventory—the amounts of quote and base assets you hold—may vary depending on whether the price points are set closer together or farther apart, and how they align with market conditions.
You'll quickly realize that the key to profiting with Kandel isn’t just the number of orders or their spacing, but above all, how far the price moves along the grid each time an order is triggered, reaching the next take-profit point.
Let’s continue with our example.
You decide to place 10 points. For simplicity, let's assume an allocation of 1 ETH per price point. Given these parameters, if your Kandel strategy generates a grid of 10 price points, you'd allocate a total of 10 ETH (1 ETH * 10 price points). By default, the ratio—representing the spread between each offer—is approximately 1% of the initial price (though due to ticks, this will not be exactly 1%).
Orders from the minimum price up to the current price are bids:
1234 USDC for 1 ETH
1247 USDC for 1 ETH
1261 USDC for 1 ETH
1274 USDC for 1 ETH
1287 USDC for 1 ETH
This means you’re buying low.
As a reminder, our reference price is still 1 300 USDC per unit of ETH.
Orders from the current price up to the maximum price are asks:
1313 USDC for 1 ETH
1326 USDC for 1 ETH
1339 USDC for 1 ETH
1352 USDC for 1 ETH
1365 USDC for 1 ETH
This means you’re selling high.
One of Kandel’s most powerful features relies on its dual offer system, allowing users to continuously benefit from price oscillations within their chosen range. When a buy or a sell is executed, Kandel automatically reposts a new offer, adjusting based on the user's preset step size, ensuring that liquidity is always active.
How does it work? In this example, you’ve decided to place 10 points, and let’s say you’ve chosen a step size of 1. For bids, selecting a step size of 1 will repost the dual offer 1 price point above the executed bid. For asks, the dual offer will be reposted 1 price point below the executed ask. (A second example below describes the same process with a step size of 2.)
Now, imagine ETH drops by 1% [EVENT 1]. Your closest bid is executed, meaning you’ve bought 1 ETH for 1287 USDC.
To prepare for a potential price rise, Kandel will automatically repost this liquidity as a new ask, one price point above the price point of the taken bid.
This process is automatically managed by Kandel, as part of its trading behavior. All the received liquidity, 1 ETH, is used to populate the corresponding ask. Therefore, 1 ETH is now offered for 1300 USDC at the price point 1300 USDC per ETH.
Your bids:
1234 USDC for 1 ETH
1247 USDC for 1 ETH
1261 USDC for 1 ETH
1274 USDC for 1 ETH
Your asks:
1300 USDC for 1 ETH - NEW
1313 USDC for 1 ETH
1326 USDC for 1 ETH
1339 USDC for 1 ETH
1352 USDC for 1 ETH
1365 USDC for 1 ETH
Now, ETH’s price returns to 1300 USDC, and the ask we just posted is taken [EVENT 2].
When an ask is taken, Kandel sends the corresponding amount of base tokens (ETH) and receives the corresponding amount of quote tokens (USDC).
Here, Kandel sends 1 ETH and receives 1300 USDC, meaning you’ve sold 1 ETH for 1300 USDC.
Thanks to the dual offer, Kandel uses the received amount of quote tokens (USDC) to post a new bid one step lower.
In our example:
You previously sent 1287 USDC and received 1 ETH through your bid.
You just received 1300 USDC for selling 1 ETH through your ask.
Profit:
1300 - 1287 = 13 USDC
13/1300 = 0.01 = 1%
You made a 1% profit on the spread!
The 13 USDC is reinvested into the strategy, and a new bid is reposted one step lower, at the price point of 1287 USDC per ETH: 1300 USDC for 1.01 ETH.
To sum up...
Your current bids:
1234 USDC for 1 ETH
1247 USDC for 1 ETH
1261 USDC for 1 ETH
1274 USDC for 1 ETH
1300 USDC for 1.01 ETH at the price point 1287 USDC per ETH - NEW
Your current asks:
1313 USDC for 1 ETH
1326 USDC for 1 ETH
1339 USDC for 1 ETH
1352 USDC for 1 ETH
1365 USDC for 1 ETH
There are still 10 offers in this example because the step size is 1. With a step size of 2, when the first bid is taken [EVENT 1], the dual offer reposts 1 point higher than it would with a step size of 1, allowing liquidity to accumulate at the 1313 price point. You would then have an ask for 2626 USDC for 2 ETH at a price of 1313 USDC per ETH.
In this second example, ETH’s price reaches 1313 USDC, and the ask is taken [EVENT 2’].
Initially, 1 ETH was offered for 1313 USDC.
You previously sent 1287 USDC and received 1 ETH through your bid.
1 ETH is added to the ask at 1313 USDC per ETH (and not at 1300 because the step size is 2, not 1).
You now receive 2626 USDC for selling 2 ETH at the price point 1313 USDC per ETH, one of which was bought at 1287 USDC.
Profit:
2626 - (1313 + 1287) = 26 USDC
26/2626 = 0.01 = 1%
You made a 1% profit on the spread!
However, your PnL is 2x higher compared to using a step size of 1.
Using a step size ≥ 2 allows for more consistent liquidity on the books, regularizing the strategy’s PnL while keeping a reasonable spread between price points. The key to PnL isn’t the distance between price points but how far money moves along the price grid each time an offer is taken.
To summarize, Kandel allows you to:
Adjust the range: minimum and maximum price.
Change the number of price points across the range.
Adjust the weight of your inventory (providing more ETH than USDC or vice versa) and create an asymmetrical range. In this case, the offers will still be uniformly distributed along the range; therefore, you won’t post the same number of bids and asks.
Edit the step size.
Effectively configuring these parameters means deploying your own price grid. These factors can significantly impact the profitability of the strategy.
Kandel sets users free to tailor their strategies based on market outlook at a given time. Users anticipating future volatility can reflect that view by adjusting the parameters. This flexibility allows them to customize their liquidity provision according to their expectations and risk appetite.
Thanks to its reallocation mechanism, users not only profit from market oscillations, but their asset holdings also adjust dynamically. Kandel ensures capital remains invested in the market and a continuous opportunity to profit from trades within the range.
In a nutshell, Kandel automatically posts bids and asks within your chosen market and price range, using an automated dual-offer system to buy low and sell high, generating profit through the spread between bids and asks while recapitalizing the profits for upcoming unfilled offers.
Kandel operates on Mangrove's decentralized order book but implements the principles of a concentrated liquidity AMM (CL-AMM), similar to Uniswap v3. Both systems allow LPs to define specific price ranges, optimizing capital efficiency.
However, the key difference lies in their operational models: Uniswap v3 is continuous, meaning liquidity flows smoothly across price ranges, while Kandel adopts a discrete model (dAMM). This means Kandel grids, seen as AMM strategies, operate in defined price points, offering greater flexibility compared to continuous models by allowing more granular control of liquidity allocation and, above all, profitability from bid-ask spreads. On Mangrove, Kandel’s strategies mirror AMM principles but profit from frequent and significant price fluctuations, unlike continuous AMMs like Uniswap v3, which rely primarily on fees.
Under certain market conditions, Kandel can outperform traditional AMMs. For example, with market volatility of 9.5%, a Kandel’s discrete strategy can collect nearly double the profit compared to the fees earned on Uniswap v3.
Profiting from the spread, rather than just collecting fees, Kandel offers an innovative way to manage liquidity in DeFi, overcoming impermanent loss. This opens up a new revenue stream, particularly for market makers who want to actively manage their liquidity without being overly reliant on fees.
Furthermore, Kandel provides more customization in liquidity deployment compared to Uniswap v2, which requires a 50/50 split between assets. With Kandel, you can skew your liquidity to reflect a bearish or bullish view of the market, offering greater strategic control.
Mangrove's unique liquidity flexibility supercharges Kandel, allowing it to provide even more benefits to liquidity providers. By leveraging Mangrove’s unlocked assets, Kandel offers LPs enhanced opportunities, going beyond just profiting from price oscillations and enabling them to maximize their returns across multiple strategies. We’ll dive deeper into Kandel’s advanced liquidity sourcing options in our next article.
In a nutshell, Kandel offers a fresh approach to liquidity management by combining the principles of grid trading with market making in DeFi. Its discrete model and dual offers allow users to adopt liquidity provision strategies that enable LPs to take profits without needing to be active traders, while providing the flexibility to customize their profit capture. By empowering users with this adaptability and efficiency, Kandel is set to redefine how we think about liquidity provision in the DeFi space.
⚡️Trade now on Mangrove dApp.
🌐 Follow us on Twitter and join our community on Telegram and Discord.