Skip to main content

Native Restaking

warning

Please read this entire guide before launching your new validator or integrating your existing validator. Before you deploy a new validator you must plan to either:

  • Initially provision the withdrawal credentials to your EigenPod address (created on the next page).
  • Initially provision the withdrawal credentials to an 0x00 address. You can then later modify your withdrawal credentials to your EigenPod address.

Native Restaking via the EigenLayer Web App consists of the following actions:

  1. Restake New Validator Native Beacon Chain ETH
  2. Restake Validator Yield (Rewards, Fees, and ETH)
  3. Withdraw Native ETH or Validator Yield
  4. Delegate and Undelegate

The diagram below outlines the operational flow of native restaking including:

  • Delegation
  • Redelegation (switching to a new Operator without exiting the validator)
  • Yield handling options
  • Exiting restaking.

native-restaking-processes.png

Gas Cost Planning

We recommend users connect many validators to a single EigenPod in order to reduce cost and complexity where practical. For each of the actions below that require a checkpoint proof, the web app will batch up to 80 validators per proof transaction batch. Users with more validators will require additional transactions to complete each checkpoint proof. Please plan your gas costs accordingly.

Restake New Validator (Native Beacon Chain ETH)

important

Running your own EigenPod for native restaking is an advanced task that requires operating and maintaining Ethereum validator infrastructure. It involves managing validator keys and associated risks including slashing, downtime penalties, or loss of access to restaked funds if keys are lost or compromised. For more information, refer to Ethereum Launchpad.

Create EigenPod:

  1. Visit the EigenLayer App.
  2. Click Natively Staked Ether via the Dashboard or Token tab.
  3. Click Create EigenPod.
  4. Sign the transaction via your Web3 wallet when prompted.
  5. Observe the new EigenPod contract address is displayed.
info

This address is responsible for all subsequent restaking and withdrawal activities associated with that EigenPod.

Repoint Validator:

  1. Configure the validator(s) credentials to point to the EigenPod address when the validator is created. Please see Ethereum Launchpad for more information.
    • Confirming Withdrawal Address: you can confirm your withdrawal credentials (which should match your EigenPod), via the following URL: https://beaconcha.in/validator/[validator_index]#deposits
    • Optional: as of the PEPE release you may choose to set the FEE_RECIPIENT to your EigenPod address if you wish to Restake those fees.
  2. Wait for the validator(s) to become active on-chain. Please see https://beaconcha.in/[validator_index] to follow your validator status. Please note: this process could take up to 10 days depending on the Beacon Chain deposit queue.
  3. The validator's state will transition to Awaiting Restake in the web app.

Activate Restaking:

  1. Once the Validator is active on-chain and the withdrawal address has been configured to point to the EigenPod address, the Restake button will become active.
  2. Click Restake to initiate restaking the validator.
  3. Sign the transaction with your web3 wallet.
  4. Your validator is now Restaked.
  5. You now have the option to delegate your restaked assets to your selected Operator. If you are already delegated to an Operator, your assets will automatically delegate to your currently selected Operator.

Restake Validator Yield (Rewards, Fees, and ETH)

As of the PEPE release, users can now convert consensus rewards, validator execution fees and ETH sent to the EigenPod to restaked shares (referred to broadly in this document as "Validator Yield"). Initiating and completing a checkpoint proof will automatically convert any consensus rewards to restaked shares for the EigenPod.

  1. Observe the value of Unstaked Balance becomes greater than zero when there is ETH available to convert to restaked shares in the EigenPod.
  2. Click Restake to initiate a checkpoint proof.
  3. Sign two transactions: Begin Restake (to initiate a checkpoint proof) and Restake (to complete the checkpoint proof).
  4. Observe the Restaked Balance has increased by the amount of validator yield proven in the previous step.
info
  1. The time lag associated with Ethereum beacon chain validator sweeps, which can be up to 65812 slots or 9 days. Please see the Ethereum docs here for more information.

Checkpoint Frequency

Users should not initiate a checkpoint more frequently than once every two weeks (approximately). The longer you wait before performing a checkpoint, the more gas users will save. The gas cost of a checkpoint is the same, regardless of how many consensus rewards will be proven. Each user should determine the best interval to fit their gas cost and restaking benefit needs.

Consensus rewards are moved from the beacon chain to your EigenPod once every approximately 8 days per the Ethereum protocol. Checkpoint intervals more frequently than 8 days would result in no benefit for the user.

Withdraw Native ETH or Validator Yield

Overview: the amount of ETH available to be queued for withdrawal will appear under "Available to Queue" in the web app. This amount will include any exited validators where the balance was withdrawn to EigenPod and any validator yield available to be withdrawn.

If you wish to withdraw native ETH from an active validator, complete the following steps before proceeding:

  1. Ensure you have repointed your validator's withdrawal credentials to your EigenPod prior to continuing. Please see Ethereum Launchpad for more information.
  2. Fully exit your validator from the beacon chain. You may monitor its activity via beaconcha.in/validator/[validator_index].
  3. Wait for the final beacon chain withdrawal to be deposited to your EigenPod. There can be a lag of up to 24 hours to 7 days between the validator appearing as "exited" and the withdrawal amount deposited to EigenPod. Please see the "Withdrawals" tab and "Time" column for your validator via beaconcha.in/validator/[validator_index]#withdrawals .
warning

Each queue withdrawal action will trigger a checkpoint and the associated gas costs. Please review the Checkpoint Frequency section and plan for gas costs accordingly.

Queue the Withdrawal:

  1. Click Queue Withdrawal in the web app.
  2. Choose the amount you wish to queue for withdrawal and continue
  3. A checkpoint proof is initiated. Sign the associated transaction with your web3 wallet.
  4. Wait for the Escrow Period to complete.

Redeposit or Complete Withdrawal: Redeposit or Complete Withdrawal: Redepositing is available at this step for users who accidentally queued a withdrawal, but would like to resume staking and delegation.

  1. Choose to either Restake (to Redeposit the assets) or Withdraw (to complete the withdrawal).
  2. Sign the transaction using your web3 wallet.

Delegate and Undelegate

important

Undelegating is not required to exit and withdraw your validator. Only undelegate if you intend to redelegate to a different Operator.

Undelegate and/or Change Delegation

  1. Click Undelegate
  2. Sign the transaction using your web3 wallet. Note: a queue withdrawal event occurs via the smart contracts at this time, because Undelegate and Queue Withdrawal actions are linked at the smart contract level. This information is not presented to the user in order simplify the user flow and focus on the change delegation action.
  3. User is now Undelegated from the Operator.
  4. Wait for the Escrow Period to complete.

Delegate to a New Operator

  1. Navigate to an Operator you wish to delegate your assets to.
  2. Click Delegate to delegate to the new Operator.
  3. Sign the transaction using your web3 wallet.
  4. You are now delegated to the new operator