[ARFC] Onboard ezETH to Arbitrum and Base Instances

[ARFC] Onboard ezETH to Arbitrum and Base Instances

Author: ACI

Date: 2024-10-29

Summary

This is an ARFC to gauge community sentiment for adding borrow/lend support for Renzo Protocol and its Liquid Restaking Token (LRT) ezETH on AAVE V3 Base and Arbitrum.

Motivation

As productive assets, staking tokens are high quality collateral to borrow against. ezETH is one of the largest liquid restaking tokens. With strong demand for ezETH on mainnet this proposal seeks to provide the opportunity for Aave users to make use of ezETH on leading Layer 2 networks: Base and Arbitrum.

The onboarding of ezETH on these L2s will create increased ezETH demand and increased revenues for both Aave and Renzo Protocol, whilst also bolstering the liquidity and peg stability of ezETH.

Chain to be deployed/listed

Aave v3 instances on Base and Arbitrum.

Proof of Liquidity and Deposit Commitments

ezETH deposits and wstETH borrows will be incentivized with Renzo Points.

Specification

ezETH contracts:

Arbitrum: 0x2416092f143378750bb29b79eD961ab195CcEea5

Base: 0x2416092f143378750bb29b79ed961ab195cceea5

Risk Parameters:

These will be provided by risk service providers and this ARFC updated with parameters accordingly.

ARFC updated with Risk Parameters by Risk Service Providers. 2024-10-31

Parameter Value
Chain Arbitrum
Isolation Mode No
Borrowable Yes
Collateral Enabled Yes
Supply Cap 1,750
Borrow Cap 175
Debt Ceiling -
LTV 72%
LT 75%
Liquidation Penalty 7.5%
Liquidation Protocol Fee 10.00%
Variable Base 0.0%
Variable Slope1 7.00%
Variable Slope2 300.00%
Uoptimal 45.00%
Reserve Factor 15.00%
Stable Borrowing Disabled
Flashloanable Yes
Siloed Borrowing No
Borrowable in Isolation No
E-Mode Category ETH-correlated, ezETH/wstETH
Parameter Value
Chain Base
Isolation Mode No
Borrowable Yes
Collateral Enabled Yes
Supply Cap 1,200
Borrow Cap 120
Debt Ceiling -
LTV 72%
LT 75%
Liquidation Penalty 7.5%
Liquidation Protocol Fee 10.00%
Variable Base 0.0%
Variable Slope1 7.00%
Variable Slope2 300.00%
Uoptimal 45.00%
Reserve Factor 15.00%
Stable Borrowing Disabled
Flashloanable Yes
Siloed Borrowing No
Borrowable in Isolation No
E-Mode Category ETH-correlated, ezETH/wstETH

CAPO

Following the analysis in this post, we recommend using a 14-day MINIMUM_SNAPSHOT_DELAY and a maxYearlyRatioGrowthPercent of 10.89%.

maxYearlyRatioGrowthPercent ratioReferenceTime MINIMUM_SNAPSHOT_DELAY
10.89% monthly 14 days

Useful Links

Renzo Protocol

Documentation

Github

Audits

Chainlink Data Feed

Composable Stable Pool

TEMP CHECK for onboarding on Ethereum Instance

TEMP CHECK Snapshot for onboarding on Ethereum Instance

ARFC for onboarding on Lido Instance

ARFC Snapshot for onboarding on Lido Instance

Disclaimer

This proposal is powered by Skywards. ACI is not directly affiliated with Renzo Protocol and did not receive compensation for creation this proposal.

Next Steps

  1. Publication of a standard ARFC, collect community & service providers feedback before escalating proposal to ARFC snapshot stage.
  2. If the ARFC snapshot outcome is YAE, publish an AIP vote for final confirmation and enforcement of the proposal.

Copyright

Copyright and related rights waived under CC0.

3 Likes

Overview

Chaos Labs supports listing ezETH on Aave V3 Arbitrum and Base instances. Below are our analysis and initial risk parameter recommendations, as well as two new Liquid E-Modes for the asset.

Following the extensive analysis of the asset that was done in this thread, this analysis will focus solely on the differences of the asset on Arbitrum and Base chains.

Supply and Market Cap

Currently, ezETH has a total TVL of 330K ETH, down from a high of 1M ETH when withdrawals were opened in mid-June but up from a low of 287K ETH right before its listing in the Aave v3 Lido instance. Since its launch, it has had a daily trading volume of $50.5M across all chains.

Its respective versions on Layer 2 are minted by locking ezETH in the bridge contract on the Ethereum side.

The supply of ezETH on Arbitrum is currently 19,300 after a sharp drop following the opening of the withdrawals.

The supply of ezETH on Base is currently 3,700 and has grown significantly since having been listed on Base.

Liquidity

The price impact of selling ezETH on Arbitrum has remained consistent over the last 60 days, which indicates a sticky liquidity on the chain. The liquidation under a 1% price impact has been consistently around 700 WETH.

Similarly, the liquidity on Base has somewhat stabilized over the last 60 days, with roughly 400 ETH of buy liquidity available and a TVL of $2.6M.

ezETH / ETH Volatility

ezETH exhibits modest volatility compared to ETH as it has decreased recently, with the 30-day annualized volatility at 1.93%, down from 6.2% over a 180-day period. The biggest price drop relative to ETH in the last 180 days has been 2.79%.

Its peg on Ethereum has been tightening recently after compounded rewards were included in the underlying asset APY. After the creation of ezETH/wstETH E-Mode on the Lido instance, the asset was traded at a slight premium even though its deposits were enabled and atomic, as the demand for looping was routed through DEX liquidity rather than protocol deposits.

Further analysis of the behavior of the asset during August 5th shows how its peg reacts to market stress. On Base, the asset deviated from its peg by up to 0.8%, and it was slow to return to its original price as it only happened through the following days. This is likely caused by thin liquidity at the time and the lack of active withdrawals.


ezETH depeg on Base on Aug 5th

We observed a similar reaction to Arbitrum, although the asset saw significantly more trading and arbitrage events and returned close to its previous day’s price within the day. Overall, the biggest deviation against its Exchange Rate was 1%


ezETH depeg on Arbitrum on Aug 5th

LTV, Liquidation Threshold, and Liquidation Bonus

Considering ezETH’s consistent liquidity and modest volatility compared to ETH, we recommend setting parameters equal to those recommended for Ethereum Main instance. Hence, we recommend an LT of 75%, an LTV of 72%, and a Liquidation Bonus of 7.5%.

Interest Rate curve

Given its similarity with its Ethereum counterpart, we recommend adopting the same interest rate curve parameters.

E-mode

Given the recent addition to Aave v3.2 of Liquid E-Modes, we recommend including ezETH in both the ETH-Correlated E-Mode of the respective chain and in a separate ezETH/wstETH E-Mode.
For the reasons described in this post, we recommend aligning the ezETH/wstETH E-mode parameters with the ones on the Lido instance.

Supply and Borrow Cap

Following Chaos Labs’ approach to initial supply caps, we propose setting the Supply Cap at 2x the liquidity available under the Liquidation Penalty price impact.

Thus, on Arbitrum we recommend an initial supply cap of 1,750 ezETH.

On Base, we recommend an initial supply cap of 1,200 ezETH.

Given limited historical demand for similar ETH-derivative assets — wstETH excluded given its use as borrow against ezETH — we recommend setting the borrow cap at 10% of the supply cap.

Pricing ezETH

Since native withdrawals have been open, the asset has shown a tendency to trade closely around and quickly revert to its fundamental underlying value during large market downturns. Hence, we recommend using a calculated oracle based on its exchange rate.

Recommendations

Following the above analysis, we recommend the following parameter settings:

Parameter Value
Chain Arbitrum
Isolation Mode No
Borrowable Yes
Collateral Enabled Yes
Supply Cap 1,750
Borrow Cap 175
Debt Ceiling -
LTV 72%
LT 75%
Liquidation Penalty 7.5%
Liquidation Protocol Fee 10.00%
Variable Base 0.0%
Variable Slope1 7.00%
Variable Slope2 300.00%
Uoptimal 45.00%
Reserve Factor 15.00%
Stable Borrowing Disabled
Flashloanable Yes
Siloed Borrowing No
Borrowable in Isolation No
E-Mode Category ETH-correlated, ezETH/wstETH
Parameter Value
Chain Base
Isolation Mode No
Borrowable Yes
Collateral Enabled Yes
Supply Cap 1,200
Borrow Cap 120
Debt Ceiling -
LTV 72%
LT 75%
Liquidation Penalty 7.5%
Liquidation Protocol Fee 10.00%
Variable Base 0.0%
Variable Slope1 7.00%
Variable Slope2 300.00%
Uoptimal 45.00%
Reserve Factor 15.00%
Stable Borrowing Disabled
Flashloanable Yes
Siloed Borrowing No
Borrowable in Isolation No
E-Mode Category ETH-correlated, ezETH/wstETH

CAPO

Following the analysis in this post, we recommend using a 14-day MINIMUM_SNAPSHOT_DELAY and a maxYearlyRatioGrowthPercent of 10.89%.

maxYearlyRatioGrowthPercent ratioReferenceTime MINIMUM_SNAPSHOT_DELAY
10.89% monthly 14 days

Disclaimer

Chaos Labs has not been compensated by any third party for publishing this recommendation.

Copyright

Copyright and related rights waived via CC0

3 Likes

Summary

LlamaRisk supports the proposal to add ezETH to the Arbitrum and Base instances. The liquidity available on those two chains is small but sufficient and varied enough for bootstrapping new markets. The success of the ezETH onboarding on the Ethereum Lido instance, which quickly reached 100% supply utilization thanks to the CianProtocol leverage-yield integration, bodes well for the potential onboarding of ezETH. Although our calculated recommended supply and borrow caps are slightly lower, we align with the parameters recommended by @ChaosLabs.

Both Arbitrum and Base also benefit from an L2 native re-staking capabilities from Connext and ChainLink CCIP, allowing users to directly mint ezETH in Renzo on L2 without needing them to bridge the asset, which helps bootstrap ezETH’s presence there.

While the access control mechanisms on Arbitrum and Base are sufficient, we recommend that the Renzo team implements a timelock for non-emergency administrative functions to enhance security. This would provide additional transparency and protection while maintaining the ability to respond quickly to emergencies.

Detailed analysis below

Detailed analysis

LlamaRisk initially conducted a complete review of ezETH on May 24th, 2024, and found it to lack the qualities necessary for it to be used as collateral. On August 2nd, 2024, we did a second review for the onboarding of ezETH as collateral on the Aave V3 Lido instance and found significant improvements in terms of decentralization, access control, and market stability. At that time, we endorsed ezETH as collateral, and our positive outlook has remained.

Access control risk

Renzo leverages Connext Network and ChainLink CCIP to offer native re-staking on various L2s, including Arbitrum and Base. Users can swap ETH/WETH for ezETH directly from the protocol with the internal exchange rate of the protocol. Later, the Renzo-controlled smart contracts on L2 will send the deposited ETH/WETH to the Renzo protocol on L1 to be re-staked. Minting ezETH through Connext on L2 is not free, with a 5bpp bridging fee, a 5bpp gas fee, and a variable % slippage for converting to nextWETH, the internal asset used by Connext for bridging ETH.

Native re-staking deposits on L2 should help grow ezETH liquidity and use cases on the supported L2s and reduce user friction. It is important to note that ezETH can only be minted through this solution and not redeemed for ETH/WETH. They would have to use secondary markets for that. Therefore, the bridge contracts on L2 cannot be used as additional, instantly redeemable liquidity sources for Aave liquidators.

Here are the Arbitrum contracts:

Here are the Base contracts:

The access controls in place are critical because the L2 contracts have significant responsibilities and can mint and burn ezETH on those chains without the necessary ETH/WETH backing. Only the xRenzoDeposit contract can call the mint and burn functions of the corresponding ezETH XERC20 contract. We found all contracts to be deployed behind a TransparentUpgradeableProxy contract. No timelock could be found, but it would have been desirable to allow ezETH holders to exit their positions on the L2 in case of a security breach.

The xRenzoDeposit contract gets the ezETH/ETH internal exchange rate from the Chainlink CCIP oracle. Notably, the privileged updatePriceByOwner function on the xRenzoDeposit contract is critical and can be called by the 3/5 multisig to override the ezETH/ETH internal exchange rate from the CCIP oracle. Through a privilege escalation attack, an attacker could mint ezETH for a fraction of the cost and empty the ETH from ezETH/ETH liquidity pools on L2s. An emergency pausing system on L2 would be more desirable than this privileged way to set the Oracle price.

The $500k Immunefi bug bounty Renzo offers does not explicitly mention that the L2 infrastructure is covered. However, since Renzo’s L2 presence is ultimately based on the Connext technology, it is relevant to note that Connext offers a $100k bug bounty on Immunefi for its bridging contracts.

Market risk

Arbitrum


Source: DefiLlama, October 30th, 2024

We can see that ezETH TVL on Arbitrum peaked at around $425m on May 27th, 2024, before returning to a plateau at around $50m. This coincides with the overall TVL trend for ezETH and can be explained by the negative sentiment from the community on the TGE event, together with the lack of withdrawals, which resulted in a strong downside depeg at the end of April 2024, which led to reduced confidence in the asset.


Source: OKX aggregator, October 30th, 2024

On Arbitrum, the liquidity available within a 7.5% price impact amounts to 740 ezETH or $2.04m. Applying the normal methodology yields a recommended supply cap of 1500 ezETH and a borrow cap of 150 ezETH. We found the following main liquidity venues:

Base


Source DefiLlama, October 30th, 2024

Although relatively small, the ezETH TVL on Base increased significantly over the last month from around $4m to $10m. This coincides with the underlying growth of the Base L2 chain.


Source: OKX aggregator, October 30th, 2024

On Base, the liquidity available within a 7.5% price impact amounts to 575 ezETH or $1.58m. Applying the normal methodology yields a recommended supply cap of 1100 ezETH and a borrow cap of 110 ezETH. We found the following liquidity venues:

Disclaimer

This review was independently prepared by LlamaRisk, a community-led non-profit decentralized organization funded in part by the Aave DAO. LlamaRisk is not directly affiliated with the protocol(s) reviewed in this assessment and did not receive any compensation from the protocol(s) or their affiliated entities for this work.

The information provided should not be construed as legal, financial, tax, or professional advice.

2 Likes

Thank you, @ChaosLabs and @LlamaRisk for both feedbacks. We have updated ARFC accordingly.

Is there a specific reason why this proposal does not include mainnet?

ezETH (Base and Arbitrum) technical analysis


Summary

Following the new proposal for listing it on Base and Arbitrum, we checked how the Renzo Team had implemented the ezETH bridge mainnet <> L2s and the native minting. This is a technical analysis of all the smart contracts of the asset and main bridge dependencies.

Disclosure: This is not an exhaustive security review of the asset like the ones done by the Renzo team, but an analysis from an Aave technical service provider on different aspects we consider critical to review before a new type of listing.



Analysis

The Renzo team has implemented a cross-chain asset system with 2 layers:

  • The ezETH L2 token on each chain is controlled by Renzo native infrastructure and sets limits for how much volume can be bridged by each underlying provider (e.g. Hyperlane).
  • The bridge providers, to which Renzo delegates the message passing to make bridging efficient.

This resembles a model like cross-chain GHO, with the asset issuer keeping so-called super-admin control, and delegating certain sub-permissions to more efficient infrastructure.

In addition, there is legacy “native” minting facilities on L2s getting deprecated, but to be replaced by new ones in the upcoming future.




Bridge

Currently, the main cross-chain ezETH underlying bridge provider is Hyperlane, allowing users to transfer ezETH to the major L2s (complete list here). This integration consists of a HypXERC20Lockbox contract on the mainnet that sends cross-chain messages via the HyperLance Mailbox contract.
Relayers then propagate those messages to the Mailbox on the L2 that validates and calls the HypXERC20 contract to mint xezETH (L2 version of ezETH) for the user.

The ezETH on L2s sets limits for the maximum amount each bridge can mint/burn per day, currently set at 2000 ezETH mint/burn per day for both chains Arbitrum and Base.


The bridge flow between chains consists of a few steps:

  • L1 → L2s

    1. On the Ethereum mainnet, users send ezETH to the HypXERC20Lockbox contract.
    2. The HypXERC20Lockbox sends the ezETH to be locked in the LockBox contract and burns the xezETH shares.
    3. A message is sent to the MailBox contract and propagated by relayers to the L2 Mailbox contract.
    4. The Mailbox contract calls the HypXERC20 and mints xezETH for the users.
  • L2s → L1

    1. Users send ezETH to the HypXERC20Lockbox contract on the original chain.
    2. The ezETH is burned on the L2, and a message is sent to the Mailbox.
    3. On mainnet, the Mailbox contract will call the HypXERC20Lockbox, which mints xezETH shares and withdraws ezETH from the LockBox for the user.
  • L2s → L2s

    1. Users send ezETH to the HypXERC20Lockbox contract on the original chain.
    2. The ezETH is burned on the L2, and a message is sent to the Mailbox on the destination chain.
    3. The message is validated, and the Mailbox calls the HypXERC20 to mint xezETH.



L2 Native Minting

Important: The native minting described below is being offboarded. In the following weeks, a new version of the native restaking will be implemented by the Renzo Team.


The Renzo native L2 minting process allows users to mint xezETH for ETH/WETH on L2s via the xRenzoDeposit contract, which uses the current exchange rate provided by a middleware contract, which pulls prices from the ezETH Chainlink price feed on the corresponding L2 to calculate the amount of xezETH for the user. Later, the WETH is batched with other deposits and bridged to the mainnet via the Connext bridge. Then, the WETH is deposited into Renzo, and the ezETH is sent to a lockbox contract, which can be exchanged for xezETH if users want to bridge their assets.

The xRenzoDeposit contract has a limit of minting 5000 ezETH per day on Arbitrum and Base and cannot burn tokens.




Contracts

Ethereum Mainnet

Arbitrum

Base



Pricing strategy

For pricing ezETH, we suggest CAPO with Chainlink ezETH/ETH exchange rate feed + WETH price feed. The exchange rate feed is present on Base and Arbitrum, pulling the rate from an adapter contract that queries the total supply and total TVL from the Restake Manager contract on mainnet. This adapter contract is upgradeable by the Renzo Team, which imposes centralization risks in the upgrades.



Miscellaneous aspects

  • In the following weeks, the Renzo team will implement a new native L2 minting, where users can deposit ETH/WETH on L2s and receive ezETH in exchange.
  • Even if controlled via the limits established by Renzo, the system has an important dependency on the underlying bridge provider, aside from the centralization on the multi-sig setup controlling upgradeability.


Conclusion

We think ezETH has no problem integrating with Aave on Base and Arbitrum, and there is no major blocker for listing.

6 Likes

Thank you @bgdlabs , @ChaosLabs and @LlamaRisk .

We have escalated the proposal to ARFC Snapshot.

Vote will start tomorrow, we encourage everyone to participate.

1 Like

After Snapshot monitoring, the current ARFC Snapshot ended a few hours ago, reaching both Quorum and YAE as winning option, with 393K votes.

Therefore, [ARFC] Onboard ezETH to Arbitrum and Base Instances has PASSED.

Next step will be the publication of an AIP for final enforcement and confirmation of the proposal.