Exercise EigenLayer Withdraw

An essential guide to the `EigenLayerRestake.withdraw` exercise. This lesson provides step-by-step instructions on how to implement the `withdraw` function, enabling users to withdraw rETH from EigenLayer.

Join the Rocket Pool Discord Server

Stay in the loop with the latest Rocket Pool updates and connect with over 5,000 developers in the community.

1. EigenLayer POS Problem
A comprehensive explanation of EigenLayer - A protocol that allows you to reuse staked ETH to secure other protocols / services. The lesson covers the limitations of current proof of stake systems in terms of securing off-chain protocols and services and explains how EigenLayer solves this issue by allowing stakeholders to pool their capital and secure multiple protocols. Duration: 3min
2. EigenLayer Solution
A comprehensive overview of the EigenLayer protocol and how it functions. This lesson covers EigenLayer’s use of liquid staked Ethereum (LST) tokens, which are used to secure services and protocols, and how EigenLayer manages the withdrawal address for staked ETH. Duration: 2min
3. EigenLayer How It Works
A simple explanation of how EigenLayer works - This lesson covers how EigenLayer works, the main participants in EigenLayer and how they interact with the protocol. We explore the role of service builders, operators, and stakers, and examine how they work together to provide economic security for decentralized services built on Ethereum. Duration: 2min
4. EigenLayer Contract Architecture
A comprehensive overview of the core contracts used in EigenLayer and how stakers and operators interact with them. The video covers how stakers deposit assets and delegate them to an operator. It also explains how an operator registers with the delegation manager and claims rewards through the Rewards Coordinator. Duration: 2min
5. EigenLayer Reward Merkle Tree
A detailed explanation of the EigenLayer rewards Merkle tree - This video explains how the EigenLayer rewards are stored as a Merkle Tree. It also explains how the information stored within this Merkle tree is structured and organized. Duration: 1min
7. Exercise EigenLayer Deposit
A step-by-step guide to completing the `EigenLayerRestake.deposit` exercise. The lesson covers transferring rETH from the message sender, approving EigenLayer to spend rETH, depositing rETH into EigenLayer using `strategyManager.depositIntoStrategy`, and returning the minted shares. Reading Time: 0min
8. Solution EigenLayer Deposit
A comprehensive guide to deposit RETH into the EigenLayer using a Solidity smart contract. This lesson covers how to transfer RETH from the message sender to the contract, approve the EigenLayer contract to spend the tokens, and deposit the RETH into the EigenLayer strategy manager. Duration: 2min
9. Exercise EigenLayer Delegate
An essential guide to `EigenLayerRestake.delegate` exercise. This lesson covers how to implement a delegate function that calls `delegationManager.delegateTo` to delegate the contract's stake to an operator with default signature parameters. Reading Time: 0min
10. Solution EigenLayer Delegate
A step-by-step guide to delegating your staked ETH on EigenLayer. This lesson covers the process of calling the delegation manager contract with the `delegateTo()` function and passing in the address of the operator, an empty signature, and a default value for the approver salt. Duration: 2min
11. Exercise EigenLayer Undelegate
A concise guide to implementing the `undelegate` function in EigenLayerRestake contract. This lesson covers calling `delegationManager.undelegate` to undelegate from the current operator, and queue a withdrawal. Reading Time: 0min
12. Solution EigenLayer Undelegate
A step-by-step guide to understanding how to undelegate and withdraw your assets from EigenLayer. The lesson covers how to write your code, utilizing DelegationManager, undelegate, and withdrawalRoot to trigger a queued withdrawal request. Duration: 1min
13. Exercise EigenLayer Withdraw
An essential guide to the `EigenLayerRestake.withdraw` exercise. This lesson provides step-by-step instructions on how to implement the `withdraw` function, enabling users to withdraw rETH from EigenLayer. Reading Time: 0min
14. Solution EigenLayer Withdraw
A practical guide to withdrawing tokens from a delegated strategy. This lesson covers how to withdraw staked assets from a strategy after you have undelegated and the withdrawal has been queued. You'll also learn how to specify the amount of shares to withdraw, as well as the starting block number. Duration: 6min
15. Exercise EigenLayer Claim Rewards
A practical guide to `EigenLayerRestake.claimRewards` exercise - This lesson guides you through claiming restaking rewards from EigenLayer by calling `rewardsCoordinator.processClaim`. You'll learn how to implement the claim process within the `EigenLayerRestake` contract. Reading Time: 0min
16. Solution EigenLayer Claim Rewards
A comprehensive guide to interacting with a rewards coordinator smart contract. This lesson shows you how to use a rewards coordinator contract and how to write a test to ensure rewards are properly claimed. The lesson will explain the structure of a Merkle tree proof and how to use a rewards coordinator contract to process a claim with the proof. Duration: 2min

Course Overview

About the course

What you'll learn

Rocket Pool rETH staking, yield mechanisms, trading options, and contract architecture

How to distribute rewards and calculate rETH/ETH exchange rate

How to acquire and redeem rETH

Integrating rETH into DeFi protocols like AAVE V3

How to how to create leveraged ETH positions using rETH

How to provide rETH as liquidity to Balancer and Aura

Getting the USD price of rETH using Rocket Pool NAV oracle

Re-staking with EigenLayer

Course Description

Who is this course for?

  • Web3 Developers
  • Software Engineers
  • Financial Analysts
  • Finance developers
  • Smart Contract Security Researchers

Potential Careers

DeFi Developer

$75,000 - $200,000 (avg. salary)

Smart Contract Engineer

$100,000 - $150,000 (avg. salary)

Web3 developer

$60,000 - $150,000 (avg. salary)

Smart Contract Auditor

$100,000 - $200,000 (avg. salary)

Blockchain Financial Analyst

$100,000 - $150,000 (avg. salary)

Web3 Developer Relations

$85,000 - $125,000 (avg. salary)

Meet your instructors

Tasuku Nakamura

Tasuku Nakamura

Founder at smartcontract.engineer

Smart contract engineer and educator.

Last updated on July 8, 2025