Yearn yVaults and the yveCRV Vault

Yearn yVaults

Yearn is a DeFi protocol which automates yield farming. Users have tokens which they want to hold - Yearn puts those tokens to work by finding the best yield farming opportunities across DeFi. It does this in a gas efficient way for the user, so even small deposits can get decent returns over time.

Yearn users deposit their tokens into yVaults, and receive a token in return which is proportional to their share of the vault capital. A yVault is a smart contract with one ore more Strategies sitting behind it. The Strategies are the yield-farming recipes which are created by clever humans (Strategists) and monitored & managed by bots (Keepers). The yVault contains logic which automatically allocates the vault deposits to whichever combination of Strategies gives the best return for the users. The rewards from the yield farming accrue into the vault, so the value of the vault token is always increasing. When a user withdraws from the yVault, they get more tokens than they deposited. This additional amount is the yield the vault has earned on their behalf.

Each yVault is structured around a particular underlying token - there are vaults for Eth, USDC, WBTC and many others. Users can deposit in the yVault native token, or they can deposit using any other token & take advantage of Zaps. Zaps are smart contracts which take an input token and swap it for the underlying token in a gas efficient manner. The swap may occur via a number of dexs or dex aggregators, but this is abstracted away for the user. There is a similar feature when withdrawing - the user can withdraw the underlying token from a yVault, or choose to receive their funds in ETH, WBTC, DAI, USDC or USDT. It's important to know that whatever token the user deposits or withdraws, they maintain price exposure to the underlying token of the vault whilst deposited.

yveCRV yVault

Now the veCRV-DAO yVault (also known as the yveCRV Vault) is a little different to the others. It starts with the CRV token, the governance & reward token from Curve. Curve is a dex which specialises in stableswaps - swaps between tokens which have approximately the same value. Examples are ETH/stETH or swaps between dollar pegged stablecoins. Curve has optimised their swap code to make these swaps efficient from both a liquidity impact and fee perspected - see this post for a further exploration of Curve & stablecoin swaps.

The CRV token has voting rights in the Curve DAO which makes decisions on the Curve protocol - things like fees, LP rewards, swap parameters and pools launched. In some Curve pools, liquidity providers receive CRV tokens to incentivise liquidity in the pools. CRV tokens are also available on the open market. To encourage users to stay as CRV hodlers, there is a facility to lock CRV tokens into the CRV DAO for a fixed period of up to 4 years. Users receive veCRV tokens (voting escrow Curve Tokens) for doing this, and more tokens are received the longer the locking period. veCRV holders can still participate in governance voting, they receive 50% of Curve trading fees and they qualify for boosted rewards (up to 2.5x) when they provide liquidity in Curve.

The fees generated for veCRV holders are collected in the form of 3CRV tokens (shares in the Curve tripool), which can be redeemed for stablecoins if desired. Fee distribution for veCRV holders happens weekly and users need to collect these manually and pay the gas cost for the transactions.

In true Yearn fashion there is a vault & a strategy to maximise the returns from this CRV locking process. This is the yveCRV yVault and it's different to the other vaults in that you can't withdraw your tokens. Yearn takes CRV tokens and locks them with the CRV DAO for the maximum 4 year period and continually renews this lock. This maximises the veCRV returns to the yVault. In addition, all Yearn vaults send 10% of earned CRV into this vault for additional boost. The returns to the users are in the form of the 3CRV tokens earned by the veCRV - like the CRV staking contract, these are collectable weekly as an income stream, and must be collected manually. yVault depositors receive yveCRV-DAO tokens as their share in the vault.

Weekly Claiming of 3CRV Tokens

As mentioned above, users must claim the 3CRV rewards from the yveCRV vault manually. This is an on-chain transaction and requires expenditure of gas to do so. This gives two barriers to claiming rewards - users must remember to do it weekly, and they must make a choice as to whether the gas expenditure is worth the claim. It should be noted that pending claims accrue and are not lost - a user can claim less frequently than monthly which would result in less overal gas spent. The chart below shows the number of claim events each week on the yveCRV vault. As we can see from the chart, the number of claims ranges between 18 and 72 (averaging 20-30) per week for the period up to June 2020. Then the average number increases to 40 per month for the next 6 weeks before dropping considerably. This increase, then decrease corresponds with the decrease in yveCRV pricing relative to curve discussed in this post on the impact of yvBoost on yveCRV. It appears that users claimed their rewards, then sold yveCRV on the open market in order to deploy their CRV tokens elsewhere - perhaps to yvBoost where the claim process is automated, or to other sources of yield like Convex. Now it appears there are far fewer holders regularly claiming tokens - only around 10 per week.

Rewards Claimed & Unclaimed

As an extension of how many users claim, it's worth exploring how much of the potential rewards are claimed by users. We mentioned the barriers to claiming earlier - let's see what sort of impact they have. The chart below shows the percentage of claimed & unclaimed 3CRV in the yvCRV vault. The numbers are the cumulative percentages from the beginning of the vault operation. We see from the chart a that currently only 70% of the rewards available have been claimed. This has been as low as 34% back in April 2021. Yearn saw a clear need to automate the claim process and the yvBoost initiative was the result. The yvBoost vault accepts yveCRV-DAO tokens from yveCRV, and automatically claims the rewards each week on behalf of the users, swapping the 3CRV rewards for more yveCRV-DAO to increase the value locked in the vault.

How Much Gas Has Been Spent on Claims?

It was mentioned above that each claim requires an on-chain transaction and expenditure of gas. Over the history of the yveCRV vault, users have spent just over 8 ETH on reward claims, worth over USD 16k when valued with the ETH price at the time of claim. This is a small percentage of the rewards claimed however - around 0.77%. We will look further into the detail of these claims and the gas costs to see whether gas has an impact on the overall returns of certain claims.

Number of Claims Amount Claimed (USD) Gas Spent (USD) Gas Spent (ETH) Percentage Gas Spend
1 1118 2172537.0 16660.0 8.07 0.766845

What Portion of Rewards are lost to Gas Costs?

To see if users are making sound decisions when claiming rewards from the yveCRV vault, we will look at how much the gas costs are in relation to the amount claimed. We have simplified the dataset by grouping into a number of categories - firstly, was the amount claimed less than the gas cost, and if not, what percentage of the claim transaction did the gas represent. The results are summarised below - how many transactions were in each category of loss. Here we can see that 200 claims have been made for yveCRV rewards where the claimed amount was less than the gas spent. The user made a negative return from the transaction. Similarly, there were 76 claims where the user lost between 50-100% of the claimed amount to gas costs, and so on for the graph. The largest category appears to be the 1-5% range. This is interesting - users often shop around to find the very best APR for their funds, but are prepared to throw away a significant percentage in transaction costs to get it.

The graph below presents the same data as above, but as a cumulative percentage. From this we can deduce:

  • 18% of claim transactions were negative in value
  • 25% of claim transactions had a greater than 50% loss
  • 59% of claim transactions lost more than 5% to gas
  • Only 17% of transactions had a loss less than 1%

It appears, on balance, that users are not making sound decisions on reward claims from the yveCRV vault. Users face a choice when claiming smaller rewards. Either:

  • Take the money now & pay a high portion in fees
  • Try to claim in a time with lower gas costs
  • Wait a few more weeks until rewards have accrued to make the gas cost less significant

It appears from the data that the opportunity cost for users of leaving the rewards unclaimed in yveCRV is greater than having the funds available right away. For the users losing large percentages, or more than the total reward amount, perhaps there is a knowledge gap in the way gas fees work on Ethereum.

The following table shows the claims, amount claimed and gas spends for each of the categories above. Most of the value claimed is claimed at less than 1% loss due to gas fees - this is the group of users with large deposits in yveCRV earning large rewards. It's interesting that the highest gas expenditure overall came from the negative return group, again suggesting a lack of understanding of gas pricing & transaction pricing mechanisms.

Claim Lost to Gas Number of Claims Amount Claimed (USD) Gas Spent (USD) Gas Spent (ETH)
1 Negative Return 200 566.0 3446.0 1.80
2 50-100% Loss 76 1727.0 1198.0 0.54
3 20-50% Loss 119 4791.0 1480.0 0.78
4 10-20% Loss 131 13409.0 1832.0 0.81
5 5-10% Loss 129 23938.0 1673.0 0.87
6 1-5% Loss 270 140589.0 3185.0 1.58
7 < 1% Loss 193 1987517.0 3846.0 1.69
8 Total 1118 2172537.0 16660.0 8.07

Conclusions

The yveCRV vault is a special one in the Yearn galaxy - it's the only yVault that doesn't support withdrawals so rewards must be claimed manually. We have seen that the claim process is not effective for all users. Only 70% of the historical vault rewards have been claimed. Many users have made claims for rewards with a negative return due to gas costs, and many make claims that lose a large portion of their reward to gas. Thankfully the Yearn team have addressed this with the yvBoost vault, where users get the same underlying exposure to CRV locking but the reward process is automated. Since the launch of yvBoost, we have seen the number of weekly reward claims drop significantly, indicating that users have migrated away from the yveCRV vault by trading their tokens on the open market.