The Liquidity Model of DODO V3
DODO V3's algorithm is based on DODO's PMM algorithm. For a detailed introduction to the PMM algorithm, you can refer to this document.
The DODO V3 algorithm has made the following improvements to the PMM algorithm:
- Decoupling of ask curve and bid curve. When liquidity on one side of the curve is consumed, the other side of the curve does not automatically move to replenish liquidity. Both sides of the curve independently follow the PMM algorithm.
- Price truncation. SP can set a truncated price, allowing the curve to move within a certain price range for better liquidity concentration.
- Mixed coin pool: By using VUSD (Virtual USD token) as an intermediary and constructing ask curves and bid curves with actual tokens, any two types of tokens can be exchanged.
Illustration of V3 algorithm curves#
Classical PMM Curve
After someone takes an ask order, the liquidity of the ask side decreases while the liquidity of the bid side increases. At the same time, both bid and ask prices increase. The red bid curve is obtained by shifting the black bid curve upwards, and the red ask curve is obtained by shifting the black ask curve downwards.
The algorithm curve of v3, the bid and ask sides are decoupled. When someone buys, the bid depth and price remain unchanged, while the ask price increases and the depth becomes shallower. Note: The ask curve should be shifted downwards without any horizontal shift or change in slope. This is because the depth within each price range remains fixed and does not vary with trading activity.
v3 also introduces the feature of price truncation, which means that the bid curve has a minimum price and the ask curve has a maximum price, allowing for more concentrated liquidity. When the price moves beyond this range, there will be no liquidity available.
We refer to the minimum and maximum prices of bid as "bid price down" and "bid price up". Similarly, the minimum and maximum prices of ask are called "ask price down" and "ask price up". The liquidity provided within the price range is referred to as "bid amount" for bids and "ask amount" for asks.
Through the above illustration, we can understand that there are several parameters required to determine the bid curve. For detailed information on liquidity parameter settings, you can refer to Liquidity Parameter Structure.