
Yield Basis: ahead of TVL Cap raise
yb pools performance and how +$120m TVL will affect it
🐇🕳️
LPs APRs in Yield Basis pools
Despite ~0.23 BTC & 25k $crvUSD fees captured per pool, some LPs report that they have negative APR (by tx simulations). It is a temporary(!) issue, and it is not the fault of the protocol itself. Let's discuss where it comes from, and how it is solved.
Sneak peek: ~10-12 days and it will be over
Intro to the problem (basics of Curve's cryptopools)
Xcp= estimated value of the entire pool wBTC/crvUSD (also named as CryptoPool),xcp_profit= total fees captured;
Virtual_price= estimated value of 1 LP token of wBTC/crvUSD pool, orXcp/(total_supply_LP)
When one of events occurs: liquidity deposit, one-side withdrawal, or exchange in the pool, can trigger rebalance function (tweak_price function from docs).
This function can carry out rebalance ONLY if:
virtual price > threshold (or rebalance doesn't spend >50% of total fees captured!; )
Code:
# xcp_profit follows growth of virtual price (and goes down on ramping)
xcp_profit: uint256 = self.xcp_profit + virtual_price - old_virtual_price
threshold_vp: uint256 = max(10**18, (xcp_profit + 10**18) // 2)
if (vp_boosted > threshold_vp + rebalancing_params[0]) and (last_timestamp < block.timestamp):
So, if 'virtual price' is BIGGER than 'threshold' due to some reasons, then rebalance can happen every block (following any tx in the pool).
As a result, due to constant (happening every time) rebalancing events, APR is temporary decreased (fees are spent for rebalances).
WHAT HAPPENED IN THE POOL: two prices issue
For a while (unfortunately) Virtual price artificially bigger than threshold
How did it ever happen?
- Virtual price grew a lot when first $1m TVL pools were launched. Why? Because a lot of liquidity was deposited in very short time, and Refueling Protection Fee (also known as "ape tax") was charged from these deposits and resulted in virtual price growth.
- Threshold didn't grow accordingly🫤
So, what happened: now threshold is lower than virtual price, and after any tx after which pool will be disbalanced, rebalance automatically happens. Rebalance spends fees.
To fix this problem, the following was done: (1) CryptoPools implementation was urgently updated via proposal (2) The threshold should grow closer to the virtual price, and then the rebalancing process will end and the fees will not be spent it is not in direct control of anyone
graphical explanation: the black line should grow up to the blue line 👇

Why it will happen over time?
xcpxorxcp_profitgrows only up (grows from fees)vporvirtual pricedecreases on rebalances- so, when
xcp_profitwill be ~virtual price, pool will work as expected and as it must work. According to @newmichwill estimations I read in chat, it needs 10-12 days.
Once this imbalance of virtual prices and thresholds is resolved, everything will work as intended. For now we all just need to wait a bit for APRs.
How +$120m TVL changes the game
First of all, adding new liquidity has a highly positive impact on the efficiency of pool operation:
-
The more liquidity in the pools, the more stable the price will be, and the pools will require much fewer rebalances. More fees will remain for LPs.
-
More liquidity in the pool means more arbitrage volume. The current small sizes of pools make arbitrage less profitable than it could be due to high gas spending versus trade size (and therefore profit margin).
Unfortunately, gas spending is fixed, and relatively small pools are less relevant for arbitrage🫤 TVL growth will greatly improve the attractiveness of YB pools for arbitrage and drive much higher volumes and fees.
TL;DR
- Temporary issue with APR for LPs is an issue coming from unlucky combination of two factors: (1) the existence of Refueling Protection (APE tax), and (2) very fast deposits leading to virtual price growth due to refueling protection. This problem will naturally be solved over the course of ~10-12 days (Michael's estimation), as the pool will receive more fees and the XCP profit will grow.
- The small size of the pool that was limiting arbitrage a lot, decreasing possible volumes and fees
- TVL raise +$120m wouldn't cause any problem since Refueling Protection issue is fixed, but in contrast brings highly positve effects -> will greatly improve pool stability, arbitrage opportunities and result in bigger fees captures and faster situation resolving (point 1)
If something is working not as expected due to some factors, but protocol design is safe, it is like driving Ferrari 20mph at country road and being upset that it spends fuel but no pleasure from driving.
So: Go to autoban, drive speed Ferrari is built for (aka 200mph), and you will get expected results. Yield Basis is built to operate deeply liquid Bitcoin pools, only then it will show the peak performance.