In this deep dive, we’ll explore these questions and more!
2/x
tl;dr
・Lifinity automatically chooses concentrated liquidity ranges for you. Deposit and forget about it!
・Lifinity uses an oracle to improve capital efficiency and reduce impermanent loss, potentially reversing it into “impermanent gain”.
3/x
Uni v3 enables users to provide concentrated liquidity by specifying a price range.
While this creates greater liquidity for traders, choosing a price range is a nontrivial task and incredibly difficult for retail users.
4/x
Further, to optimize your liquidity provision, you will have to regularly adjust the price ranges where you provide liquidity.
5/x
One major advantage of Lifinity is that users won’t have to select ranges for their concentrated liquidity. Lifinity algorithmically automates this!
The experience of providing liquidity will be the same as Raydium, Saber, etc. – just deposit & the AMM will handle the rest.
6/x
But ser, Uni v3 has vaults that automatically adjust the liquidity ranges for you.
True, but as explained in the thread below:
・Half of LPs lose money (more than the other half make money)
・There is no clear segment of LPs who make money
The narrower the range in which liquidity is provided, the greater the liquidity provided but also the greater the risk of impermanent loss.
8/x
Since providing more liquidity means a larger share of the fees, there’s an inherent tradeoff between maximizing fees earned and minimizing impermanent loss. There is no easy way to determine the optimal level of concentration.
9/x
Uni v3 vaults adjust their ranges once their pools become unbalanced (i.e. someone has traded against them). In other words, they require other traders to tell them what the price is and pay them in impermanent loss for the service.
10/x
It sure would be nice if we could know the price without relying on traders to arbitrage our liquidity...
11/x
Enter oracles.
Lifinity changes its virtual "range" not only when someone trades against it, but also when someone has traded the asset on other exchanges. It has access to this information through @PythNetwork.
12/x
Let’s walk through an example to demonstrate how Lifinity uses the oracle to provide liquidity more efficiently.
13/x
Say the price of SOL is $200 but it suddenly moves to $210 on all other exchanges. On Uni v3, LPs won’t be able to use this information; arbitrageurs will buy starting from $200 until the price reaches the “true” price of $210.
14/x
This is the source of impermanent loss. Arbitrageurs get to buy SOL at a discounted price. The protocol shouldn’t be selling SOL at such a low price, but it can’t do any better because it doesn’t know what the true price is!
15/x
On the other hand, Lifinity will know through its oracle that the price has changed to $210 and will shift its internal price to match it before arbitrageurs can buy at the discounted price of $200.
16/x
This is what reduces impermanent loss, or even reverses it into “impermanent gain” as it has for its SOL-USDC pool in the beta version of its app.
17/x
Admittedly, impermanent gain is not the best choice of words (the gain is permanent), but the benefit is that it immediately communicates that it is a reversal of impermanent loss.
18/x
At its most basic level, impermanent gain can be thought of as buying low and selling high. Put differently, it is the profit from market making excluding trading fees.
Let’s walk through a simplified example to see how it works.
19/x
Say there's a buy order and sell order of equal size while SOL is at $200.
With the Uniswap invariant curve, when the buy occurs the price goes up to $201, say, even though the "actual" price on all other exchanges is still $200. The purchaser paid a price of $200.5 or so.
20/x
So when the subsequent sell order comes in, the protocol considers the price to be $201 and the seller gets a price of about $200.5. Therefore, the protocol bought and sold at the same price. There is no buy low sell high effect – all it gets is trading fees.
21/x
With Lifinity, since it uses a price oracle, it knows that the price actually hasn't moved even after the buy order (i.e. it doesn't use it's internal pool balance to determine the price like Uniswap does).
22/x
So the buyer gets a price of $200.5 while the seller gets a price of $199.5, and Lifinity pockets not only the trading fees but also the difference between the two orders (i.e. it sold high and bought low).
23/x
Due to concentrating liquidity and reducing impermanent loss, we expect Lifinity’s pools to be more capital efficient and profitable for LPs compared to other options.
24/x
Our SOL-USDC pool is currently funded with our own funds, but we plan to seed it with more liquidity through the sale of our Lifinity Flare NFTs. The whitelist will close in about 24 hours!