- Current AMM solutions fail to provide sufficient liquidity in mainstream trading pairs, because they do not function as human market makers
- DODO is powered by a brand new, bleeding edge market maker algorithm called Proactive Market Maker (PMM), whose primary objective is to minimize risks for liquidity providers (LPs) and to stabilize their portfolio
- Compared to AMM solutions, DODO performs 10x better in terms of liquidity
Automatic Market Maker (AMM) is all the rage in the DeFi world right now, but it is evident that AMM solutions, such as Uniswap, suffer from significant drawbacks:
- Low fund utilization rate
Only 1–2% of the funding pool is available at a reasonable price, while the rest is far away from market price and is thus severely underutilized.
- Unstable portfolio
When market fluctuates and prices move, instead of adjusting the prices immediately, AMM waits for arbitrageurs trades, which changes liquidity providers’ portfolio and causes great loss.
Consequently, the current AMMs all failed to provide competitive liquidity on mainstream trading pairs, such as ETH-USD and WBTC-USD.
Why can not current AMM solutions provide liquidity comparable with centralized exchanges? Because AMM is too simple to compete with human market makers who provide liquidity for centralized exchanges.
Human market makers utilize the information fetched from the market, especially the market mid price. They only place orders around market mid price, expecting to sell at a higher price level and buy at a lower price level. When market price changes, they would cancel old orders immediately and follow the new market mid price tightly.
DODO tries to build a brand new AMM by imitating human market makers to bring sufficient on-chain liquidity.
DODO’s price curve is given by the following equation:
- i, the market mid price
- R, the risk index
At first glance, DODO looks like a flatter version of uniswap that concentrates assets near market mid price. But when market mid price changes…
DODO curve moves actively and protects liquidity providers’ assets from being arbitraged! Furthermore, DODO could provide great liquidity no matter what the price is.
The pivot of this fascinating feature is the variable R. R is defined as:
To understand the seemingly complex definition, let’s start with B0 and Q0. B0 could be regarded as “total base token(e.g. ETH) deposited by liquidity providers”, and Q0 is “total quote token(e.g. USDC) deposited by liquidity providers”. It is of great importance to keep DODO’s token balance equals with these two values. There are two main reasons:
- Limit counterparty risk
- Keep liquidity providers’ portfolio stable
What is counterparty risk?
Imagine the scenario in which you just sold 100 ETHs to someone and the price of ETH skyrocketed… Absolutely frustrated. So when you sold 100ETH, you’re exposed to 100ETH counterparty risk. The possibility of uncontrolled counterparty risk is extremely big when you concentrate your assets near market price.
To achieve this goal, we carefully designed R. Given that B represents DODO’s base token balance and Q represents DODO’s quote token balance, when some trader buy base token from DODO, B decrease and Q increases. At this moment, B is less than B0 and, according to the definition above, R is greater than 1 . And thus, DODO will provide a margin price higher than the fair market price immediately. Finding the price lucrative, arbitrageurs would come and sell until R decreases to a level where the price is not lucrative anymore. It is the same when someone sell base token.
This process shows R provides an internal motivation in DODO that could drive token balance back when it deviated from the initial status.
Now talking from the perspective of traders and have a look at what benefit could DODO provide for traders.
Let’s say, after a trader buys base token, DODO’s base token changes from B1 to B2. We could easily calculate the amount of quote needed and finally reach the pricing formula:
δQ is how much the trader should pay. It can be divided into two parts and regarded as a “penalty” added on a “const price market maker strategy”. And that’s why we called k “penalty parameter”.
The “penalty parameter” k makes DODO flexible enough to handle different market situations. When k is 0, DODO acts like a stupid bird that simply sells or buys with the fair market price. As k increases, DODO’s price curve becomes more “curved” but, consequently, the liquidity is jeopardized because more assets are placed far away from market mid price. And when k increases to 1, the curve “grows” as fast as uniswap curve. Normally, k is recommended to be a relatively small number, such as 0.1, which could provide 10x better liquidity than uniswap.
We’d like to reveal and share more subtle design details of DODO in the following articles. Including front-run, divestment, governance, square calculating and so on.
But let’s take a rest and summarize the most exciting features of DODO here:
For liquidity providers,
- 20% Annualized rate of return*
- stable portfolio
- deposit any amount of quote token or base token
- limited counterparty risk
- flexible price curve
- 10x better liquidity than uniswap with the same funding size
*20% daily turnover
Finally, we would like to express our gratitude to all those who helped us including Tianchi@mcdex, David@ddex