Q.1. Discuss the various features of Curve Finance? What are the different types of pools available in Curve Finance? What are the major DeFi protocols Curve is integrated with? How does Curve Finance improves the second layer utility of a token of a different protocol?
Curve finance stands out as one of the laudable projects in the crypto space. It's certainly not because it's named curve but because of a repertoire of features that would definitely attract the attention of any crypto enthusiast. The features of Curve finance includes the following:
STABLECOIN SWAP:
This is a curve finance feature that enables users to exchange coins with similar market values without exorbitant fees and very low slippages. Curve finance has an Automated Market Maker known as Curve StableSwap. This AMM facilitates the exchange of stablecoins or coins with similar market values.
When using Curve StableSwap, the transaction involving is just one, unlike Uniswap where stablecoins cannot be exchanged directly. On Uniswap, one stablecoin first has to be swappeed for ETH then the ETH swapped for the desired stablecoin. The problem with this Uniswap model is that it means more fees and higher slippage since it involves two transactions.
One of the ways Curve StableSwap mitigates double transactions when swapping similar or stable coins is that it supports that have more than two coins in them. It also involves constant price invariant and an amplification coefficient.
INTEGRATED POOLS:
Curve being a decentralized exchanges uses pools to provide liquidity. These pools are a collection of tokens donated by their holders (liquidity providers) for the purpose of recieving rewards or interests. From these pools, a user carries out an exchange and pays fees which are remmitted in part to the liquidity providers.
To maximize the interest gotten by the liquidity providers which will in turn enable them to provide liquidity thus reducing slippage on Curve, curve integrates with other protocols and supports the pooling of tokens issued by these protocols. It also supplies its liquidity pools to these protocols. These protocols also pay interest to the liquidity providers making them earn more. Thus Curve pools are said to be integrated into other protocols eg. Compound.
MULTICHAIN EXISTENCE OF CRV:
The Curve native token exists on a number of chains although its primary chain remains Ethereum. The benefit of this is that users can easily acquire the CRV tokens and make use of the Curve platform. So a user using a sidechain of Curve can simply acquire CRY on the sidechain and make use of the Curve platform using that sidechains network. The Curve protocol can thus be used across different chains.
To know the list of chains supported by the curve protocol, you can check with the 'network' section of the Curve.finance homepage.
From the image above, you can see that at the time of writing this post, Curve supports Ethereum, Arbitrum, Avalanche, Fantom, Harmony, Polygon, and xDAI.
LENDING POOLS AND NON-LENDING POOLS:
Due to the integration of Curve with other protocols, Curve support pools of tokens issued by these protocols. Some of these protocols are lending protocols eg. yield finance, compound etc. When a user lends to any of these protocols they are issued a token by the protocol, for instance, lending DAI on Compound, Compound will issue the lender the compound token cDAI. This cDAI can then be provided as liquidity to any cDAI pool. Such a user will earn interest from the pool as trading goes on while they'll also earn interest from the lending protocols for lending their coins to such protocols.
Curve pools where lending protocol tokens can be provided are referred to as lending pools. The rest of the pools are referred to as non-lending pools.
TYPES OF POOLS ON CURVE
There are different kinds of pools on Curve finance. They include:
Stable pools: This is a type of pool that contains two or more stable coins. An example of this is 3pool which contains USDT, USDC, and DAI.
Wrapped BTC pools: This is a type of pool that houses wrapped bitcoins. An example of this type of pool is ren which contains renBTC and wBTC.
Lending pools: These pools contain wrapped tokens whose underlying assets are lent out to lending protocol. An example of this type of pool is Compound pool that contains cUSDC and cUSDT. The underlying assets (i.e. USDC and USDT are lent out to the compound lending protocol to mint the cTokens).
Non-lending pools: Every other pools that is not a lending pool is a non-lending pool.
Tripools: This is a new type of pool that is regarded as the most liquid pool on Curve as well as the cheapest. It is called 3pool. It contains USDT, USDC and DAI. It is also a stablecoin or plain pool.
Metapools: Meta pools are those pools that contain a stablecoin and another LPToken from another pool.
To see curve pools, click on the pools tab on the curve.finance homepage.
MAJOR DEFI PROTOCOLS CURVE IS INTEGRATED WITH
Curve is integrated with a number of high profile DeFi protocols. Below are some of them:
Compound
AAVE
DY/DX
Yearn Finance
HOW DOES CURVE FINANCE IMPROVE THE SECOND LAYER UTILITY
Curve finance supports adding wrapped tokens to pools, Tokens that are issued after lending on lending platforms like Compound can be used to create a pool on Curve. For instance, if a asset is lent to the Compound protocol, a cToken will be issued by the Compound protocol to the lender. The lender earns interest for the lending and this interest is redeemable together with the lent asset upon return of the cToken. This cToken while the underlying asset is being lent and interest accruing, can be added to a Curve pool where the owner will also get some of the fee as rewards.
Thus the LP is earning twice from one asset as Curve improves the second layer utility of the cToken of the Compound protocol by providing a pool for it.
Q.2. What is impermanent loss? Explain with examples? How does Curve Finance mitigate this loss?
Basically, impermanent loss is the loss of funds due to the volatility of the price of an asset. When a crypto asset is staked, it is subject to the negative impacts of volatility. If the price rises, the staked asset may end up with a lower value than if it were to be unstaked.
Consider this example:
A user has 1 wBTC and it's dollar equivalent of 47,000 USDT.
The user decide to stake in a pool. Note that the total value of asset is 47,000 USDT + 47,000 USDT (price of BTC).
During the staking, wBTC pumps to 60,000 USDT but the pool is still saying 1 wBTC = 47,000 USDT, (the original ratio provided to the pool).
Of course arbitrageurs will snap off this opportunity and rebalance the pool to reflect market prices.
An arbitrage trader can bring 47,000 USDT and collect all of the 1 BTC in the pool.
Thus, the liquidity provider will currently have 47,000 USDT + 47,000 USDT = 94,000 USDT. There will also be fees but it isn't significant for our calculations.
But at a current price of 60,000 USDT, the liquidity provider who had 1 wBT C and 47,000 USDT should be having 60,000 USDT + 47,000 USDT = 107,000 USDT had he not provided the liquidity.
Thus by providing liquidity, he lost 107,000 - 94,000 = 13,000 USDT.
This loss is known as impermanent loss.
HOW CURVE PREVENTS IMPERMANENT
To prevent this, since IMPERMANENT loss is due to the different behavior of assets relative to one another, Curve simply pools similar assets together, either stable coins or wrapped versions of the same assets to ensure that the price are relatively the same.
NB: It is possible to find some pools with dissimilar assets on V2 of Curve finance. Such pools are still exposed to this impermanent loss.
Q.3. What is the difference between constant product invariant and constant sum invariant? How does Curve Finance accommodate these two to offer a wider zone of INPUT/OUTPUT balance? How does it lower the slippage?
The major difference between the constant product invariant and the constant sum invariant are stated below
Constant product | Constant Sum |
---|---|
Involves a multiplication relationship | Involves an addition relationship |
Relationship represented by xy = k | Relationship represented by x + y = k |
Plots a hyperbola | Plots a straight line |
Limited leverage or liquidity | Infinite leverage or liquidity |
Zero slippage at all points | Zero slippage at only some points |
HOW DOES CURVE ACCOMMODATE CONSTANT SUM AND PRODUCT INVARIANTS
To accommodate the two,
Curve first applies n-dimensions to make it possible to access liquidity from other pools. This means that the plot is not linear, creating some points of slippages.
Thankfully, the second step Curve takes is to apply an Amplification coefficient to effec a rebalance once there's a slight variation. This will keep slippages at a minimum.
By making the pools n-dimensions, Curve offers a wider input zone. And by using an Amplification coefficient there's a wider zone of input/output balance.
src
Q.4. What is veCRV? What are the benefits of holding veCRV token?
The Curve protocol has a native token which is the CRV token. This token is also used as the governance token and can be staked in return for rewards and benefits. Once this CRV is staked, veCRV is minted in equal amounts. veCRV is short for Vote Escrowed CRV. This is the staked form of CRV.
When CRV is staked to get veCRV, it can be staked from 1 week to 4 years. If staked for 4 years, 1 veCRV will return 1 veCRV in rewards i.e. 100% after 4 years. Here a more detailed breakdown.
Period | Interest on principal |
---|---|
1 year | 25% |
2 years | 50% |
3 years | 70% |
4 years | 100% |
BENEFITS OF HOLDING veCRV
The following are benefits of holding the veCRV token:
Holders can make proposals on the protocol.
Holders can vote on the protocol.
Holders can implement amendments on liquidity pools.
Holders share rewards from the CRV token inflation.
Holders can create new pools.
Holders can boost their mining speed.
Q.5.
I was unable to carry out transactions on the mobile version of the curve.fi platform as the dApp insisted that I used mainnet and not polygon.
Due to the fees involving ethereum transactions and the club5050 restrictions, I'm unable to use the ethereum network at the time of writing.
However, here's a simple steps to carry out the transaction.
Select the pool
Next, select and input the value of the coin you want to swap from and to. According to the current price, the receiving amount will be shown.
Then click on sell.
Thanks for reading.
Cc:
@sapwood