DeFi Is Getting Stress-Tested with Celsius–Here’s the Silver Lining
Before we jump into what went wrong at Celsius, let’s cover some DeFi basics first. If you’re a seasoned veteran, feel free to skip over this part.
Background on AMMs, DEXs, liquidity pools
An automated market maker (AMM) is the underlying protocol that powers a decentralized exchange (DEX) like Curve or Uniswap. An AMM uses a “liquidity pool” of (typically) 2 assets to allow users to swap between assets on-chain without the need for a centralized market maker or order book. An equal balance of value between both tokens in the pool is important to enable an efficient swap. If ETH drops in price, then a ETH/BTC liquidity pool will sell BTC for ETH to keep the total value of the ETH in the pool equal to the total value of BTC in the pool.
Curve is a popular DEX because its special swapping algorithm is great for absorbing large trades that cause pool imbalances between like-assets — this helps like-assets stay relatively “pegged” to one another. As a result, Curve is a popular destination for protocols looking to create liquidity pools of stablecoins (e.g. USDC/USDT), or in this case, stETH/ETH.
Background on Lido and stETH
At the heart of the Celsius situation is a DeFi protocol called Lido Finance. Lido is a staking service whose value prop is to unlock the liquidity of staked assets on PoS networks by issuing tokenized versions of these assets. This allows users to transact with these tokenized assets as if they were the original assets themselves, and still earn the staking yield.
Lido runs staking programs for various PoS networks (Solana, Polkadot, Polygon) but has 99% of its TVL on Ethereum. Users deposit ETH with Lido to take advantage of the 4% APR, and in return, they get stETH. stETH can be redeemed 1:1 for ETH after the Merge transitions Ethereum from PoW to PoS aka ETH 2.0.
To give stETH value on-chain, Lido seeded large liquidity pools on Curve so users could seamlessly swap from stETH to ETH and vice-versa. This gave the market confidence that stETH was essentially the same as ETH and major DeFi money markets like Aave began accepting it as collateral.
This allowed many users to lever up their stETH position by:
1. Depositing stETH as collateral on Aave
2. Borrowing ETH against it, staking that borrowed ETH for stETH via Lido
3. Redepositing the new stETH back on Aave
But is 1 stETH really worth 1 ETH?
The true “value” of stETH
If we check the market cap of stETH, it is at about $4.9B as of writing. But the Curve pool for stETH/ETH only has $152M/124K of ETH to swap into. That means if all $4.9B stETH wanted to swap into ETH right now, they could not do so because there’s not enough liquidity in the Curve pool.
So where is the liquidity to swap from ETH to stETH? Answer: Most of the liquidity is locked up on ETH 2.0 and can be redeemable only after the Merge.
Investors are realizing that 1 stETH is not worth 1 ETH because a) there’s not enough liquidity to swap 1:1 on-chain and b) there should be a time value discount applied to stETH given investors have to wait 6–12 months after the Merge to redeem their stETH for ETH.
As a result, stETH is being repriced based on market confidence in the timing of the Merge. But as more users swap from stETH into ETH, the Curve pools become further imbalanced and the asset in greater quantity (stETH) starts to lose peg.
How Celsius got caught in the crossfire
Remember how stETH has been widely used as collateral across DeFi? As stETH loses peg to ETH, the value of that collateral begins to drop and results in users getting liquidated and protocols seizing the stETH collateral, which is then also liquidated for and further magnifies the depeg. Now stETH < ETH, definitively.
This represents a huge problem for Celsius because they also deposited a large percentage of their customers’ ETH deposits into stETH via Lido in order to earn staking yields and rehypothecated these assets onto Aave for leverage.
As stETH depegs, Celsius becomes further insolvent since the value of ETH they owe to customer deposits is more than the value of stETH they have on hand (due to the depeg). Over the weekend, customers got scared and started causing a bank run on Celsius by redeeming their ETH.
At this point, Celsius didn’t have many options: liquidate stETH to cover customer ETH withdrawals/liabilities and pray people stop withdrawing, or liquidate other assets to make up for the depeg value lost, or stop customer withdrawals entirely. They opted for the third option because they could not sell their stETH as it was tied up on Aave as collateral.
You may be wondering: why doesn’t Celsius just unwind their leverage on these lending protocols instead of topping up their collateral to push down their liquidation price? We don’t have transparency into their books but the worst case scenario is that they do not have cash on hand (potential explanation why) to pay back their DeFi loans so the best they can do is add collateral and hope they’re not liquidated.
How this has impacted broader crypto
As news spread that 1) stETH was depegging => could cause liquidations and 2) Celsius may need to dump assets to cover their stETH losses => could cause liquidations, many market participants became spooked and began selling, including large institutions.
Over the last 4 days, the total crypto market cap saw a 22% drawdown or $264B in value wiped, for a current value of < $1T. Most of 2021’s gains have been wiped and we’re back at the total crypto market cap from Jan 6th 2021.
DeFi is getting stress tested again…having this event come back-to-back with the LUNA/UST situation is brutal. But weak links are being flushed out from the ecosystem and we believe from the ashes, DeFi will rise and do better next time by holding large actors more accountable and building more sustainable products. But until then, the winter may be quite long.