# Pool types

## Volatile pools

### Classic pool (CPMM v1)

* All fees collected from swaps are auto-compounded into the pool and users' liquidity positions, thus increasing in value each of their [LP (Liquidity Provider) tokens](#user-content-fn-1)[^1].
* Default trading fee for such pools is 0.25%, but levels in range from 0.1% to 1% are also possible.
* Liquidity providers earn 80% of all trading fees collected by the pool from users swaps.
* Fees are collected in both tokens of a pair, alternating — depending on swap direction. They are always withheld in a token that a trader sells, and added to LP positions instantly after each swap.
* Earned fees are not displayed separately in the interface. You get them with liquidity withdrawal.

{% hint style="warning" %}
Pools were available for creation until **Nov 17, 2025**. All pools are still functioning, but users can't create new ones [via DeDust user interface](#user-content-fn-2)[^2].
{% endhint %}

{% hint style="success" %}
Liquidity deposits / withdrawals are available. Meanwhile, it's reasonable to move liquidity to CPMM v2 pools.
{% endhint %}

Classic pool is an Automated Market Maker pool, using the "Constant Product" formula (CPMM[^3]):

{% hint style="info" %}
***x \* y = k**, where*\
*x — amount of token A in the pool*\
*y — amount of token B in the pool*\
*k — constant value, which is true for any state of the pool, defining pool's exchange rate with every new swap*
{% endhint %}

### Claimable fees pool (CPMM v2)

* All trading fees are accumulated separately from user's liquidity position. This allows liquidity providers to [claim earned fees](/en/liquidity/earnings.md) anytime, without necessity to withdraw liquidity. What is more important, it allows liquidity providers to **earn and claim fees even when liquidity is** [**locked**](/en/liquidity/deposit/advanced/lock.md).

{% hint style="warning" %}
What is essential is that the liquidity lock must be done within the [liquidity deposit](/en/liquidity/deposit.md) process on DeDust.
{% endhint %}

* Creating a pool, liquidity providers are able to choose trading fee tiers, from 0.1% up to 5%. Thus for the same trading pair several liquidity pools, with different trading fee tiers, may exist. [Router](/en/trade/router.md) will always choose the most profitable ones for every user's trade.
* Liquidity providers earn 80% of all trading fees collected by the pool from users swaps.
* Creating a pool, users may choose in which of two tokens (or both) they'd like to get earned fees.

{% hint style="info" %}
If for collecting fees only one of two tokens is chosen, then fee withheld in another token is [automatically converted](#user-content-fn-4)[^4] in it with the swap. So liquidity providers always earn all fees only in a token, defined by a pool.
{% endhint %}

* During the liquidity deposit process, users are able to permanently lock their liquidity.
* Pool creation may be postponed and scheduled for specific date and time 🔜
* Pool supports [Creator fee](#user-content-fn-5)[^5], additional kind of fee apart from [Trading fee](/en/protocol/fees.md#fee-for-swaps-or-trading-fee), allowing pool creators to earn and collect fees from trades. This may be useful for memepads[^6] and creators of [tax tokens](/en/trade/swap/tax.md).

{% hint style="success" %}
CPMM v2 pools are introduced[^7] on **Nov 17, 2025** and available for creation, deposits / withdrawals by all users. Since **Jan 26, 2026** users (typically, founders and devs) can also [Boost](/en/liquidity/boosts.md) this type of pools with extra rewards for liquidity providers, to attract more liquidity for their token.

Learn more about [**CPMM v2 pools use-cases and advantages**](/en/liquidity/pools/cpmm-v2.md) compared to other pools.
{% endhint %}

{% hint style="info" %}
CPMM v2 pools use the same Constant Product formula as CPMM v1 pools. But unlike CPMM v1 pools, CPMM v2 pools don’t assume handling of LP tokens, thus liquidity positions can't be moved between wallets (protocols). Records about all user's positions are stored in the blockchain on smart contract level.
{% endhint %}

## Stable-swap pools

This type of pools is optimized for pairs of assets of near-equal value (e.g. USDT/USDe, TON/stTON).

* Liquidity providers earn 80% of all trading fees collected by the pool from users swaps.
* Fees are collected in both tokens of a pair, alternating — depending on swap direction. They are always withheld in a token that a trader sells, and added to LP positions instantly after each swap.
* Earned fees are not displayed separately in the interface. You get them with liquidity withdrawal.
* It uses the same model as CPMM v1 pools with auto-compounded fees. But unlike CPMM pools, stable-swap pools have pretty low trading fee, only 0.05%, and use different formula:

{% hint style="info" %}
***x^3 \* y + y^3 \* x = k**, where*\
*x — amount of token A in the pool*\
*y — amount of token B in the pool*\
*k — constant value, which is true for any state of the pool, defining pool's exchange rate with every new swap*
{% endhint %}

This allows to avoid high [price impact](/en/trade/advanced/price_impact.md) and significan shifts of exchange rate with every new swap.

[^1]: When users deposit A and B tokens to liqiudity pool, in return they get LP tokens, as a proof of their positions in the pool. With every swap in such pool, LP tokens reflect not only A and B tokens initially placed to the pool, but also collected [trading fees](/en/protocol/fees.md#fee-for-swaps-or-trading-fee).

[^2]: But you still can do it on smart contract level. Use the [documentation](https://hub.dedust.io/), if needed.

[^3]: Constant Product Market Maker, in short. Often also called 'Volatile pool'.

[^4]: In other words, LPs don't lose their "second" part of fees, when only one of tokens is chosen for colleting fees.

[^5]: To create pools with Creator fee [contact our team](/en/about/contacts.md) for assistance.

[^6]: Popular platforms for launching tokens on TON, like [Uranus](https://x1000.finance/launches/new) on [x1000](https://help.x1000.finance), Blum, GasPump, Memes Lab, etc.

[^7]: [Telegram](https://t.me/dedust_en/132) | [X (Twitter)](https://x.com/dedust_io/status/1991534215800975723)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.dedust.io/en/liquidity/pools/types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
