On-Chain Forensics: Demystifying stETH's "De-peg"

On-Chain Forensics: Demystifying stETH's "De-peg"

Nansen’s research team dives into the stETH “de-peg”, using on-chain data to identify key events dating back to the UST/LUNA period.

Table of Contents

Text Link

Introduction 

Given the recent unfolding of events in relation to the stETH/ETH’s price deviation, there have been questions and much speculation surrounding the topic. Looking at the Curve stETH/ETH pool imbalance on Curve, it is evident that the situation dates back to the UST/LUNA de-peg. 

In this report, we wanted to shed light on the build-up of events dating back to the UST/LUNA period, to the recent events that took place in early June, purely backed by Nansen’s on-chain evidence. 

This report acknowledges that stETH is a derivative of ETH and strictly speaking, not required to trade on par with ETH (i.e. a 1:1 ETH peg). stETH is still subject to price discovery which creates an opportunity for others to buy stETH below the price of ETH. For most of its history, stETH has traded on par with ETH (1:1) until the UST/LUNA de-peg. For ease of reference, in this report we will refer to the price action of stETH relative to ETH as a price deviation and discount. 

TL;DR: 

Whilst stETH is strictly speaking, not required to trade on par with ETH, many players have built up leveraged stETH-ETH positions on Aave which puts them at risk of liquidation if the price ratio deviates too much from the 1:1 “peg” 

  • Our on-chain investigation revealed that contagion stemming from the de-peg of UST and subsequent collapse of the Terra ecosystem was likely the main factor for stETH deviating away from this 1:1 ratio
  • As stETH cannot be redeemed for ETH until after the Merge, the primary way to obtain liquidity on large stETH positions is through Curve
  • Large quantities of stETH (in the form of bETH) which were deposited in Anchor were almost entirely bridged back to Ethereum mainnet in a matter of days, increasing the selling pressure and causing uncertainty among participants
  • During the Terra collapse (May 7-16), the main liquidity pool on Curve lost more than half its TVL (3AC and Celsius alone withdrew almost $800m combined), resulting in a classic “liquidity crunch” as reflected in the pool’s imbalance which left the stETH price “vulnerable”
  • Given the poor market backdrop post-Terra’s collapse, both pool imbalance and liquidity on Curve for stETH failed to recover; the drying up of liquidity meant that there was no other avenue for significant stETH holders such as Celsius to cover their positions, culminating in the widely publicized events that occured on June 11-13 

stETH Leverage Strategy

Since stETH is tradable, there are opportunities to lever up on stETH positions on the secondary market. Market participants do this by:

  • acquiring stETH (either by swapping ETH for stETH on Curve, or by staking their ETH for stETH on Lido)
  • supplying stETH as collateral on Aave 
  • borrowing ETH on Aave against stETH 
  • using the borrowed ETH to acquire more stETH 
  • and looping this process multiple times until the desired loan to value (LTV) risk tolerance is reached

By doing this, they can effectively earn multiples of the ETH staking rewards (plus rewards for supplying stETH on Aave minus ETH borrowing cost).

Source: Twitter

On the other hand, the tradeoff is the build-up of leveraged positions which can be liquidated if stETH trades at a significant discount against ETH, putting the stETH at risk of a potential liquidation cascade when there is enough selling pressure. Once the selling pressure starts to mount, more users will have to sell their stETH to cover their positions, further exacerbating the sell pressure.

Methodology 

Our analysis was conducted in two main phases. 

We laid the foundations in Phase 1 immediately following the UST de-peg event and conducted an on-chain analysis for clues leading up to recent events in June. We narrowed our scope of the study to the period of May 7-16, as the LUNA collapse was escalating. 

Specifically: 

  • We tracked the flows from Wormhole's contract to Anchor's stETH vault to quantify the movement out of Terra into Ethereum. 
  • We monitored the selling of stETH into ETH on the Curve pool and conducted a case study on the biggest sellers during that week. 
  • Following the stETH price deviation from incoming selling pressure, we analyzed Lido's attempt to assist some overleveraged participants in covering their positions by cross-checking addresses that removed liquidity from the main pool and interacted with the concentrated pool in the same week. Note that factory pools are permissionless Curve metapools that can be created and deployed by anyone.
  • We also gauged the movement of the main pool's liquidity following some large removals by Three Arrows Capital and Celsius.

In Phase 2, we focused on recent events where the stETH/ETH ratio fell to 0.94 on the Curve pool and analyzed the top transactions before and after this period. After gaining insights on the wallets that have made large transactions of stETH, we drilled down on the individual entities and analyzed the behaviors of their transactions. 

Part 1: Background and build up to June

Background of UST de-peg

Terra's algorithmic stablecoin UST failed to hold its peg on May 7 2022, and on May 9 it dropped to a low of $0.35. Nansen's on-chain study disproves several rumors that indicate the narrative of an "attacker" attempting to undermine UST and instead shows that the sequence of events was the consequence of investment decisions made by a number of well-funded entities.

Nansen’s UST Report can be found here.

How it started

Source: Nansen Wallet Profiler for Token (bETH for Wormhole token bridge, from May 7-16)

As a result of the UST collapse, many depositors of bETH were quick to bridge back to the mainnet, most likely due to fear of Terra being compromised by majority attack and loss of their funds. For reference, bETH are wrapped tokens of Lido Finance's staked ETH (stETH), that can interact with  Anchor smart contracts and used as collateral to mint UST. On-chain data suggests that during the week following the start of the implosion (May 7 to May 16), there were many recipients of the bETH token to Ethereum from Wormhole, meaning that users were bridging back and potentially unwrapping their bETH for stETH using Lido. Wormhole is the bottleneck for bETH flows to and from the Terra chain. An aggregate of 615,980 bETH was bridged back to Ethereum during that period. Our dashboard shows that some of these top recipients include Celsius and Hodlnaut. 

Bridging

Source: Nansen Wallet Profiler for Token (bETH token balance on Wormhole bridge)
Source: Nansen Wallet Profiler for Token (stETH in Anchor Protocol: Anchor Vault)

Since bETH is a wrapped version of stETH specifically for Anchor's smart contracts, Anchor's stETH reserves in the vault also fell while Wormhole's bETH holdings were getting depleted. From May 7, Wormhole's bETH holdings fell from a peak of 667k to 32k within four days - a 95% drawdown. Similarly, Anchor's vault also experienced an abrupt fall of over 96% from its high of 665k stETH to 26k stETH. This reduction is analogous to flows from Terra to Ethereum, as investors were immediately unwrapping their bETH for stETH after bridging back. 

Source: Twitter
Source: Nansen Query (Net bETH Wormhole Flows)

Wormhole's net bETH flows show that a significant amount of bETH was bridged back during this period, with May 11 having the most net outflows - the same day Lido's Twitter account warned its users about the security risks of Terra and the safety of bETH, accelerating the withdrawals back to Ethereum. Many quickly lost faith in Terra and had no plans to bridge back or remain exposed to the ecosystem. 

Selling

Source: Nansen Query (Net stETH DEX trades)

Of the 615,980 bETH bridged back to Ethereum from Terra, 604,716 were converted back to stETH within the first week between May 7 and May 16 since Anchor's vault is essentially a proxy to mint bETH and, after the implosion, there was no reason to hold bETH. Similar to bETH flows, May 12 had the most significant volume for stETH DEX trades. The dashboard below shows that many of the largest holders unwrapped their bETH back to stETH. 

Source: Nansen Wallet Profiler for Token (stETH in Anchor Protocol: Anchor Vault)

On top of converting bETH to stETH, we observed selling pressure from stETH into ETH in the stETH/ETH Curve pool, which drained the pool's liquidity and thus led to the stETH discount. Many stETH holders were converting back to ETH. The net stETH buy/sell during this period reveals that a net cumulative of over 169k stETH were sold on DEXs (primarily on Curve), which caused the Curve pool's balance to topple.

Taking a deeper look into the large buyers and sellers (>10k stETH net) during this period from May 7-16, it can be seen that sales dominated the largest transactions, with the exception of a big purchase from Hodlnaut. The sellers were mostly either deleveraging and / or getting bETH from Terra and selling it on Mainnet as stETH. Interestingly, the two entities which are examined in greater detail later in this report, 3AC and Celsius, were not among the large sellers at this point in time.

Source: Nansen Query (addresses with largest net stETH buys/sells on DEXs May 7-16, excluding smart contracts)


Nansen labels of buyers with short description of their actions:

  • Hodlnaut: Trading Wallet:

May 11: Bought 94.2k stETH in 2 transactions and wrapped to bETH
May 12: Unwrapped 12k bETH to stETH and sold for ETH on Curve
May 14-15: Unwrapped the rest of the bETH to stETH, deposited on Aave and borrowed stables.

  • Heavy Dex Trader 0x8c8 (probably Celsius):

May 13: Bought 24.7k stETH in 2 transactions and sent the stETH to Celsius, had received funds from  another Celsius wallet the same day.

  • depool.eth:

May 12-13: Bought 15.5k stETH in several transactions, most of it remains in its wallet untouched until now.

Nansen labels of sellers with short description of their actions:

  • UST Peg defender:

May 8: Sold 74.7k stETH, which it received as bETH from Terra, to buy $109m UST (in addition to some ETH and USDT) which it then bridged back to Terra - likely to defend the early UST de-peg.

  • Heavy Dex Trader 0xd27: May 13:

Closed stETH / ETH Aave position completely, sold 59k stETH in the process.

  • Millionaire 0x069 (Wallet partially funded by Wintermute):

May 11: Sold 42.5k stETH which it received in September 2021.

  • Numerium.eth:

May 13: Closed Aave position which it built only 1 day prior, selling 25.7k stETH in the process; around 9k stETH to build the position came from Terra.

  • Yaemiko.eth:

May 9-12: Closed Aave stETH / ETH position, selling 17k stETH in the process.

  • Heavy Dex Trader 0x6b9:

May 13: Sold 15k stETH on Curve which it received 1 day earlier from FTX, sends the proceeds back to FTX.

  • ETH Millionaire 0x1f2:

May 13: Removed 10k stETH as collateral from Aave, selling it for ETH and resupplying the ETH back to Aave.

stETH/ETH discount

The stETH price remained relatively stable when denominated in ETH, hovering from 0.98 to 1.01 from June 2021 to April 2022, meaning that stETH and  ETH were trading at a roughly 1:1 ratio. However, incoming stETH selling pressure from holders started to impact the ratio, which in turn forced participants to de-lever.

Source: Nansen Query (stETH/ETH ratio and volume)

Zooming into the past 90 days, we could see a spike in volume, especially during mid-May and June. This spike could be attributed to holders unwinding their looped positions and selling stETH for ETH, causing the ratio to deviate to 0.97 (with a short spike to 0.95) leading up to the day with the most volume (May 14, 2022), as seen below. Unlike the previous times, the 1:1 parity was never restored. On June 11, 2022, the second spike in trading volume further forced the ratio down to 0.94. 

Source: Nansen Query (stETH/ETH ratio and volume)

Lido concentrated stETH factory pool

Source: Twitter

Due to the growing imbalance of the Curve pool and draining of its liquidity, big sells into shallow liquidity could mean accelerating liquidation cascades for participants who used the looping leveraged tactic on stETH via Aave.

In response to that, Lido launched a new concentrated Curve factory pool with a recommended 13:1 stETH/ETH ratio on May 12, which was incentivized with 1m LDO during the first week. This temporary measure attempted to draw stETH from the main pool with the purpose of rebalancing it, in order to support the price and available selling liquidity, allowing overleveraged players to safely de-lever.

Source: Nansen Wallet Profiler for Token (stETH balance of the concentrated stETH liquidity pool)

During the week from May 11-17, the concentrated Curve pool managed to attract 250k stETH and 24k WETH, while the balance of the main pool decreased by 383k stETH and 408k ETH (including balance changes due to swaps). 

Source: Nansen Wallet Profiler for Token (largest stETH withdrawals from main stETH liquidity pool)

We cross-checked the wallets that removed liquidity from the main pool and interacted with the factory pool during this period to estimate how much stETH was transferred over. This study also gives us an insight into:

  1. Which entities were the biggest contributors to the factory pool from the main pool
  2. How much of that stETH that left the main pool went into the factory pool
  3. If enough stETH was drawn out to allow overleveraged participants to exit

In conclusion, 45 different entities contributed to approximately 116k ETH in net stETH outflows from the main pool by wallets that also interacted with the factory pool. Three Arrows Capital (3AC) was the largest recipient of stETH from the main stETH/ETH Curve pool. Although this particular address did not interact with the concentrated pool, their other wallet was one of the largest depositors, with 9,724 stETH and 486 WETH added in the first week of the pool’s creation. 

3AC Main Pool Recipient Address: 0x3ba21b6477f48273f41d241aa3722ffb9e07e247

3AC Factory Pool Deposit Address: 0xe3d420ea8a9d029e907393cfac209288c789f6f3

Approximately 30.2% of the stETH outflow volume from the main pool (383k stETH) also interacted with the factory pool. Therefore, it appears that Lido achieved its goal of allowing overleveraged players to unwind their positions by drawing stETH into a concentrated pool. 

Other notable/largest depositors into the factory pool during this period include:

Note that these entities have already removed a majority of their LP positions from the concentrated pool.

Curve pool liquidity breakdown

As discussed earlier, following the escalation of events from the UST de-peg and worsening market conditions, the stETH liquidity in the Curve pool started to decrease. There was a sharp decline in the stETH/ETH Curve pool’s TVL, which began on May 11. One of the reasons for this was Lido's attempt to temporarily draw out stETH liquidity and restore balance to the main pool. However, given the general uncertainty in the market, the majority of the liquidity that was withdrawn did not end up in the concentrated pool. Although it allowed some of the overleveraged positions to be covered, the selling pressure outweighed the buying pressure.

The TVL of the stETH/ETH Curve pool contracted by more than 50%, from $4.08b on May 9 2022 to $1.91b on May 12, 2022. The price of stETH concurrently began to deviate from the ETH price. Moreover, Ethereum's price was already in a decline, drawing down 29% during the week of May 9 to May 16. These correlations of events and general crypto market sentiment following the Terra collapse may have hinted to early sellers and liquidity providers to be wary of sizable liquidation events from over-leveraged systems.

Source: Nansen Query (Curve stETH pool TVL)
Source: Wallet Profiler for Token (stETH Balance for Curve stETH main pool)

Addresses that we tagged as Celsius and Three Arrows Capital were the biggest withdrawers, removing almost $800m worth of liquidity combined (236k stETH and 145k ETH, respectively) on May 12. 

3AC Address: 0x3ba21b6477f48273f41d241aa3722ffb9e07e247

Celsius Address: 0xbc8d100e2c7c1d6bbefc3128bd5185d226a1976a

On May 12, Three Arrows Capital removed $400m of liquidity (128k stETH + 73k ETH) from the stETH/ETH Curve pool in a single transaction. Meanwhile, Celsius took out $380m of liquidity on the same day in three separate transactions. Other participants were also observed withdrawing liquidity, but these two entities were most consequential to the pool's health.

Source: Wallet profiler for token, Curve.fi stethCurve (stETH/ETH) for burn address: Inflows of stethCurve into the burn address means that the counterparty burned their LP token to redeem/withdraw their liquidity, each stethCurve token is worth 1 ETH or stETH resp. (not taking into account withdrawal bonus/penalty)

These transactions had a strong negative impact on the liquidity of the pool and the vulnerability of the peg. This vulnerability was an additional risk for investors already experiencing the turmoil of severe market drawdowns, further compounding the selling pressure on stETH. Specifically, the risk-to-reward ratio of holding an ETH derivative for ~5% APR may not have been worth the risk for those who believed ETH prices would decrease further in the short term. Additionally, the implosion of UST was a major contributor to increasing risk-off sentiment among market participants.

Source: Nansen Query

The ETH/stETH pool ratio was significantly impacted by the selling from the UST collapse, and the ETH and stETH pool balances suffered from the continued removal of liquidity. As a result, the ratio tumbled from a peak of 1.05 to a local low of 0.43 before a month-long consolidation. Unlike September 2021 where the deviation lasted for a month, the ETH/stETH pool ratio did not reclaim its previous highs near parity, and the liquidity in the Curve pool failed to recover to its former levels, leaving the stETH price “vulnerable” to future events.

Liquidations

Aave’s liquidation mechanism is such that if a liquidation occurs, up to 50% of the borrower’s debt and a liquidation fee is paid by the collateral provided. Entities have a few options to avoid this, they can either add more collateral, pay off their debt or unwind their leveraged positions in the current market situation. Focusing on the recent events, we uncovered the transactions taken by entities with health ratios that were falling closer to 1.0 (the point at which positions were at risk of liquidation) and their steps/actions taken towards preventing a liquidation.

Part 2: Zooming in on Recent Events 

Historically, stETH has traded relatively on par with ETH until the LUNA/UST de-peg, as we’ve covered earlier. Since then, stETH has started to trade at a discount from the historical 1:1 exchange ratio to ETH and the gap has been widening since. 

From June 1-7, the ETH/stETH ratio in the Curve pool remained relatively constant at 0.45, with the stETH price sitting at 0.98 ETH. The first signs of the stETH/ETH ratio weakening started on June 7 when the ETH balance decreased while the stETH balance increased. 

Both ETH and stETH balances saw a decrease by over 100k from June 9 to June 10, as stETH continued to trade at a discount of 0.97. Given the unstable macro environment, this caused users to further de-risk their positions by removing liquidity and/or selling stETH for ETH. The loss in liquidity and additional selling pressure put further strain on stETH and the price ratio fell to a low of 0.94 on June 11. Despite a slight restoration of the stETH price ratio to 0.96 on June 12, confidence remained low as there were continued outflows from the Curve pool. In total, the Curve pool lost almost $1b in TVL in just 2 weeks. 

Source: Nansen Query
Source: Nansen Query

Timestamp

To understand what contributed to the fall in price of stETH relative to ETH, we looked at the wallets that made large amounts of stETH transfers in  June. Even though the first drop in price happened on June 7, significant withdrawals started from June 3.

The chart below shows the top stETH transactions between June 1 to June 12. From these data points, we analyzed top transactions from the individual entities - which happened mainly from June 3 to 11.

Source: Nansen: Token Movements (as of June 20)

The table below shows the top 11 wallets that made large amounts of stETH transfers from June 3 to June 11, ordered by timestamp:

A Closer Look on Key Entities Involved 

Amber Group

Source: Nansen (Wallet Profiler for Token: stETH)

On June 10 at 8:37am UTC, Amber Group (0x12b5c9191e186658841f2431943c47278f68e075) withdrew all their liquidity from the stETH-ETH Curve pool, totalling 83,380.47 stETH and 26,733.52 ETH. At the time, the stETH price was sitting at 0.96 ETH. With the ETH/stETH ratio of the Curve pool sitting at 28%, Amber Group most likely wanted to pull liquidity before even more ETH got drained. 

Between June 10, 4:05am UTC and June 11, 7:27am UTC, Amber Group sent a total of 77,941 stETH into their FTX deposit address across 6 separate transactions.  Given how thin liquidity is on FTX’s stETH/USD market, it is unlikely that Amber was sending in their stETH to sell on the open market. For context, the order book was so thin that selling just $16k would have moved prices down by 2% while the market value at the time of their stETH position was approximately $125m. There is a possibility that Amber Group may have struck an OTC deal with FTX or they were simply trying to obfuscate their stETH position by masking it via a CEX like FTX.

Celsius

Summary of the wallets discussed in this section:

Between June 8 to June 9, Celsius withdrew a total of 50k stETH from Aave across multiple transactions from Wallet A. The funds were sent to Wallet B, a close counterparty of Wallet A. It then went through Wallet C, before ultimately ending up in FTX deposit, presumably signaling an OTC deal. 

Source: Nansen (Wallet A) / Nansen (Wallet C) (Wallet Profiler for Token: stETH)

During the same time period, Wallet D was sending additional funds in the form of WBTC, USDT, USDC, DAI to Wallet A. These funds were used to either add collateral or repay debt on Aave and Compound. 

Source: Nansen (Wallet Pair Profiler as of June 8)

Given the market volatility and the need to meet customer redemptions, Celsius was likely facing liquidity issues. With the stETH-ETH Curve pool getting drained and liquidity drying up, there would not be enough liquidity for Celsius to exit their stETH positions. stETH cannot be redeemed for ETH until 6-12 months after the merge and the only medium to swap for ETH is on the secondary market. With 409k of stETH deposited into Aave and only 127k ETH remaining in Compound, Celsius would have no way of off-loading their stETH on-chain without incurring slippage losses. In addition, the liquidity and volume was insignificant on CEXs compared to the Curve pool so selling through a CEX would not have been possible.

Source: CoinGecko stETH Markets (as at June 27, 2022) 
Source: Nansen’s Apeboard Portfolio Analytics (Wallet A)
Source: Curve ETH-stETH pool

Additionally, between June 8-12, Celsius was borrowing USDC and USDT from Compound and Aave using Wallet A and sending the funds to Wallet E, possibly to meet redemptions. A total of $59.5m USDC and $2m of USDT was borrowed on-chain. Wallet A also withdrew 112.5k ETH and sent it to Wallet E. In order to maintain a healthy LTV, they constantly had to repay loans and top up collateral by sending funds from Wallet D to Wallet A

From the period of June 10-12: after the Celsius platform was halted, Wallet B sent a total of 108.9k ETH to Wallet F. This wallet then sent the same amount to 0xfdc8eb4815e58152c956c367323b5e08d29f0438 (FTX: Deposit) which subsequently went to 0xc098b2a3aa256d2140208c3de6543aaef5cd3a94 (FTX). These funds from Wallet B originated from several wallets - 52.8k ETH from Wallet A, 42k ETH from Wallet F, 13.6k ETH from Wallet D, 1.4k ETH from 0x07ce9e0375497c81c603c63f37ffbc03860c23f9 and 1k ETH from 0xe081abb7d9e327e89a13e65b3e2b6fcaf2eceb97

On June 13 between 1am - 2am UTC, Wallet B also sent a total of 9k WBTC to 0x76a05277b81b9ca6c06c9ab4136116fc53e9c9e1 (FTX: Deposit). All of these funds originated from Wallet A.

As of June 22 , Wallet A is still the number 1 lender/borrower for ETH (incl. WETH and stETH) and WBTC collateral across both Aave and Compound with a combined collateral value of almost $1 billion. For now, their health ratio is still relatively strong, as long as there isn’t a sudden downward swing of 37% in prices of their collateral. On Aave, the health ratio is at 1.88 (meaning that prices need to drop 47% for them to get liquidated); On Compound, it's at 1.58 (meaning that prices need to drop 37% for them to get liquidated).

Whale Wallets

Besides notable entities, we also looked into whale wallets that had large stETH transactions between June 1-15 and we narrowed it down to 7 key wallets.

  1. 0xd275e5cb559d6dc236a5f8002a5f0b4c8e610701 (Heavy Dex Trader)
Source: Nansen (Wallet Profiler for Token: stETH) 

The wallet withdrew all liquidity from the stETH-ETH Curve pool on June 3, 3:18pm UTC for 47,353 stETH and 3,991 ETH. The ratio at the time was 0.978 stETH/ETH. Within 20 minutes, the wallet deposited all their stETH into Aave to top up collateral. On June 10 between 1:40pm UTC and June 13, 3:54pm UTC, the wallet made numerous ETH to stETH swaps netting 3,421 stETH that all ended up getting deposited into their Aave loan position. There does not seem to be anything malicious here and the wallet was simply removing their liquidity from Curve and depositing it into Aave as collateral to most likely prevent liquidation during the time of market volatility.

  1. 0xca2c8b7664fa4169bd85da72a968dab9b78f5882 (Token Millionaire) and 0x7ccd3befb83154b99c02f4dd5aec5dd76f1ee0b2 (ETH Millionaire)
Source: Nansen (0xca)/ Nansen (0x7c) (Wallet Profiler for Token: stETH)

Both wallets withdrew all liquidity between 9-10pm UTC on June 6 from the stETH-ETH Curve pool for 54,076 stETH/23,515 ETH and 54,103 stETH/23,489 ETH respectively. Both wallets are still holding all their stETH and at the time of removing liquidity from Curve, the stETH/ETH ratio was 0.978. Given the discount, both wallets most likely wanted to avoid the illiquidity in the pool and decided to remove their liquidity preemptively.

  1. 0x1b2382E16268c26F5dfC814a84ae156671362B5C and 0x2E85891e813b9Bd72db0b9065414B9888D1FDFDD
Source: Nansen (0x1b) / Nansen (0x2E) (Wallet Profiler for Token: stETH)

Both wallets received 22,855 stETH and 19,998 stETH respectively from FTX Exchange wallet within a 2 hour window between 4:57am UTC - 6:32am UTC on June 8.  At 7:45am UTC on June 8, 0x1b swapped all 22,855 stETH for 22,323 ETH via Cowswap. 0x2E swapped 19,998 stETH for 19,481 WETH via CoW protocol on June 8, 9:07am UTC. The swapped ETH was then sent to their FTX deposit addresses in the next 2 days and the wallets were zeroed out.  Note that both wallets were seeded with ETH from FTX and were entirely new wallets.

  1. 0xcde35b62c27d70b279cf7d0aa1212ffa9e938cef
Source: Nansen (Wallet Profiler for Token: stETH)

The wallet removed all their liquidity from the stETH-ETH pool on June 10 2:42am UTC for 38,420 stETH and 2,706 WETH. All the stETH was then deposited into their Aave loan to top up collateral and between June 10-12 they started de-risking further by paying down their Aave loan.

  1. 0x5f8f52ddc15990a45ba5aab85dfd9fdfae11b661
Source: Nansen (Wallet Profiler for Token: stETH)

The wallet removed all their liquidity from the stETH-ETH pool on June 10, 5:23pm UTC for 24,607 stETH and 6,689 ETH. The wallet continues to hold all their stETH. Again, the behavior of the wallet does not signify anything suspicious and they were most likely not comfortable providing liquidity knowing the pool might be drained of all ETH.

Three Arrows Capital (3AC)

We saw a total of 18,050 ETH moved from 3AC to Deribit between June 1 and June 11, the majority of which was delivered after June 7. These ETH deposits into Deribit might have been utilized as extra collateral to either safeguard 3AC's current positions or to take on new positions to hedge 3AC's current portfolio.

On June 7at 1:41am UTC, Wallet A withdrew a sizable amount of 29,054 stETH from BlockFi, and sent it straight to Wallet B. Soon after, 9,710 of the stETH received was deposited as collateral on Aave.

Source: Nansen (Wallet Pair Profiler: 3AC and BlockFi)
Source: Nansen (Wallet Profiler for Token: stETH) 

On the same day, at around 2:20 AM UTC, 3AC became slightly more cautious as Wallet B proceeded to borrow 7,000 ETH from Aave using the previously deposited 9,709 stETH as collateral. Within 5 minutes, this 7,000 ETH was then swiftly sent to 3AC’s FTX deposit address, possibly for selling. This trade was possibly used to hedge against downward pressure in ETH prices.

Source: Nansen’s Apeboard Portfolio Analytics

On June 8, it could be that 3AC was still fairly comfortable with their positions as they were still observed stacking stETH. Wallet B was observed removing 1,785 stETH collateral from Aave and Wallet E swapped 9,400 wETH for 9,652 stETH on 0x Protocol. 

Source: Nansen’s Apeboard Portfolio Analytics

Soon after swapping, Wallet E then proceeded to deposit 700.48 wETH and 9,652.89 stETH liquidity into the Curve stETH concentrated pool.

Source: Nansen’s Apeboard Portfolio Analytics

Interestingly, between June 8 and 9, we see Wallet D receiving 2,500 ETH from a wallet labeled as High Activity on Nansen (0x962fe6f349c320417e1992443c0852b1d95060f2) and 1,700 ETH from Deribit. 4,000 of the total ETH received was then shortly sent to FTX once more.

On June 11, Wallet E  pulled out their liquidity from the Curve stETH concentrated pool that they previously added on June 8 and then sent the 10,387.66 stETH to Wallet F.  This wallet then deposited 7,282.4 stETH that they had received, into Aave as collateral and borrowed 4,790 ETH, which they sent straight to Deribit. 

Source: Nansen’s Apeboard Portfolio Analytics

On June 13, we began to see signs of panic. Wallet G started unwrapping its wstETH for stETH and sold it for wETH via Cow Protocol. The wallet alone sold 49,022 stETH for about 46.1k wETH in 5 transactions (tx1/tx2/tx3/tx4/tx5) on Cow Protocol that day. 

Source: Nansen (Wallet Profiler for Token: stETH) 

A significant portion of these wstETH was identified to have come from Wallet I, a wallet that Nansen labeled as “Found on Avalanche”. Between June 13 and June 14, this wallet alone transferred a total of 34.6k wstETH into Wallet G.

Source: Nansen (Wallet Pair Profiler: Wallet I and 3AC)

Wallet G also withdrew 675.1 steCRV liquidity from the Curve stETH pool and swapped it for 679.9 ETH. It's interesting to note that Wallet G had also sent two large transactions to Wallet H, a wallet that Nansen labeled as "Whale"

*steCrv token represents a share in the Curve stETH-ETH pool.

Source: Nansen’s Apeboard Portfolio Analytics

The first of these two transactions was a transfer of 12,967 ETH to Wallet H on June 13, 4:11am UTC. At around 5:35pm UTC, another transaction amounting to 33,856 ETH was then transferred to the same Wallet H

Source: Nansen (Wallet Pair Profiler) 

On June 14, it appeared that 3AC had finally decided to unwind their positions on Aave.

From 8:08am UTC, Wallet D received 14.95k ETH from FTX in 9 transactions. Of this amount, 4,790 ETH were moved to Wallet F at 8:17am, and then at 8:19am, they were transferred to Aave to pay back their loans.

Source: Nansen (Wallet Pair Profiler: Wallet D and FTX) 
Source: Etherscan (Repay 4,790ETH to Aave)

During that day, Wallet B and Wallet F also disabled stETH as collateral on Aave, marking the end of their Aave positions.  At least 88,626 stETH were withdrawn from Aave by 9:10am UTC. 

Source: Nansen (Wallet F) (Wallet Profiler for Token: stETH) 
Source: Nansen (Wallet B) (Wallet Profiler for Token stETH) 

Throughout the morning, Wallet B, Wallet C, and Wallet F were observed withdrawing stETH collateral from Aave and exiting their stETH positions by swapping the stETH that they had (including those previously withdrawn from Aave earlier) for ETH on 0x Protocol and CoW Protocol. A significant portion of these ETH was simultaneously used to repay 3AC’s loans on Aave. Subsequently, Wallet C then sold the ETH it received earlier into DAI.

By the end of the day, 

  • Wallet B swapped a cumulative 38,900 stETH for 36,718 ETH across 2 transactions.
  • Wallet C swapped a cumulative of 17,780 stETH for 16,625 ETH which was used to swap for 20m DAI. 
  • Wallet F swapped 7,284 stETH for 6,981 ETH. 
Source: Nansen’s Apeboard Portfolio Analytics

From June 15 onwards, we mostly observe 3AC closing their ETH/stETH positions by swapping the tokens for stables. For example, Wallet B, has continued to sell off the remaining stETH held in the wallet for a total of around 19.8m USDT on 0x Protocol as of June 16.

Source: Nansen’s Apeboard Portfolio Analytics 

Conclusion

Although the talks about stETH “de-pegging” have been most present recently, the groundwork for the current situation was laid around one month earlier - during the UST collapse. When looking at stETH’s main liquidity pool on Curve, it can be seen that the first major drop in liquidity together with a strong imbalance between the pool’s stETH and ETH reserves occurred during that time. Terra’s largest protocol Anchor was home to sizable quantities of stETH (wrapped into bETH to work with the Anchor smart contracts) and with Terra ultimately collapsing, the vast majority of it found its way back to Mainnet during the period of May 7-16. On May 8, a single entity bridged 74.7k stETH from Terra to Mainnet and sold it mostly into UST, probably to defend the UST peg. Later bridging activity most likely occurred due to fear of Terra collapsing and stETH being stuck there or even drained due to the weakened security of the chain.

This increased the selling pressure on stETH and in turn likely also pushed many LPs in the stETH/ETH Curve pool to withdraw their liquidity, the largest among them being 3AC and Celsius with a combined $780m worth of liquidity withdrawn on 12 May (it is noteworthy that despite withdrawing large amounts of liquidity in the form of mostly stETH from the pool, neither 3AC nor Celsius were amongst the large stETH sellers during that time and kept most of their stETH). Consequently, some other larger players with (over)leveraged stETH/ETH positions on Aave that were dependent on a near 1 stETH:ETH price ratio sought to unwind their positions, resulting in yet more selling pressure on stETH.

Lido reacted by launching an incentivized concentrated liquidity pool on Curve (13:1 stETH:ETH, so very close to “single sided staking”) to temporarily counteract this selling pressure - to attract some stETH from the main pool, and create a window of opportunity for the aforementioned market participants to safely de-lever without causing further havoc.
Apart from a spike down to 0.95 ETH on May 13, stETH prices managed to stay relatively on par with ETH and hovered around 0.98 ETH until June 8. However, the main stETH Curve pool did not manage to recover and remained with significantly lower liquidity and a strong ETH/stETH imbalance.

In recent events, the withdrawals from the Curve pool signified that many were looking to de-risk their investments. Big players such as Celsius and 3AC were affected by the market downturn, which was further exacerbated by the stETH/ETH discount.

In the case of Celsius, the ability to remain liquid in order to meet customers’ redemptions was likely its main priority. Hence, they had to get rid of their stETH for other liquid assets while protecting leveraged assets by paying down debt. Pausing withdrawals most likely helped to prevent a bank run while providing Celsius with time to recalibrate and manage the risks in their investments. 3AC however, appears to be a victim of the contagion. A case of being in the wrong place at the wrong time.

From on-chain data, we observed that 3AC was unlikely to have caused the significant deviation in stETH prices from ETH between June 9 - 11 and appears to be a victim of the contagion. 3AC’s lack of sound risk management coupled with excessive leverage was simply a ticking time bomb that was set off by the stETH “de-peg”. As discussed, it was only until June 13 and 14 that 3AC started unwinding its stETH positions for ETH and stables, most likely to reduce its risks and cut its losses.

Disclaimer

The authors of this content and members of Nansen may be participating or invested in some of the protocols or tokens mentioned herein. The foregoing statement acts as a disclosure of potential conflicts of interest and is not a recommendation to purchase or invest in any token or participate in any protocol. Nansen does not recommend any particular course of action in relation to any token or protocol. The content herein is meant purely for educational and informational purposes only and should not be relied upon as financial, investment, legal, tax or any other professional or other advice. None of the content and information herein is presented to induce or to attempt to induce any reader or other person to buy, sell or hold any token or participate in any protocol or enter into, or offer to enter into, any agreement for or with a view to buying or selling any token or participating in any protocol. Statements made herein (including statements of opinion, if any) are wholly generic and not tailored to take into account the personal needs and unique circumstances of any reader or any other person. Readers are strongly urged to exercise caution and have regard to their own personal needs and circumstances before making any decision to buy or sell any token or participate in any protocol. Observations and views expressed herein may be changed by Nansen at any time without notice. Nansen accepts no liability whatsoever for any losses or liabilities arising from the use of or reliance on any of this content.