Getting started with Curve isn’t easy, there is a lot to grasp and the unique UI can be a lot to take in. This small guide is intended for Curve beginners with an understanding of DeFi and Crypto. It tries to answer recurring questions about how to get started with Curve and how it works or makes money for liquidity providers.
The easiest way to understand Curve is to see it as an exchange. Its main goal is to let users and other decentralised protocols exchange stablecoins (DAI to USDC for example) through it with low fees and low slippage. Unlike exchanges out there that match a buyer and a seller, the behaviour of Curve is different, it uses liquidity pools like Uniswap. To achieve this, Curve needs liquidity (tokens) which is rewarded by those who provide it.
Curve is non-custodial meaning the Curve developers do not have access to your tokens.
If you are new to Ethereum or DeFi, liquidity pools are a seemingly complicated concept to understand so I will do my best to help.
Liquidity pools are pools of tokens that sit in smart contracts. If you were to create a pool of DAI and USDC where 1 DAI = 1 USDC. You would have the same amount of tokens, let’s say 1,000 tokens (1,000 DAI and 1,000 USDC) in the pool.
If trader 1 comes and exchange 100 DAI for 100 USDC, you would then have 1,100 DAI and 900 USDC in the pool so the price would tilt slightly lower for USDC to encourage another trader to exchange USDC for DAI and average the pool back.
You can see those details for each pool and it is something you can take advantage of when depositing.
On the screenshot above for the y Pool, DAI is low which means you could sell it for a bit more tokens. The basic idea is that you incentivise traders to push the price back to what it should be (in this case, 1).
Stable coins have become an inherent part of cryptocurrency for a long time but they now come in many different flavours (DAI, TUSD, sUSD, bUSD, USDC and so on) which means there is a much bigger need for crypto users to move from a stable coin to another. Centralised exchanges tend to have high fees which are problematic for those trying to move from a stable coin to another. As a result, Curve.fi has become the best place to exchange stable coins because of its low fees and low slippage.
Every time someone makes a trade on Curve.fi, liquidity providers (people who have deposited funds onto Curve) get a small fee split evenly between all providers, this is why you will see high APRs on days with high volume and high volatility.
But there is more, the liquidity pools are also supplied to lending protocols like Compound (for cPool) in the background so you get extra interests on top of the trading fees. The y pools (all the pools using yTokens: PAX, Y and BUSD) use a protocol called iEarn explained below.
It’s important to note that because fees are dependant on volume, daily APRs can often be quite low just like they can be very high.
Some pools (sUSD, ren and sbtc) do not use any lending protocols.
So if you’re wondering where those returns come from, the short answer is trading fees and interests (for the pools using lending protocols).
iEarn is a yield aggregator. You might think that Compound doesn’t always have the best lending rates and you would be right and thus the yToken balances automatically your stable coin to the protocol(s) with the better rates (Compound, Aave and dYdX). It’s free and non-custodial (as is Curve) but it is also why the yPools are considered more risky as you use a series of protocols that could themselves have critical vulnerabilities.
(This only applies to tokens with c tokens or y tokens). If you deposit a stable coin to one of the pools with lending, Curve will automatically wrap your token to a cToken (for Compound) or a yToken(for iEarn). The option is simply there if you have already previously wrapped your tokens on iEarn or lent them on Compound. If your stable coin is in its original form, you can ignore this option.
When you go to the deposit page and deposit one stable coin, it then gets split between each token in the pool. That’s something you have to keep in mind because if you were to deposit 1000 DAI in the yPool, a per the screenshot below, you would then get 46.1 DAI, 314.5 USDC, 490.2 USDT and 149.2 TUSD. Those values change constantly as people trade and arb the price of stable coins.
Besides the deposit bonus explained below, it doesn’t matter. Your tokens will get split into the pool and it doesn’t affect your returns so you can deposit one, some or all the coins into the pool without worrying about it affecting your returns.
On the screenshot above, you can see DAI is quite low on the pool so if your plan was to join the yPool, you would ideally deposit DAI into it. As you can see on the screenshot, you would get an instant 0.755% bonus for depositing DAI into the pool.
The main reason for this is that DAI is currently slightly more expensive so if you went to a centralised exchange you might sell it for $1.007 instead of $1. The deposit bonus reflects that.
The other reason behind this is that the pools are always trying to balance themselves and go back to equal parts (in this case 25% DAI) so depositing the coin with the lowest share will get you a deposit bonus and that also applies to BTC pools.
When you withdraw, the same principle applies (but reversed). If you withdraw the stable coin with the biggest share, you would get a bonus but you still choose what stable coin you want to withdraw.
Interests for pools using lending protocols compound every block or 15 seconds or immediately after fees are paid. It’s also compounded automatically.
Arbitrage is the simultaneous buying and selling of, in our case, a token to make a profit. Because cryptocurrency markets can often lack liquidity, there are often opportunities for traders to take advantage of price discrepancies to make a profit which can be helped by protocols like Curve.
An example of that below:
On this transaction, someone used Curve and OasisDex and made around $200. This goes back to what was discussed earlier with liquidity pools. The idea is that is you incentivise traders to take advantage of price discrepancies which we all get rewarded for.
Liquidity pools (particularly one without an opportunity cost) are a great way to help stable coins keep their pegs. It makes easy for traders to arb (see question above) when the price slips off the peg which is very important for all the companies and foundations developing stable coins as having a $0.98 stable coin is never a good look.
As a result, some pools on Curve are “incentivised”. That means that on top of trading fees and lending fees, the companies (currently Synthetix and Ren) will give rewards to people providing liquidity to the pools with their coins.
Currently there is one incentivised pool.
The sUSD pool currently earns another 38.31% of SNX per year and there are three variables that can make this change:
The SNX distributed is based on the number of people staking their LP tokens on Mintr which means your share of rewards gets lower if more people start staking
The price of SNX (price of SNX going up would make the yearly bonus go up)
The size of weekly rewards (48,000 SNX as of today) could also be lowered as Synthetix reevaluates their partnership with Curve
CRV token is a governance and utility token for Curve that has recently released. All those who have participated in the Curve pools will retroactively receive CRV tokens.
Curve smart contracts were Audited by Trail of Bits.
Curve DAO smart contracts were audited by Trail of Bits, MixedBytes and Quantstamp.
There: https://www.curve.fi/contracts !
Security audits don’t eliminate risks completely so it’s still possible a vulnerability be found in Curve smart contracts. High returns never come without risks.
On top of the curve smart contracts themselves, whenever you join a pool, you’re also accepting systemic risks from the coins in the pool. For example, if you do not want to have exposure to USDT, then you cannot join a pool that has it.
Curve uses smart contracts from lending protocols on top of its own which means risk is stacked (for y and c pools only). It’s important to choose a pool that matches your risk tolerance.
On top of its audit, curve pools have now held several millions for nearly six months and it goes without saying that hackers would have already unsuccessfully tried numerous times to steal those funds.
Swap fees are 0.04% which is thought to be the most efficient when exchange stable coins on Ethereum.
Deposit and withdrawals have fees between 0% and 0.02% depending if depositing and withdrawing in imbalance or not. If fees were 0%, users could, for example, deposit in USDC and withdraw in USDT for free. Balanced deposits or withdrawals are free.