Yesterday, we touched on in the community call about the strategies in place for the protocol to get yield.
Given the wide amount of opportunities here, I wanted to take some time to summarize what we have now, what were the thoughts for the future we had among the Core Team, and then open to the discussion what could/should be the next points of action.
Angle Protocol works like a bank. It has deposits (from users, standard liquidity providers and hedging agents) on which it is making a revenue. This revenue is then split following parameters set by governance between Standard Liquidity Providers, protocol surplus and veANGLE holders weekly dividends.
So far we have 5 different types of deposits (USDC, DAI, FEI, FRAX, and wETH) on which we are generating revenue by different means, which means that they use different strategies.
Overall, there are three big categories of strategies that we use:
- Optimizer strategy: this strategy lends on Compound or on Aave the collateral depending on where the yield is the biggest. We use this strategy for FEI and FRAX, but in this case we’re only lending on Aave, since Compound is not yet supported. For DAI and USDC, a portion of the funds of the protocol are invested in this strategy. While in the past, it allocated our funds to Compound, now most attractive opportunities are on Aave
- Folding strategy: this is a strategy that consists on lending to Aave, borrowing against that, and re-lending to take advantage of the AAVE rewards that are given to borrowers. We have written an article to explain how our design innovates from other alternatives. While when we launched the strategy there were folding opportunities, now these have decreased, and this strategy is unfolded (for USDC at least) meaning it is in all points equivalent to the strategy above). We only use this strategy for USDC and DAI, and for smaller debt ratios since it’s a rather new strategy on which we need to learn!
- stETH strategy: this is a strategy we just have for wETH: it consists in staking our wETH to stETH and take advantage of the stETH yield.
Overall, you can find details on the strategies that are used in prod in our analytics (example for USDC), in our developers doc or directly on-chain.
We normally have some documentation available for each of the strategies here.
Assuming a fixed TVL, increasing the yield obtained by the protocol on its strategies is the easiest way to grow the protocol’s revenue. It just requires some dev work as well as a lot of testing and simulations.
Yet, it’s not that easy. First Angle strategies work as smart contracts. As such, and similar to Yearn strategies, it takes time to develop a new strategy. So far, we’ve usually forked existing strategies and tried to improve from what we had + adapt to the needs of Angle architecture. New complex strategies should either be forked or audited because the protocol cannot afford a loss or an exploit on its strategies.
On top of that, strategies can be expensive to handle. There is a deployment cost, but also a harvest cost. If we have 10 strategies for a collateral, each with their own harvest logic, then it may cost more than 1000$ every week to get their proceeds and put them back at the equlibrium. Now multiply that with the amount of collateral types we have and it can get expensive.
Another consideration is that Angle should play it super safe with its strategies. Collateral that is invested is that of users. The risk/reward ratio should be carefully balanced. Any loss on a strategy could result in a depeg risk for agEUR. As such, we’ve so far excluded strategies involving becoming a LP on Curve because there is often a risk of loss when opening or exiting a position. More generally, any kind of withdraw cost or friction on the withdrawal process should be avoided. Money invested in the strategy should be recoverable immediately when needed (for when a user wants to withdraw funds from the Angle Protocol). On a similar note, it should be possible to continuously send new funds to a strategy if TVL increases to make sure strategies remain efficiently used.
Last, Angle has a non null impact on what it does. If you lend $10m somewhere where the yield is 5%, it is well possible that the yield you get after lending your collateral becomes inferior to 5%. The thing to have in mind is that while current TVL is >$100m, our strategies should scale to handle over $1bn in TVL.
With this in mind, we can now share the perspectives we’ve had at the Core Team when it comes to the strategies of the protocol. It’s important to keep in mind that while we are part of the Core Team working on the project on an every day basis, we cannot add new strategies by ourselves, and veANGLE holders are the ones ultimately proposing, voting and deciding what to add or not.
First, we need to ramp up our folding strategies: we’ve played it super safely with these strategies so far, by putting a small debt ratio, but now that we’ve gained a greater knowledge on how they work, we can easily ramp them up since they Pareto-improve over the Optimizer strategy.
There is an opportunity, identified by Instadapp with their Lite vaults that we feel we could tackle: it is the strategies involving leveraging on stETH.
How would they work in practice?
Imagine a USDC strategy, you can lend USDC on Aave, borrow ETH against that, wrap the borrowed ETH for stETH, lend it, and then repeat by borrowing, staking and lending, and so on. This type of strategies allows you, on any token that is a collateral on Aave (or on another protocol) to get exposed to the stETH yield with respect to ETH.
In the beginning Instadapp was offering something close to a 10% interest rate on this strategy, but now that they’ve reduced their leverage, this yield has slightly decreased. This however remains a super efficient strategy not only in terms of yield, but in terms of scalability: yield can remain high regardless of if you have $10m in deposits or $1bn.
What are the risks for this?
The first risk is that of the stETH depeg. Over the last few weeks, stETH traded at less than 1 ETH, meaning the Instadapp strategy almost got liquidated. Deleverage events (lent stETH is sold to ETH to repay the debt) also caused losses since they involved selling stETH for ETH, meaning the Instadapp strategy also losed some money from time to time.
This strategy also requires some active monitoring. if you lend USDC, borrow ETH and then lend the borrowed ETH as stETH, you’re still exposed to the ETH/USDC price variation, and if the price of ETH increases too fast, then you can get liquidated as well.
With in mind all these risks, but also all these opportunities, we’re pretty confident among the Core Team in our ability to develop a solid leverage strategy providing value not only to SLP but also to veANGLE strategy. This will require take some time, and we should not be ready on this before at least a month and a half.
Another thing we have in mind is diversifying the protocols we are getting folding on or lending collateral to beyond Compound and Aave.
Euler Finance has been a solid partner since launch, yields are pretty consistent there, plus when they’ll officially launch their token, folding should be super attractive (and we could be the ones making the market efficient).
We have some team members who are close to the Morpho Core Team. Morpho is a peer to peer lending protocol, designed to optimize over Compound and Aave by making liquidity more efficient. Because of how it’s built, Morpho yields should always be higher than that of Compound and Aave. We therefore consider submitting to a vote adding Morpho in our Optimizer Strategy. Folding should be interesting in there as well.
Many other protocols have approached us recently on our community Discord with their fixed-rate lending products or with the protections they provide for depositors and lenders. In the list are notably Notional, 88MPH, Idle Finance.
Fixed-rate lending and investing in the senior tranche of yield product are things which I believe are super interesting. Yet, when it comes to fixed-rate lending, I still wonder whether the yield proposed scale and how we can make that fit in Angle operations (where liquidity is deposited on a continuous basis and should be available with no friction on withdrawals).
More generally, we haven’t invested much time on these strategies, because we felt the ROI for the time spent on other strategies could be higher. It’s a matter of limited resource and we cannot unfortunately do everything we would want to do.
Yet, and this is more general, community members interested in developing by themselves their own strategy (fixed-rate lending) are most welcome to contact us and to do so. There’s nothing formally setup at the moment but we could vote with the DAO ANGLE allocation for people coming with implementations for cutting edge strategies.
This is probably for the longer term but the way our strategies are set now is that they are plugged to the Core module of the protocol to use the collateral available there.
For the borrowing module this would work differently. Technically, we would have to do wrappers (equivalent to Yearn vaults) to make yield bearing versions of assets (like USDC) and then use these yield bearing versions of USDC as collateral for the borrowing module. Each wrapper would then be plugged to different strategies generating yield.
This is definitely an option we consider for the future: using Angle more and more as a yield aggregator, and using the wrapped yield bearing tokens as collateral in the borrowing module, which could allow in the long term self-repaying loans!
The reason why we are particularly thinking of this is that we may have the “wrapper” interface ready: if we are working on an agEUR savings rate product, the contract should indeed be the same.
We think that an agEUR savings rate could add a lot of value to its users and unleash a wide adoption for it. We may write a separate post specifically about this, as we’re just in the ideation phase of it (thinking of the features which we may want or not), but in short idea is that our borrowing module will generate fees in agEUR, that our AMOs are taking opportunities from agEUR holders, and as such we could create a way to pay “real” agEUR holders with some yield: this would be with our agEUR savings rate. We could even provide boosted yield to agEUR holders which own veANGLE.
Anyway, I hope this post has brought some clarification to the ones which do not understand much about Angle yield strategies.
The goal of this is to discuss the perspectives we have enounced here, to get feedback, and ideas from the community to make the way to our common goal of creating decentralized, widespread and permissionless money easier to achieve.