Withdrawals

Technical Summary

The withdrawal feature allows users to claim underlying collateral in exchange for their ezETH. The withdrawal process is managed by a contract called WithdrawQueue. This contract has two main configurable parameters:

  1. Buffer Capacity: The amount of collateral available for withdrawal at any given time.

  2. Cooldown Period: The time it takes for the value to be released to the user after initiating a withdrawal.

The WithdrawQueue contract holds the value that users can claim. When a user initiates a withdrawal, the ezETH gets locked in the WithdrawQueue contract which then gets burned at the time of claim in exchange for the underlying collateral asset.

Withdrawing funds involves multiple time buffers. There is up to a 10 day waiting period to make collateral available for withdrawal after unstaking from beacon chain and withdrawing from EigenLayer, and there is a subsequent cooldown period (currently 3 days; will be upgraded to at least 7 days before EigenLayer slashing goes live) for any transactions out of the WithdrawQueue contract implemented for security reasons:

  1. Exploit detection: A cooldown period allows the protocol to detect and respond to any potential exploits using machine learning and anomaly detection tools.

  2. Slashing protection: To prevent front-running during tail-risk scenarios like slashing events, the cooldown period ensures that users cannot withdraw their collateral before slashing is enforced throughout the protocol.

Safety around the withdrawal feature is critical and of the utmost importance, as it involves the movement of actual value out of the protocol. The Renzo team has been hard at work ensuring that the contracts are safe. View our audits here: https://docs.renzoprotocol.com/docs/security/audits

Last updated