What is Uniswap v3?
Uniswap v3 is one of the most anticipated updates in DeFi history and is the most significant upgrade to the Uniswap protocol yet. The new version mainly focuses on upgrading the experience for liquidity providers (LPs).
What is Uniswap?
Uniswap is what is known as a decentralized exchange and makes it easy for anyone in the world to swap assets. In short, Uniswap is a series of contracts that live on Ethereum and are not controlled or owned by a single entity. Anyone can create a Uniswap market, which is a smart contract that pairs two unique assets against each other.
Trading on Uniswap
When exchanging, token A is added to the smart contract and then a certain proportion of token B is released. The amount that is returned from a swap is dependent on the ratio between the two assets in the contract and follows a specific formula.
Users that lock up assets into the Uniswap contracts are known as liquidity providers (LPs). LPs are incentivized to provide assets to collect the trading fees charged by the protocol.
Uniswap v3 Updates
When providing liquidity to a Uniswap market, liquidity providers will be able to select a range where their liquidity will take effect. Now the liquidity can be concentrated in a smaller area which will allow for higher volume trades with less slippage since everyone's liquidity no longer needs to be stretched all along the price curve.
For example, imagine the USDC-DAI pair. Since this is a stablecoin pair the price between the two assets doesn't fluctuate much, but in Uniswap v2 liquidity providers are providing assets all along the price curve. However, Uniswap v3 allows liquidity providers to set a range, so they can specify where their liquidity is active. So let's say from $0.99 to $1.01 for the USDC-DAI pair. As a result, the liquidity providers can collect more fees with less liquidity because their assets are only active in that band, which is where most of the trading happens for the USDC-DAI pair.
Aside from adding a range, users can now deposit a single asset, specify a small range, and if the price hits the other end of the range it will have sold all of the one asset provided to the other asset in the pair. Thus selling all at each price point and collecting fees along the way.
For example, a user strategizes moving from DAI to USDC. Rather than directly swapping they can supply their DAI as a liquidity provider and set a small range, let's say 1.0001 to 1.0002 DAI/USDC. If they enter at 1.0002 DAI/USDC and then the ratio gets pushed down to 1.0001 DAI/USDC, the user can withdraw their balance which will be entirely USDC. Note they must withdraw the USDC before the ratio goes back up because it will start converting the USDC back to DAI.
Liquidity Provider NFTs
Previously when liquidity was added to a market the depositor was given Uniswap liquidity provider tokens which were fungible ERC20 tokens. However, Uniswap v3 allows providers to specify a range where their liquidity will be active. As a result, these positions have to be accounted for with non-fungible tokens (NFTs).
Since liquidity providers can specify a range where their liquidity is active, there will be markets that constantly fluctuate and will require the LP to be more active than in Uniswap v2. As a result, there will likely be independent liquidity aggregator protocols that manage a large number of LPs assets and constantly optimize ranges for more volatile markets.
All Uniswap v2 pairs corresponded to a unique pool contract that had a standard fee of 0.30%. However, Uniswap v3 will allow for the creation of a pool for each of the three fee tiers for a unique pair. So it is possible to have three separate pool contracts for the same pair. The pool with the highest liquidity will likely be the one that reflects the popularity and relative volatility of the pair. Lastly, more fee tiers can be added by UNI governance down the road.
- 0.05% - Higher volume pairs
- 0.30% - Moderately popular pairs
- 1.00% - Exotic pairs
*Note: Fees in Uniswap v2 were passively accumulated to the liquidity position. However, Uniswap v3 requires that fees be claimed in a separate transaction.
Launching on L2
High gas prices on Ethereum can be a deterrent for newcomers to DeFi. As a result, the Uniswap team has decided to launch v3 on a Layer 2 solution called Optimism within the next few months.