Update the yUSDC and yUSDT vaults together to liquidity mine on mstable
Abstract:
Should this proposal be implemented, the yUSDC and yUSDT vaults would work to supply liquidity to the 50:50 USDC/mUSD balancer pool. The USDC would be directly deposited, and the USDT would be used to mint mUSD to complete the other side of the deposit. This would then be staked on mstable for MTA and BAL rewards, which would be sold for USDC or USDT to compound the returns.
Currently the USDC and USDT vaults utilize DFORCE, and have had lower returns as of late. By updating to this new strategy, we can harvest greater yields.
Specification:
Should this proposal be enacted, the strategy would be updated so that the USDC and USDT vaults would deposit their funds as opposing sides of the 50:50 USDC/mUSD balancer pool. This strategy works best when they are applied in tandem. First, USDT will be used to mint mUSD. The mUSD pool is primarily full of USDT and TUSD, so there would be plenty of exit liquidity if needed (the DAI and USDC are nearly empty). The vaults would then deposit the USDC and the mUSD into Balancer, and would then stake the BPT on the mstable website. Harvested BAL and MTA would be sold to compound the vaults.
As the current market cap of this pool is only $3mm on each side, these vaults would need to work together to ensure appropriate exposure. There are two paths that could be taken. The first is that if one vault is larger than the other, the excess funds would sit idle (e.g. if there is $5mm yUSDC and $10mm yUSDT, only $5mm of the yUSDT would be minted into mUSD). The other path would be to use Uniswap to swap between these two tokens to ensure adequate 50:50 exposure at all times.
At current market rates, the yield of this strategy would be approximately 38% APY.
I’m just now catching up after being gone this weekend, and I’m surprised there hasn’t been more talk around this strategy.
One idea I had– instead of swapping (probably not a great idea IMO due to potential losses/slippage), we could use Aave or Compound to borrow USDT against USDC, and if we really wanted to we could also use CREAM to borrow USDC against USDT. Realistically, I think we would only need to use one of these borrowing strategies if the balance between USDC vs USDT was significantly off.
However, currently there are 2x as many USDC in the vaults vs USDT (16m vs 8m). So it seems looping in the lend/borrow on Compound would make sense, unless this ratio significantly changes once the proposal is enacted.
At the same time, another option could be to create a single vault that you can deposit in any combination of mUSD, USDT, and USDC. If you deposited an equal balance of USDC and mUSD, you wouldn’t experience slippage, but if you did any of the others you would get some.
Realistically, maybe this vault should only accept the USDC/mUSD balancer LP tokens– like the vaults currently do with all of the Curve pool LPs– and we just have the ability to zap into it. I think this is probably actually the easiest way forward tbh.
Honestly, that should be quite doable. The main impetus for drafting this strat was that @banteg asked for USDT and USDC strats - but much like how the yaLINK strat feeds into the USDC vault… that composability should be fairly straightforward.
With the new starter pack that was released today this should be a lot easier to draft. I’ll start working on this soon.
As long as the zap is configured properly, zapping in with either USDT or USDC shouldn’t be an issue from what I can tell
probably my only concern is the liquidity in the balancer pool– yearn could easily 3-4x it (currently 7 million), which would drastically reduce APR from MTA.
I was also concerned about this, good point. The BAL rewards wouldn’t change much, but the MTA definitely would.
I was trying to find a solution that didn’t rely on Curve, as I was under the impression yUSDC and yUSDT that are a part of yCRV were in fact the yVault tokens, not the iearn ones. However, a simple Curve deposit may end up being more profitable than the above strategy if we were to dilute the earnings 4x.
Thanks @mattdw & @dudesahn for putting your minds to work here - much appreciated
I don’t have any qualified input about the strategy myself - sorry - but are you evaluating the gas-fees to get in and out of the vault with the new strategy, or only looking to optimise the earnings?
@Mart I imagine zapping should be the cheapest way to go gas-wise. Realistically though gas to get in/out is not much of a concern, especially since over time a more profitable strategy will always make up for it (unless you’re putting in like $10).
@mattdw– perhaps this could be a good strategy to implement as a part of a future v2 vault that runs with multiple strategies? these have been described before by Banteg as basically flowing from one best strategy down to less optimal ones once the top one gets full.
For either USDT or USDC vaults, this strategy could be a good balance with the typical CRV farming. And since it seems like this one may actually have a peak higher APY, this strategy could be the top-tier one, and then once enough capital comes in to dilute the MTA distribution, the vault could start to fill into the CRV farming strategy.
mUSD will be launching an incentivized Curve metapool soon. [mUSD, 3pool]
mStable has long had active yield farming pools (see EARN ) and would be highly incentivised to direct a large portion of the MTA rewards to encourage deposits on the Meta pool. This would drive both liquidity and trading volume to Curve (& CRV holders).
I think meta pools are the future. Maker is talking about onboarding cDAI and aDAI in order to have more interest earning DAI out there. This would be great for yUSD.
The incentivized Curve pool mentioned by @jiecut will probably provide the highest yields, so lets definitely look into that when it comes…
To the initial concept I´ll share my thoughts regarding the yield dilution:
The yield depends on the prices of MTA and BAL (later CRV) as well as on liquidity in the pools
With a market cap of 18 million, MTA is a small cap play with large upside potential. If we don´t think this project could grow larger, we don´t need a vault because then rewards will approach 0 anyways and no one will use the vault.
With this in mind, yields can easily grow 2-3x during the next bullish wave (or today´s yield at 2-3x LP volume). Preparing a vault suddenly looks more attractive. And it´s always nice if we have it ready before anyone else…
mUSD has a “Save” option, just like the DSR. Currently yielding around 14% APY which is higher than all yearn stable vaults.
If the Vault operates in the way @mattdw suggested in his OP, we could maybe combine the two and achieve more room for liquidity addition / better yields. However, when I was thinking more about it, it seems to be very difficult because there is a notorious oversupply of USDT in the mStable contract. The rough idea was on vault execution check how much liquidity can be added to Balancer LP to achieve the same APY as the mUSD saving rate. Then do a forecast on the decline of mUSD saving rate due to increasing balance. -> Grow Balancer LP and saving balance in the right ratio to receive the same APY. (and of course check if the USDC/USDT can be employed in any other strategy for better yield.)