[ARFC] Onboard ezETH to Arbitrum and Base Instances

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