How to create a liquidity pool?

1. Navigate to the "Pools" page#

createpool00

2. Select Pool Type#

createpool01

Currently, DODO supports 4 different liquidity pool types: standard, pegged, single-token and private pool. You cannot modify your pool’s parameters once it's being created. Upon creation, everyone will be able to deposit liquidity into the pool.

  • Standard: Standard pools are similar to Uniswap v2 pools in terms of capital allocation and efficiency. Requires liquidity for two different tokens.
  • Pegged: Pegged pools are similar to Curve pools, and are suitable for synthetic assets.
  • Single-token: Single-Token pools are created with one token type only. They are useful for selling project tokens to raise funds. You can create liquidity markets with the tokens you have and nothing more.
  • Private Pool: Only the pool creator can provide liquidity for this pool, and the pool parameters can be modified at any time after creation

3. Configure the Pool Parameters#

Standard

  • Enter the amount of tokens you would like to supply as buy and sell side liquidity.

  • The initial price of the token pair follows the market price by default. Unchecking the “Fixed ratio at current price” will expose you to the risk of being arbitraged.

  • If the “Fixed ratio at current price” is unchecked, the initial price of your pool will be determined by the buy and sell sides’ liquidity depths. For example, if there are 1000 DODO as sell side liquidity, and 100 USDC as buy side liquidity, then the initial price would be 1 DODO = 0.1 USDC (100 USDC / 1000 DODO).

  • There are three options for fee rate:

    • 0.01%: suitable for stablecoin trading pairs, such as USDT/BUSD
    • 0.3%: suitable for mainstream assets, such as BTC/ETH
    • 1%: suitable for exotic token pairs

    Note: a low trading fee rate tends to attract more trading volume in the pool.

Pegged Pool

  • Enter the amount of tokens you would like to supply as buy and sell side liquidity.

  • The pegged exchange rate follows the current market price by default. Unchecking the “Fixed ratio at current price” will expose you to the risk of being arbitraged.

  • You can uncheck the “Fixed ratio at current price” and enter the pegged exchange rate for your pool manually. The initial price of your sell side asset will the the manual entered exchange rate.

  • There are three options for fee rate:

    • 0.01%: suitable for stablecoin trading pairs, such as USDT/BUSD
    • 0.3%: suitable for mainstream assets, such as BTC/ETH
    • 1%: suitable for exotic token pairs

    Note: a low trading fee rate tends to attract more trading volume in the pool.

  • There are three options for the Slippage Coefficient (k), and the value is set a 1 by default:

    • K = 0.5: suitable for most trading pairs
    • K = 0.01: suitable for trading pairs with low volatility, such as BUSD/USDT
    • K = 1: suitable for volatile assets

    Note: the smaller the slippage coefficient, the lower the slippage for traders, and the deeper the market depth. To learn more, watch our tutorial video on slippage coefficient on DODO.

Single-Token

  • Enter the amount of tokens you would like to supply as sell side liquidity。

  • The initial price follows the current market price by default. Unchecking the “Fixed ratio at current price” will expose you to the risk of being arbitraged.

  • You can uncheck the “Fixed ratio at current price” and enter initial price for your pool manually. Your sell side liquidity will be sold at the manually entered initial price.

  • There are three options for fee rate:

    • 0.01%: suitable for stablecoin trading pairs, such as USDT/BUSD
    • 0.3%: suitable for mainstream assets, such as BTC/ETH
    • 1%: suitable for exotic token pairs

    Note: a low trading fee rate tends to attract more trading volume in the pool.

  • There are three options for the Slippage Coefficient (k), and the value is set a 1 by default:

    • K = 0.5: suitable for most trading pairs
    • K = 0.01: suitable for trading pairs with low volatility, such as BUSD/USDT
    • K = 1: suitable for volatile assets

    Note: the smaller the slippage coefficient, the lower the slippage for traders, and the deeper the market depth. To learn more, watch our tutorial video on slippage coefficient on DODO.

Private Pool

  • Enter the amount of tokens you would like to supply as buy and sell side liquidity. Currently “Standard” and “Single-Token” pool creations are supported for Market Maker Pools.

  • The initial price of the token pair follows the market price by default. Unchecking the “Fixed ratio at current price” will expose you to the risk of being arbitraged.

  • There are three options for fee rate:

    • 0.01%: suitable for stablecoin trading pairs, such as USDT/BUSD
    • 0.3%: suitable for mainstream assets, such as BTC/ETH
    • 1%: suitable for exotic token pairs

    Note: a low trading fee rate tends to attract more trading volume in the pool.

  • There are three options for the Slippage Coefficient (k), and the value is set a 1 by default:

    • K = 0.5: suitable for most trading pairs
    • K = 0.01: suitable for trading pairs with low volatility, such as BUSD/USDT
    • K = 1: suitable for volatile assets

Note: the smaller the slippage coefficient, the lower the slippage for traders, and the deeper the market depth. To learn more, watch our tutorial video on slippage coefficient on DODO.

4. Check Pool details#

Go to “My Pool”, and click “Manage” to view the details of the pool, such as its trading volume, trading fee revenue, etc.

5. Invite your friend to provide liquidity#

Click “Invite” to share the link of your liquidity pool to your friends

6. Deposit/Withdraw Liquidity#

  • Navigate to “Pools” → “My Liquidity”
  • Find the liquidity pool
  • Deposit or withdraw your liquidity

Learn more about the characteristics of different pool models#

Learn more about Standard Pool

The Standard Pool model offers a classic market making strategy, allowing users to participate without any expertise in the market. The price curve pattern of the Standard Pool is controlled by an external oracle, allowing liquidity to always be concentrated around the market price.

In order to maintain the price curve, the Standard Pool needs to frequently change the mid price, which is currently maintained by Chainlink. It is understood that each time Chainlink changes its price, the Standard Pool resets the price curve.

Other Parameters

In addition to the guide price i, there are two other parameters controlled by DODO. These are the slippage factor k and the commission rate fee, which can be modified by DODO's multisig admin wallet. In the future, DODO will transfer all control of the Standard Pool's parameters to a DAO, so that market-making strategies will be managed by the community.

Learn more about Pegged Pool

Pegged Pools are liquidity pools that are optimized for synthetic assets. Synthetic assets are a large class of assets that anchor their price to a certain target through various mechanisms. For example, USDT, USDC, BUSD, DAI are all anchored to USD; WBTC, RENBTC are anchored to Bitcoin. The exchange rates between similarly anchored coins are very stable and usually hover around 1:1. A DODO Pegged Pool defines a curve that concentrates liquidity at the anchored price, which fits the synthetic asset market pattern, and therefore provides ample liquidity.

With DODO, anyone can create a Pegged Pool and set the exchange ratio, slippage factor and commission rate to suit their needs. This pool is regulated by the PPM algorithm.

Pegged Pools are Optimized for Synthetic Assets

If your project issues its own USD stablecoin or other synthetic asset (e.g. sBTC), it can use a Pegged Pool to provide liquidity to it. Compared to a regular AMM pool, this curve can help your stablecoin gain 10x or even 100x more liquidity with the same TVL.

This is possible even if the synthetic token is not pegged 1:1 to an underlying asset. For example, it is possible to launch a token that is anchored to $0.1 USD.

Parameters Cannot be Modified

The market between the synthetic asset and the target token is usually very stable, and in order to give users reliable expectations, the parameters of the Pegged Pool cannot be changed once set.

Real Life Examples

DODO maintains a Pegged Pool for DAI-USDT. This pool can often have a daily turnover rate of 50% to 100%, which is 5 to 10 times higher than competing products.

Learn more about Single-Token Pool

Many project owners face the following problems when using AMMs to provide liquidity:

  • You must have project-side tokens to provide liquidity
  • Buying project-side tokens requires good liquidity

To solve these problems, project owners must rely on a complex issuance process. Whether it's an auction, liquidity mining, or providing initial liquidity themselves, it takes up a lot of the project owner's energy and increases the barrier to user participation.

DODO has created a unilateral initial liquidity solution to make the whole process simple, called the Single-Token Pool model. Let's see how it works.

DODO's Single-Token Pool Model

A Single-Token Pool can be compared to a vending machine that allows you to return assets purchased from it. The more units you buy, the more expensive each one becomes. The money you pay for the goods is stored in the pool, and when you don't want the assets you purchased, you can return them at the current price.

The price curve of a Single-Token Pool is defined by the PMM algorithm as a price curve with a minimum price, which is the price of the first item purchased from the pool.

Anyone can set up a Single-Token Pool and set the variety of goods it contains. You can set it up with mainstream assets like BTC and ETH, or with new assets that you issue yourself.

You don't need to provide any denominated assets at first, just fill the vending machine with goods. This design allows you to create ample liquidity for your tokens on DODO, without spending a dime, in just 5 minutes.

Similarity to AMMs

If a Single-Token Pool is created with the slippage factor K=1 and the guide price i is a very small number, then it behaves almost the same as an AMM. You can think of the Single-Token Pool curve as an AMM price curve that truncates the parts that are smaller than i. The smaller i is, the closer it is to a true AMM curve. This can be accomplished by setting .

For more information on these calculations, see the PMM Overview section.

Anyone Can Participate

Anyone can supply the Single-Token Pool with both sides' assets to participate in the liquidity supply, just as with an AMM. The difference here is that the value of the two assets need not be 1:1 when resupplying.

Anyone can participate in adding liquidity, which is these pools are sometimes referred to as public pools.

Use Cases

Build Initial Liquidity for High Volume Markets

Suppose you are a blockchain developer and want to build a community-driven project. You can issue 10 million tokens, of which 1%, or 100 thousand, are reserved for the project team. The rest (i.e. 9.9 million tokens) are distributed to the community.

Let’s say you set the token price to 1.Ifyouwanttocreatealiquiditymarketforall9.9milliontokensonanAMM,youneedanother1. If you want to create a liquidity market for all 9.9 million tokens on an AMM, you need another 9.9 million as the bid-side liquidity to do it - a huge amount of money that you probably don’t have, and so this project becomes infeasible.

Your alternative is to create a simple AMM pool with much fewer tokens and less liquidity in it, say 1,000and1,000tokens,butifsomeonewantstoinvest1,000 and 1,000 tokens, but if someone wants to invest 100,000 in your project token, he will have to pay 100,000andreceiveonly1,000tokensinreturn.Thisamountsto100,000 and receive only 1,000 tokens in return. This amounts to 100 per token, 100x the market price you set! This is, of course, not desirable, and this market is definitely not an efficient market.

However, you can choose to build a Single-Token Pool with these 9.9 million tokens at an initial price of 1andwiththekvaluesetto1.Ifacommunitymemberisbullishonyourprojectandbuys100,000tokens,hisaveragepriceisonly1 and with the k value set to 1. If a community member is bullish on your project and buys 100,000 tokens, his average price is only 1.005 per token!

Raising Liquidity Fast

Imagine, for example, an algorithmic stablecoin project whose USD-pegged coin has dipped below 1.Theprojectneedstoraiseliquidityassoonaspossibletopreventadeathspiral.Ifyoucanreversethepricedeclineat1. The project needs to raise liquidity as soon as possible to prevent a death spiral. If you can reverse the price decline at 0.9, it will greatly strengthen market confidence, but if it reverses only at $0.5, it may have led to a permanent loss of confidence in your token.

This hypothetical project has an easy solution to its woes! Suppose the project token is called X. Create a DAI-X pool, set the guide price to 1, and k=0.01. In addition, you incentivize liquidity providers to deposit their LP tokens into this pool with rewards in X. This way, you can ensure ample bid-side liquidity that is allocated near 1 X = 1 DAI, which is a much more capital-efficient funding model than traditional AMMs.

Even if it’s not an algorithmic stablecoin project, you can still raise funds for your token at key support price levels with Single-Token Pools, coupled with a reward incentive program to encourage liquidity provision.

Learn more about Pegged Pool

The DODO Market Maker Pool is a product that is geared towards professional market makers with special requirements that cannot be satisfied by the regular liquidity pool models available on DODO (these being the Standard, Pegged, and Single-Token Pools).

A Market Maker Pool differ from the other liquidity pool models available on DODO in two major ways:

  • only the pool creator can supply liquidity to the pool, and
  • The Market Maker Pool's parameters can be adjusted by the pool creator at any time after the pool is created.

In other words, you can set the price curve any way you want and provide any amount of money, just like with a grid trading instrument.

Examples

Imagine that, as a market maker, you predict that ETH is going to fluctuate around $X and set the price curve for that point, making your liquidity provision very competitive with very little capital - and earning you large fees.

Or, you may sense that ETH is about to rise and withdraw your ETH inventory to reduce your one-sided risk. Or perhaps you go even further and withdraw some of your USDT to invest in more ETH.

Perhaps you want to raise money to buy a CryptoPunk worth 1000 ETH, you can issue 1000 MINIPUNK tokens and sell them at a constant price of 1 MINIPUNK = 1 ETH. After the sale, the 1000 ETH in the pool can be withdrawn immediately and used to buy the CryptoPunk.

Real-World Examples

Wootrade has created a Market Maker Pool on DODO, using the PMM algorithm to provide liquidity on the chain. It also hedges positions on other exchanges to generate stable returns.

In the eight month period between March and November 2021, Wootrade provided over 10millioninTVLandgeneratedover10 million in TVL and generated over 10 billion in trading volume and $7 million in fee income!

How Does This Work?

Most on-chain liquidity is currently provided by AMMs, but this type of market making is very rudimentary. It is essentially a grid trading strategy that ranges from 0 to infinity. Professionals can often provide liquidity more efficiently based on some market information, and in turn get far better capital utilization than with AMMs, securing a large number of trades with a relatively small amount of capital.

The PMM algorithm provided by DODO is more flexible than the AMM algorithm and can give professional market makers a major competitive advantage. You can adjust the parameters to make PMM quotes fit to your own price models.

In addition, DODO's liquidity pools are accessed by all major aggregators, including 1inch, Matcha, Paraswap, and others. These diverse distribution channels can help you deliver liquidity to more users.

Best Practices

Private pools are very flexible and the ways to use them are still being explored. However, many people have adopted a fully or partially hedged approach to using private pools. There is always risk involved when operating a liquidity pool. However, building an automated market-making bot to reduce this risk requires coding experience.

Other Use Cases

Avoiding Downside Risk

When market conditions change, market makers need to take measures to avert and reduce downside risk, which is the estimated amount of loss in value of their assets that could be sustained as a result of market movements. With a Private Pool, they can do so easily by removing some of their bid-side liquidity (i.e. withdrawing the tokens opposite the token asset that is expected to depreciate in value).

Active Price Discovery

You are a market maker for the apple market. You feel that apples have a lot of potential and their price will go up. Not wanting to sell apples at a low price, you have two options on AMMs:

  • Buy apples yourself - you need a lot of capital to do this.
  • Reduce the size of the pool by withdrawing apples from the market - market liquidity will be negatively affected.

Neither option is ideal, because you do not have the power to actively influence the price discovery process within the AMM framework. The process of determining the price of apples happens passively as buyers and sellers interact. You believe you have a sound market thesis, but unfortunately you don’t get to apply it.

Using a DODO Private Pool drastically improves the market making experience. It allows them to intervene and adjust the market price directly. This is what we call active price discovery, because market makers actively get involved in the price discovery process, which renders it more efficient.

Constant Price Market

You just issued a new stablecoin, X, that is pegged to 1 USDT. To create a liquid stablecoin market for X and USDT, you can add some USDT and a much larger amount of X to a Private Pool, and set k=0. This market will guarantee that 1 X is always swapped for exactly 1 USDT.

You could also set k to a very small non-zero value (e.g. k=0.001) to get an “approximately constant” pricing curve as seen on Curve.

Reversion to Traditional AMM

Set k=1, and deposit both base and quote tokens with a price ratio i, to get a market that behaves and performs in the exact same manner as traditional AMMs. For example, if the initial price i is 1 base token = 3 quote tokens, then simply deposit base and quote tokens at a 1:3 ratio.

Market Value Management

If the main liquidity of the market is provided by you, you can set the price and depth as needed. This allows you to provide price support and curb speculation.


Risk Disclaimer

Liquidity mining is not risk-free, and there is always a possibility of loss. Please be careful when proceeding and make sure you understand the risks.