Skip to content

Commit 2fb2685

Browse files
authored
docs: update native restaking for the new eigenpod UI (#109)
1 parent 14feb7d commit 2fb2685

File tree

3 files changed

+55
-67
lines changed

3 files changed

+55
-67
lines changed

docs/products/eigenlayer/restakers/restaking-guides/0-restaking-user-guide/native-restaking/README.md

Lines changed: 55 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,43 @@ title: Native Restaking
55

66
# Native Restaking
77

8-
98
:::warning
109
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:
10+
1111
- Initially provision the withdrawal credentials to your EigenPod address (created on the next page).
1212
- Initially provision the withdrawal credentials to an 0x00 address. You can then later modify your withdrawal credentials to your EigenPod address.
13-
:::
13+
:::
1414

1515
Native Restaking via the EigenLayer Web App consists of the following actions:
16-
1. [Restake New Validator Native Beacon Chain ETH](#restake-new-validator-native-beacon-chain-eth)
17-
2. [Restake Validator Yield (Rewards, Fees, and ETH)](#restake-validator-yield-rewards-fees-and-eth)
16+
17+
1. [Restaking New Validators](#restaking-new-validators-native-beacon-chain-eth)
18+
2. [Checkpointing](#checkpointing)
1819
3. [Withdraw Native ETH or Validator Yield](#withdraw-native-eth-or-validator-yield)
19-
4. [Delegate and Undelegate](#delegate-and-undelegate)
2020

2121
The diagram below outlines the operational flow of native restaking including:
22-
* Delegation
23-
* Redelegation (switching to a new Operator without exiting the validator)
24-
* Yield handling options
25-
* Exiting restaking.
22+
23+
- Delegation
24+
- Redelegation (switching to a new Operator without exiting the validator)
25+
- Yield handling options
26+
- Exiting restaking.
2627

2728
![native-restaking-processes.png](../../../../../../../static/img/native-restaking-processes.png)
2829

2930
## Gas Cost Planning
3031

3132
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.
3233

33-
34-
## Restake New Validator (Native Beacon Chain ETH)
34+
## Restaking New Validators (Native Beacon Chain ETH)
3535

3636
:::important
3737
Running your own EigenPod for native restaking is an advanced task that requires operating and maintaining Ethereum validator infrastructure.
3838
It involves managing validator keys and associated risks including slashing, downtime penalties, or loss of access to
3939
restaked funds if keys are lost or compromised. For more information, refer to [Ethereum Launchpad](https://launchpad.ethereum.org/en/).
4040
:::
4141

42-
Create EigenPod:
43-
1. Visit the [EigenLayer App](https://app.eigenlayer.xyz/).
44-
1. Click **Natively Staked Ether** via the Dashboard or Token tab.
42+
#### Create EigenPod:
43+
44+
1. Visit https://app.eigenlayer.xyz/token/ETH
4545
1. Click **Create EigenPod**.
4646
1. **Sign** the transaction via your Web3 wallet when prompted.
4747
1. Observe the new EigenPod contract address is displayed.
@@ -50,86 +50,74 @@ Create EigenPod:
5050
This address is responsible for all subsequent restaking and withdrawal activities associated with that EigenPod.
5151
:::
5252

53-
Repoint Validator:
54-
1. Configure the validator(s) credentials to point to the EigenPod address when the validator is created. Please see [Ethereum Launchpad](https://launchpad.ethereum.org/en/withdrawals#enabling-withdrawals) for more information.
55-
* 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
56-
* 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.
57-
1. 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.
58-
1. The validator's state will transition to `Awaiting Restake` in the web app.
53+
#### Set Validator Withdrawal Credentials to EigenPod:
5954

60-
Activate Restaking:
61-
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.
55+
1. Configure the validator(s) credentials to point to the EigenPod address when the validator is created. Please see [Ethereum Launchpad](https://launchpad.ethereum.org/en/withdrawals#enabling-withdrawals) for more information.
56+
- Confirming Withdrawal Address: you can confirm your withdrawal credentials (which should match your EigenPod), via the following URL: https://beaconcha.in/validator/[validator_index_or_public_key]#deposits
57+
- 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.
58+
1. Deposit your ETH into the validator via the deposit contract and wait for the validator(s) to become active on-chain. Please see https://beaconcha.in/[validator_index_or_public_key] to follow your validator status. Please note: this process can take up to 10 days depending on the length of the Beacon Chain deposit queue.
59+
60+
#### Restake Unproven Validators:
61+
62+
![unproven-validators.png](../../../../../../../static/img/eigenpod/unproven-validators.png)
63+
64+
1. Once the Validator is active on-chain and the withdrawal address has been configured to point to the EigenPod address, you will see it as an **Unproven** validator.
6265
1. Click **Restake** to initiate restaking the validator.
63-
1. Sign the transaction with your web3 wallet.
66+
1. This process will first fetch proofs that associate your validator to your EigenPod. You will then need to submit the proofs on chain via the `verifyWithdrawalCredentials` transaction.
6467
1. Your validator is now **Restaked**.
6568
1. 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.
6669

70+
## Important Values
6771

68-
## Restake Validator Yield (Rewards, Fees, and ETH)
72+
![overview.png](../../../../../../../static/img/eigenpod/overview.png)
6973

70-
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.
74+
- **Total Restaked Balance**: This is your current restaked amount. This is a sum of the Checkpointed balance in all of your Active Validators and the Checkpointed balance in your EigenPod minus any withdrawals that have been queued.
75+
- **Total Balance**: This is the total ETH balance in your EigenPod and all validators (proven and unproven) minus withdrawals.
76+
- **Active Validators Checkpointed Balance**: This is the currently restaked (checkpointed) balance of any validators that have been proven to your EigenPod.
77+
- **Total Active Validator Balance**: This is the total ETH balance of all proven validators. This number can change compared to your checkpointed amount due to fee/reward accrual or slashings.
78+
- **EigenPod Checkpointed Balance**: This is the currently restaked (checkpointed) balance in your EigenPod. This balance represents the maximum amount that you can withdraw from the Eigenlayer system.
79+
- **Total EigenPod Balance**: This is the current balance of ETH on your EigenPod. This number can change compared to the checkpointed amount due to fee/reward accrual or by direct ETH deposits to your EigenPod.
7180

72-
1. Observe the value of `Unstaked Balance` becomes greater than zero when there is ETH available to convert to restaked shares in the EigenPod.
73-
1. Click **Restake** to initiate a checkpoint proof.
74-
1. Sign two transactions: Begin Restake (to initiate a checkpoint proof) and Restake (to complete the checkpoint proof).
75-
1. Observe the Restaked Balance has increased by the amount of validator yield proven in the previous step.
81+
## Checkpointing
82+
83+
Users can convert consensus rewards, validator execution fees and ETH sent to the EigenPod (referred in this document as "Validator Yield") to restaked shares via the checkpointing process. Initiating and completing a checkpoint proof will automatically account for any balance changes to your EigenPod and Active Validators and restake them. This is also useful to update the Checkpointed Balance in your EigenPod to Complete a withdrawal ([see below](#withdraw-native-eth-or-validator-yield)).
84+
85+
1. Observe the difference between your **Total Restaked Balance** and your **Total Balance**. If your **Total Balance** (minus your unproven validator balance if any) is greater than your **Total Restaked Balance** then you will be able to initiate a checkpoint.
86+
1. Click **Checkpoint** to initiate a checkpoint proof.
87+
1. This process will first submit a `startCheckpoint` transaction. After it has been successfully been submitted, the app will fetch proofs for the checkpoint. Once the proofs are fetched, you will be prompted to sign the `verifyCheckpointProof` transaction to submit the fetched proofs.
88+
1. Observe the Total Restaked Balance has increased by the amount of validator yield proven in the previous step.
7689

7790
:::info
91+
7892
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](https://ethereum.org/en/staking/withdrawals/#validator-sweeping) for more information.
79-
:::
93+
:::
8094

81-
### Checkpoint Frequency
95+
#### Checkpoint Frequency
8296

83-
Users should not initiate a checkpoint more frequently than once every two weeks (approximately).
97+
Users should not initiate a checkpoint more frequently than once every two weeks (approximately).
8498
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.
8599

86100
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.
87101

88-
89-
90102
## Withdraw Native ETH or Validator Yield
91103

92-
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.
93-
104+
Overview: Withdrawing from EigenLayer involves first **Queueing a withdrawal**, waiting the 14 day escrow period, then finally **Completing the withdrawal**. You will be able to queue a withdrawal for any amount up to your restaked balance, but the maximum you are able to withdraw from the system is the Checkpointed Balance in your EigenPod. If your withdrawal is greater than the amount that is available in your EigenPod, you will first need to exit enough validators to ensure that the balance in your EigenPod is greater than the withdrawal amount and then complete a checkpoint to update your checkpointed EigenPod Balance.
94105

95106
If you wish to withdraw native ETH from an active validator, complete the following steps before proceeding:
96-
1. Ensure you have repointed your validator's withdrawal credentials to your EigenPod prior to continuing. Please see [Ethereum Launchpad](https://launchpad.ethereum.org/en/withdrawals#enabling-withdrawals) for more information.
97-
1. Fully exit your validator from the beacon chain. You may monitor its activity via beaconcha.in/validator/[validator_index].
98-
1. 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 .
99107

108+
1. Ensure you have repointed your validator's withdrawal credentials to your EigenPod prior to continuing. Please see [Ethereum Launchpad](https://launchpad.ethereum.org/en/withdrawals#enabling-withdrawals) for more information.
109+
1. Fully exit your validator from the beacon chain. You may monitor its activity via https://beaconcha.in/validator/[validator_index_or_public_key].
110+
1. 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 https://beaconcha.in/validator/[validator_index_or_public_key]#withdrawals .
100111

101-
:::warning
102-
Each queue withdrawal action will trigger a checkpoint and the associated gas costs. Please review the [Checkpoint Frequency](#checkpoint-frequency) section and plan for gas costs accordingly.
103-
:::
112+
#### Queue the Withdrawal:
104113

105-
Queue the Withdrawal:
106114
1. Click **Queue Withdrawal** in the web app.
107115
1. Choose the amount you wish to queue for withdrawal and continue
108-
1. A checkpoint proof is initiated. **Sign** the associated transaction with your web3 wallet.
109116
1. Wait for the [Escrow Period](../../testnet/README.md#testnet-vs-mainnet-differences) to complete.
110117

118+
#### Redeposit or Complete Withdrawal:
111119

112-
Redeposit or Complete Withdrawal:
113-
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.
114-
1. Choose to either **Restake** (to Redeposit the assets) or **Withdraw** (to complete the withdrawal).
115-
1. **Sign** the transaction using your web3 wallet.
116-
117-
118-
## Delegate and Undelegate
119-
120-
:::important
121-
Undelegating is not required to [exit and withdraw your validator](#withdraw-native-eth-or-validator-yield). Only undelegate if you intend to redelegate to a different
122-
Operator.
123-
:::
124-
125-
Undelegate and/or Change Delegation
126-
1. Click Undelegate
127-
1. **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.
128-
1. User is now Undelegated from the Operator.
129-
1. Wait for the [Escrow Period](../../testnet/README.md#testnet-vs-mainnet-differences) to complete.
120+
Once the escrow period is completed, you have the options to **Withdraw** or **Redeposit**. Redepositing is available for users who have undelegated and wish to redeposit the funds to restake with a different operator and is always possible regardless of EigenPod balance.
130121

131-
Delegate to a New Operator
132-
1. Navigate to an Operator you wish to delegate your assets to.
133-
1. Click **Delegate** to delegate to the new Operator.
134-
1. **Sign** the transaction using your web3 wallet.
135-
1. You are now delegated to the new operator
122+
1. Choose to either **Redeposit** or **Withdraw**. Withdraw will be disabled if the current balance of your EigenPod is less than the withdrawal amount.
123+
1. Sign the withdrawal or redeposit transaction. Note: if the withdrawal is greater than your checkpointed EigenPod balance and less than your total EigenPod balance, it will trigger the checkpointing process ([see above](#checkpointing)) before triggering the withdrawal transaction.

static/img/eigenpod/overview.png

117 KB
Loading
68.1 KB
Loading

0 commit comments

Comments
 (0)