EigenLayer Native ETH Restaking Guide for Fireblocks

January 11, 2024

EigenLayer, a cutting-edge security marketplace connecting restakers, operators and builders, offers an array of advantages that can empower ETH holders, including enhanced scalability, heightened security, and the potential for increased rewards, all while actively contributing to the decentralization of the network. This innovative solution offers a unique perspective on maximizing the benefits of Ethereum staking and network participation.

This guide is for ETH holders that custody their ETH with Fireblocks and want to natively restake through EigenLayer. Restaking ETH allows ETH holders to earn restaked points from early on. 

ETH Native Restaking

If you are already staking ETH with Figment and wish to restake through EigenLayer, you will first have to exit your existing validators. The reason for being required to do so is that, since the Shapella upgrade, all Figment validators have been provisioned with 0x01 withdrawal addresses. It is technically not possible to repoint existing 0x01 withdrawal credentials to an EigenPod address, which is a prerequisite for ETH restaking through EigenLayer. It’s worth noting that less than 3% of the active validators have the ability to repoint their withdrawal credentials to an EigenPod address, given that these validators still happen to have 0x00 addresses (which permit repointing).

To exit your active validators, you can either click the Unstake button within the Fireblocks UI (in the case of those validators having been initially provisioned and staked from within your Fireblocks workspace) or alternatively click the Unstake button in your Figment account. Please refer to the Figment dashboard network values to get the most up-to-date withdrawal period which your validators will need to go through for the eventual withdrawal.

Follow the below instructions to natively restake ETH held within Fireblocks today. 



Create an EigenPod through the EigenLayer UI by connecting your Fireblocks ETH Vault via WalletConnect. A certain EigenPod can be created by connecting to one wallet only (1:1 mapping between EigenPod and wallet address)

Click “Connect Wallet” in the upper right corner of the EigenLayer UI then click WalletConnect. You’ll see an option to connect to Fireblocks as shown below.

Navigate to the EigenLayer UI

Click on Connect Wallet and connect to Fireblocks


Clicking on the Fireblocks icon will bring you to your Fireblocks workspace, where you can choose the vault from where ETH will be restaked through EigenLayer.


Navigate to the Vault from where you wish to restake your ETH


Once your workspace is connected, you must sign the EigenLayer Terms of Service & Privacy Policy. This is an off-chain message that will be signed after going through your Transaction Authorization Policy (TAP), but does not have any interaction with the blockchain. 


Sign the Terms of Service in EigenLayer


Once you’ve approved and signed the message, check again in the upper right hand corner of the EigenLayer UI to confirm the right address is connected.


Confirm that the vault address is displayed correctly on the EigenLayer UI


Now that your Fireblocks vault is correctly connected, you are ready to create your EigenPod. Drill into the Restake Your Tokens view and select Create EigenPod as shown below.


Drill into Restake your Tokens to create the EigenPod


Proceed with the EigenPod creation via the EigenLayer UI.


Create EigenPod


After this step you will need to sign the Create Pod transaction popping up in your Fireblocks workspace.


Approve incoming request to create EigenPod


Upon approval, you should see a successful contract call to create the EigenPod. This transaction costs 0 ETH plus a transaction fee. This EigenPod is where all consensus layer rewards will accrue and principally staked ETH will end up once a validator is exited. Balance can be claimed by the EigenPod owner.


Approved Create Pod Request in Fireblocks


Details of the Create Pod Transaction within the Fireblocks workspace


Etherscan view of the Create Pod transaction

Now that the EigenPod was successfully created, locate the address of the newly deployed EigenPod. Copy this address—you will need it once you stake your ETH.


Drill into Native Restaking to locate the EigenPod address


Copy the EigenPod address

Sign up or log into Figment, enable Testnet Mode (for Mainnet ETH, stay on Mainnet) and click Stake ETH. Change the Withdrawal Address to the EigenPod address and insert the Fee Recipient Address. The Fee Recipient must be your Fireblocks vault address managed and controlled by you. Execution layer rewards will accrue at the Fee Recipient address and do not need to be claimed—these are instead automatically swept. Consensus Layer rewards will accrue at the EigenPod address itself.


Stake ETH in the Figment

Make sure to update the withdrawal address to the EigenPod address and the Fee Recipient to your Fireblocks ETH vault address as shown below. Save the values.


Update the withdrawal and fee recipient addresses

Complete the staking operation via the Figment UI by clicking Continue and Confirm Stake.


Figment is provisioning fresh ETH validators with given withdrawal and fee recipient addresses

Approve the transaction in your Fireblocks workspace.

Approve incoming staking transaction in your Fireblocks workspace

Upon approval you will get a notification your validators have been successfully provisioned, those will also be displayed in your Figment dashboard as “Activating” validators and will need to go through the activation queue. Once the validators become active, you will get another email notification from Figment. The status will also be accordingly reflected in the status within the Figment dashboard.

At this point, you can go ahead and restake the ETH through the EigenLayer UI by clicking Restake.

Restake ETH through the EigenLayer UI

Once you click restake, the EigenLayer app will be fetching beacon chain proofs and validating them on-chain as shown below. You will need to approve the incoming transaction in your Fireblocks workspace.

Proofs generated successfully

Approve the incoming transaction in your Fireblocks workspace.


Confirm the restake operation in your Fireblocks workspace

Upon confirmation, observe that the Beacon Chain Restaked and Total Restaked balances have increased accordingly.

Updated balance for total restaked

You have now successfully restaked your ETH and will start earning staking points! 

An example of the EigenLayer dashboard, restaked points here are captured after some time from the restaking operation

In the future, upon the successful native restaking of your ETH, you will have the option to delegate your restaked balance to the Figment operator and earn EigenDA fees. These are currently in testnet and not live on mainnet. Please refer to the EigenLayer docs for further details.

If you want to exit your EigenPod-linked Figment validator, you can do so through the Unstake button within the Figment dashboard and wait for the validator to withdraw (status will be updated in the validator dashboard within your Figment account). Once the validator has gone through the exit queue, the staked ETH will go to the EigenPod, from where you can then Unstake. For security reasons, all funds unstaked from EigenLayer Mainnet go through a 7-day escrow period before being able to be withdrawn. Thus after the unstake operation is initiated, you must wait 7 days before being able to withdraw your assets. Please find more details about the full principal withdrawal and partial withdrawals in the EigenLayer docs as outlined here.

Unstake button within the EigenLayer UI to get your ETH back to your Fireblocks ETH vault

The information herein is being provided to you for general informational purposes only. It is not intended to be, nor should it be relied upon as, legal, business, tax or investment advice. Figment undertakes no obligation to update the information herein. 


Meet with us

Bring the Complete Staking Solution to Your Organization

Figment respects your privacy. By submitting this form, you are acknowledging that you have read and agree to our Privacy Policy, which details how we collect and use your information.