Impermanent loss has been a pain-in-the-ass that discourages users from supplying liquidity to AMMs. With its unique and elegant design, Double significantly reduces impermanent loss for Double’s capital providers when token prices go down, as explained in part 1. This part 2 explains how Double can even eliminate impermanent loss for Double’s capital providers when token prices go up.
Again, Capital Providers (or Investors) in Double are defined as users who supply the capital side of an AMM pool, which is typically stablecoin (DAI, USDC, USDT), WETH, WBTC or any type that is configured as the capital type by the protocol. The collaboration model designed in Double is very similar to the widely used market making model between projects and professional market makers (MMs) to provide liquidity on CEX — New Wine in Old Bottles.
In typical market making agreements, projects lend tokens to MMs and MMs are required to pay back the same number of tokens borrowed to projects at the end of the agreements. When project token prices go up, MMs have the responsibility to sell tokens to support the market, and there is a chance that MMs don’t have enough tokens to pay back the loans at the end of the agreements. Instead of buying tokens at much higher price to pay back borrowed tokens, which is bad for MMs obviously, to protect themselves, MMs typically demand an option or a warrant to purchase project tokens at a certain price, for example 2x of the token price when the agreements start.
The solution to use an option as it is used in the CEX market making agreements, can also protect capital providers in Double and eliminate the risk of borrowing tokens due to impermanent loss. However a big majority of capital providers focus on earning high yield while at the same time protecting their principals. Hence another, maybe better, solution is to have a settlement agreement where capital providers get their principals back plus all trading fees, e.g. still double their return on invested capital, while projects get the remaining capital in the LP position in exchange for the tokens owed by capital providers.
Either the solution to use an option or the solution to use a settlement agreement is fair and acceptable to projects. Projects have been using the option solution for CEX market making and should not have any objection to accepting the same solution for AMMs. The settlement solution actually offers projects better economic upside when their token prices go up.
Given that there is no consensus on which solution is the best, the right approach is to collect feedback from the community first after initial v1 release and then decide which solution to implement, or implement both solutions, or even a new better solution(s). Hence Double won’t implement an intelligent solution until v2 to address the situation when token prices go up.
In v1, Double will prevent capital providers from closing their positions if they cannot repay the tokens they borrow. But they can maintain their positions to continue earning AMM trading fees until they have enough tokens from the fees (or token prices drop back enough) to pay back the loan to close their positions. Alternatively, capital providers can get tokens outside the Double protocol and transfer them into the protocol so they can repay the tokens they borrow and close their positions.
Let’s use the same example as in part 1 to illustrate how Double can eliminate impermanent loss for capital providers when token prices go up. Here is the setup: 1) A hypothetical token MOON is trading at $1 or 1 USDC; 2) a capital provider is creating a LP position for the AMM pool <MOON, USDC> with 1000 MOON + 1000 USDC. Without using Double, the capital provider needs to allocate 2000 USDC, swap 1000 USDC for 1000 MOON first and then add the pair 1000 MOON + 1000 USDC to the AMM. With Double, the capital provider only needs to allocate 1000 USDC, the protocol will borrow 1000 MOON and add the pair 1000 MOON + 1000 USDC to the AMM.
When MOON token price goes up, if the capital provider wants to close the LP position, the Double protocol will receive fewer than 1000 MOON and more than 1000 USDC back from the AMM, plus fees earned of course which are in both USDC and MOON. For example, if the MOON price goes up to $2 from $1, the Double protocol will receive 707.107 MOON and 1414.214 USDC as shown in the table below. In this scenario, the capital provider will NOT have enough MOON to pay back the loan and the Double protocol will prevent the capital provider from closing the position. The capital provider can choose to maintain the position and continue earning AMM trading fees. When the number of MOON earned from trading fees is more than 292.893 MOON owed, the capital provider will have enough MOON to pay back the token borrowed and be able to close the LP position. Alternatively, the capital provider can get 292.893 MOON outside the Double protocol and transfer them into the Double protocol to close the position.
Capital providers could in theory borrow project tokens from lending protocols such as Compound or Aave to match the same design that Double offers. Besides the required collaterals, which is capital inefficient, and the borrowing cost, capital providers also can suffer significantly due to impermanent loss. For example, as shown in the above table, if the MOON price goes up 10x to $10 from $1, the exit value for the capital provider is -$3675.442, meaning the capital provider need to spend extra $3675.442 to buy enough MOON to cover the borrowing amount so as to exit the LP position.
If Double implements the settlement solution described above in v2, the capital provider will receive the principal of 1000 USDC back plus the AMM trading fee, still double the return on invested capital with no impermanent loss. In the example where the MOON price goes up to $2, the project will receive 414.214 USDC for 292.893 MOON, effectively selling MOON tokens with an average price of 414.214/292.893 = 1.414 USDC, 40%+ higher than the entry price of $1.