I’ve been watching this debate play out on the Algorand forum for the last few weeks. You can follow the debate between Sam and the Algofi team here, here and here. I’m going to attempt to over simplify his points as follows
- An attacker can depeg STBL2
- STBL2 and USDC being fixed to $1 in lending presents bad debt risks
- USDC/STBL liquidity being so much smaller than STBL supply is a risk
An attacker can depeg STBL2
I’m aware that the posts mention more than one attack vector but I’ll just start with the following.
If I had $100M in USDC and placed it in Algofi as collateral, I could borrow $80M in STBL2. I could then allocate $20M of that onto dumping onto the AMM, sinking the price of STBL2. I could do that in such a way that the interest rate on supplying STBL2 goes up. With my other $60M of STBL2, I can use that as collateral. Since interest rates are up, I am earning STBL2. Some of that I can use to repay the $20M I used to dump the price. The rest I can use to continue to dump onto the AMM for any liquidity that does appear. If this goes on long enough without sufficient liquidity to counteract me, eventually I have no STBL2 denominated debt. The excess STBL2 I’ve earned can be used as collateral to borrow assets like Algo. I can borrow ALGO as if STBL2 was worth $1 even though it is currently trading at something below $1.
How possible the above is comes down to:
- How much liquidity is around to arb an attacker such that they wouldn’t have sufficient volume to move the price. (Algofi team thinks no)
- Can the attacker keep the price down long enough to actually earn enough STBL2 via interest to continue to push the price down and not take a loss. (Algofi team thinks no)
- STBL2 interest isn’t minted out of thin air, its earned from the interest charged to borrowers. If borrowers become liquidatable, their collateral can be claimed by those willing to buy it in STBL2. To get STBL2 to make those purchases the liquidator can borrow it agains their collateral or buy it in the market. If I was pushing the price down in the market, then the liquidator is incentivized to buy it in the market. This will put counteracting pressure on my attempt to sell down the price unless liquidators aren’t interested or they don’t have enough liquidity.
STBL2 and USDC being fixed to $1 presents bad debt risks
STBL2 is pegged to USDC (interest rate responds to USDC price). If USDC depegs (which just happened), STBL2 depegs with it (which also happened). STBL2 is fixed at $1 in value on the lending market. If/When USDC depegs, borrowers of STBL2 can borrow as if the STBL2 is worth $1 even though the USDC they used to borrow it is not worth $1.
How possible the above is comes down to:
- Whether or not USDC depegs, if USDC is depegged this is possible as far as I can tell.
- If USDC repegs then this doesn’t matter because eventually everything is collateralized
- Algofi team seems to comfortable assuming the above is going to be true
USDC/STBL liquidity being so much smaller than STBL supply is a general risk
The issue with STBL is that the rate of USDC entering the pools does not keep up with the STBL expansion and contraction cycles. It is an inherent issue.
USDC enters the swap pools in 3 ways:
- Providing liquidity (USDC+STBL) to the pool
- Buying STBL with USDC
- Collateral liquidations and repaying borrowed STBL (only if USDC is used for buying STBL, and for example liquidator doesn’t hold STBL already)
STBL can expand rapidly and its creation (new loans and interest) can significantly exceed the rate of USDC entering the pools. There will be cycles of expansion and contraction and they can be quite extreme. As the contraction starts and the volume of #1 and #2 declines or stops completely and therefore #3 becomes the only option. However, assuming that borrowers immediately jump in and liquidate themselves is not true. For many reasons that may not happen. So, there is an arbitrary delay until the collateral is liquidated.
The contraction-expansion cycles may happen at 10M, 25M or 1B STBL market cap but they will happen and can be extreme and that’s where the huge risk is. The DAO being able to adjust the rates or change the mechanism provides some flexibility but doesn’t solve the inherent problem. When dealing with large numbers and conflicting scenarios, the only real solution is to provide significant liquidity. Assuming that’s an option (When that’s not an option for Algofi, at 10M or 1B?), in most cases it sets up for an even bigger issue down the road.
“As the contraction starts and the volume of #1 and #2 declines or stops completely” is an interesting claim. If the supply of STBL2 is contracting, people are paying off their loans (via STBL2 buys) or getting liquidated (possibly via STBL2 buys) which is going to cause buying pressure on STBL2 in the market. How does STBL2 supply contract without more liquidity coming into the market via those purchases of STBL2?
- USDC is also not the only way to buy STBL2, liquidity could come in the form of ALGO for example.
- In the expansion cycle, more STBL2 is being generated via borrowing but most of it is going to be sold or put in LPs. Either of those actions decreases the price of STBL2 relative to exit liquidity. The expansion is only dangerous if more STBL2 is being borrowed into existence but actors holding USDC/Algo liquidity are not interested in buying it, such that the expansion depegs STBL2 by draining AMMs. But even still, at some point borrowers will stop borrowing STBL2 if they have to sell it at a enough of a loss.
As a heads up @sam171921 , it is common in a temperature check topic to put a poll is helpful to see where the group stands.
Should we change the STBL2 collateral factor to 0%?
- Yes, ASAP
- Yes, but slowly decreasing the collateral factor
- Maybe, if more evidence is presented (please comment on what you’d like to see)
tl;dr: I’m going to vote maybe because I think we should do some simulations and probably discuss dependency on USDC.
I think after sitting on this a bit I think there are a few areas where I see merit and a few where I don’t with OP.
- I did not believe the points raised about USDC AMM liquidity to be convincing
- I do believe that STBL2 being pegged to $1 in the lending market is a risk. I do not believe that USDC can be assumed to be bullet proof. USDC reflects both risks from Circle’s risk management as well as the risk management of their counterparties (mostly banks). I’ve raised this before in my proposal about an insurance market..
- I think it is theoretically possible for an attacker to depeg STBL2 via the mechanisms outlined by @sam171921. However, I think the situations where such an attack is succesful is largely about liquidity and other market dynamics. I’m inclined to believe a liquidity crisis is possible because we see that in Tradfi. Even when the incentive is there, panic can cause actors with large amounts of liquidity to hold it tight and retreat from markets. We should stress test how the system performs under those condition I think its in the interest of the DAO to spend funds to commission simulations to determine if/how likely this is and under what conditions.