๐Ÿ’ง DODO V1: The First Step of DODO

In August 2020, the DeFi landscape saw the emergence of DODO V1, marking the first iteration of DODO's product line. The platform was conceptualized as a solution to the prevalent issues faced by Uniswap V2, which at the time was the leading decentralized exchange. DODO V1 was created to address specific problems such as:

  • Impermanent loss suffered by liquidity providers (LPs).
  • The requirement for LPs to deposit two types of assets.
  • The high transaction fees borne by traders.

Innovative Approach and Evolution#

DODO V1 introduced concentrated liquidity around the oracle price to enhance capital efficiency. The mechanism aimed to collect sufficient transaction fees to compensate for impermanent loss. Additionally, it innovated by separating the liquidity of buy and sell orders, allowing LPs to deposit and withdraw a single asset instead of two. To attract more users, DODO V1 dynamically adjusted transaction fees to minimize trading costs.

The novel approach quickly garnered attention from users and venture capitalists, inspiring many new projects to adopt similar concepts even into 2023.

Adapting to Challenges#

However, as the platform evolved, it became evident that merely following the oracle price was insufficient to eliminate impermanent loss. This realization led to the decision to phase out most non-stablecoin trading pools in favor of more flexible pricing strategies. Consequently, apart from the stablecoin pools, DODO V1's trading pools were gradually deprecated and migrated to newer versions.

DODO V1 Today#

Currently, DODO V1's stablecoin pools remain the most active and voluminous on the exchange. These pools have achieved impressive capital efficiency and low transaction fees, continuously supplying the market with robust liquidity.

You can find the pool list and more details about the smart contract here.

Single-Sided Deposits and Withdrawals#

DODO introduced a single-sided deposit and withdrawal function in V1. This feature allows liquidity providers to provide liquidity without changing their existing exposure (in simple terms, they can deposit whatever they have without leverage), greatly facilitating liquidity provision.

However, this feature has come at a cost of additional complexity for the system. This section will focus on the special design for single-sided deposit and withdrawal scenarios. If you are using a product without this feature, not using a single-sided deposit and withdrawal product, you can ignore this section.

According to the PMM formula, the price depends on the deviation of the short-side asset from its equilibrium price, and any single-sided deposit and withdrawal of the short side asset will change the market price. Let's take the example of when B<B0B<B_0.

Deposit Rewards#

Recall the PMM pricing formula**:**

P=i(1โˆ’k+k(B0B)2)P = i(1-k + k(\frac{B_0}{B})^2)

WhenB0B_0 andBB increase by the same amount, B0B\frac{B_0}{B} decreases and the price returns to the oracle price ii.

According to the fixed-parameter rule mentioned on the previous page, this means that the amount of an asset bought back after spending all the long positions is greater, and the liquidity providers make a profit.

A more intuitive understanding: this deposit makes the inventory closer to the equilibrium state and plays the role of a system maintainer, so it gets a certain reward. The source of the reward is the slippage paid by traders who make the system deviate from the equilibrium state.

Withdrawal Fees#

Similarly, if liquidity providers withdraw an asset that is already in short supply, it will make the system deviate even more from the equilibrium state.

In this case, the withdrawer needs to pay a fee. This fee is equal to the sum of the losses in the system caused by this withdrawal. The fee will be distributed to the rest of the providers who remain in the liquidity pool.

Considering the deposit reward mentioned above, if the market maker withdraws immediately after depositing, the withdrawal fee will be greater than the deposit reward, thereby eliminating risk-free arbitrage.

It is worth noting that the market makers in a PMM pool only incur significant deposit or withdrawal fees when the system is significantly out of balance and the volume of deposits or withdrawals is very large. In general, traders do not need to pay attention to these situations.

That said, traders are more than welcome to deposit and earn rewards when the system is out of balance, and then withdraw coins after the system is balanced to avoid being charged fees.

Note: deposit rewards and withdrawal fees are only applied to DODO V1