diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/README.md deleted file mode 100644 index dd6648cd..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Liquid Restaking - -A method where Liquid Staking Token (LST) holders restake by transferring their tokens into the EigenLayer smart contracts. See how to do so in the next sections. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/_category_.json new file mode 100644 index 00000000..1ac924d4 --- /dev/null +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 1, + "label": "Liquid Restaking" +} diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/restake-lsts.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/restake-lsts.md index d22382ee..f675170d 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/restake-lsts.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/restake-lsts.md @@ -1,10 +1,13 @@ -# Restake LSTs +--- +sidebar_position: 1 +--- +# Restake LSTs -## Restake with Liquid Staking Tokens +**Step 1:** Open the EigenLayer App and connect your Web3 wallet. Visit EigenLayer on the Ethereum Mainnet at app.eigenlayer.xyz. -**Step 1:** Open the EigenLayer App and connect your Web3 wallet, making sure you are connected to the Ethereum Mainnet network. Visit EigenLayer on the Ethereum Mainnet at [**app.eigenlayer.xyz**](https://app.eigenlayer.xyz/)**.** +![](/img/googleusercontentbackup/OZIhNy0g6_p2e6kR0yF9BJxHQcdhHNEnQSWwBokS3tSy2cd9bUyU0tve-ApItvVm7bJHKHum1T_2tgZhwa_LSyi7ScQdALSsUQioM0qMxZWcqWKhmtIQ7xcdOGtTOT6Uf18KnCs_zWgbXHLOtUqguSI.png) **Step 2:** Select the token you want to restake. @@ -14,12 +17,7 @@ If this is your first time depositing a token on EigenLayer, you'll need to **Ap **Step 4:** Once the token Approval transaction is confirmed, you will be prompted to confirm the **Deposit** transaction. -**Step 5:** Confirm the **Deposit** transaction via your wallet. - -If successful, you will see the corresponding increase in your Restaked balance in the app: +**Step 5:** Confirm the **Deposit** transaction via your wallet. Observe the corresponding increase in your Restaked balance in the app: ![](/img/googleusercontentbackup/J5g4XOmz3hOOeQG2w6gFtPxzKLiyPq06v8pBQ2BNITHkfzVX1F26lm_Sf0qCxtIL-bTUye7w573yJub5S6iOA8xtJmOIjZybgLXiCM8YFZHj_6UFc2LEv8HLFmNO7OOLP0c1MmGnCBL7bH_DhsOLPBU.png) -**Step 6:** Monitor your Staking Rewards & Restaked Ratio on the [homepage](http://app.eigenlayer.xyz/). - - diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/withdraw-from-eigenlayer.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/withdraw-from-eigenlayer.md index 849991fc..186c27a6 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/withdraw-from-eigenlayer.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/withdraw-from-eigenlayer.md @@ -1,20 +1,24 @@ +--- +sidebar_position: 2 +--- + + # Withdraw from EigenLayer :::info -All funds unstaked from EigenLayer go through a 7-day escrow period before being able to be withdrawn. Thus after you initiate (queue) the withdrawal, you must wait 7-days before being able to withdraw your assets. +All funds unstaked from EigenLayer will go through an escrow period before being eligible to be fully withdrawn. ::: -**Step 1:** Navigate to the **Unstake tab**, enter your withdrawal amount, and click **Unstake**. - +**Step 1:** Navigate to the Unstake tab, enter your withdrawal amount, and click **Next**. **Step 2:** Click **Confirm** when prompted by your wallet. Once the transaction confirms, you should see your Restaked balance move to Unstaking. -![](/img/restake-guides/lst-m1-mainnet-withdrawal1.png) +![](/img/googleusercontentbackup/Ol33uK-uNL7K5vXmWDyI_eVWQOT75Jx7kR9Q75Qn5547ExC0KwfBFn6SikZgfOIYqU2od1OSjXlsA9WXpDa653AXPc38mNQ9ESmSZX0pPxGnleA9QFOgSTpCEYzkzr051HyJwlvMMNpfdS_BBvxARz0.png) -**Step 3:** Your withdrawal is now in escrow. Wait for the escrow period to complete. +**Step 3:** Your withdrawal is now in escrow. **Wait** for the escrow period to complete. **Step 4:** Once the escrow completes, you'll see the balance under Available to withdraw. Click **Withdraw** to finalize the process. -![](/img/restake-guides/lst-m1-mainnet-withdrawal2.png) +![](/img/googleusercontentbackup/VXO97JjR5VLDR8u0afZ6g9bq2zDScyP_UyQ4tkkc8J2IYWgfUIOUxIm08micsb8_kIne-aftSKuzwHBpoJV0NUGbWil-Zw0fUHdYUMgte5k6DbEj8dxpSvLT3V3k_DS78BO6c9GG3nDids7LGOyLbME.png) -![](/img/googleusercontentbackup/RLMOGvPSu2_BPRIu4o32LZIKFgSOySe8tatR67-pGsFPZxVmk1RSLvkNT_FHXcZUDtP8eINc2EQUG3y4X0yVM7l6Ly1q2iE8v1j6VDr7vI1wtR4GqKBsrLgc9pUwMvzu9UeXQbsumCSlGPNRiX9-1vA2.png) +![](/img/googleusercontentbackup/RLMOGvPSu2_BPRIu4o32LZIKFgSOySe8tatR67-pGsFPZxVmk1RSLvkNT_FHXcZUDtP8eINc2EQUG3y4X0yVM7l6Ly1q2iE8v1j6VDr7vI1wtR4GqKBsrLgc9pUwMvzu9UeXQbsumCSlGPNRiX9-1vA.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/README.md index 886846b9..551f4654 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/README.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/README.md @@ -1,21 +1,33 @@ --- -description: How to restake and withdraw with Native Staking +sidebar_position: 2 +title: Native Restaking --- # Native Restaking -Native Restaking is the process of pointing an Ethereum validator's [withdrawal credentials](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-What-are-withdrawals) to the user's [EigenPod](./create-eigenpod/README.md). You must operate an Ethereum Validator node in order to participate in Native Restaking. To learn more or set up your Ethereum Validator please follow this link from the[ Ethereum Foundation](https://launchpad.ethereum.org/). +Native restaking describes the process of changing an Ethereum validator's[ withdrawal credentials](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-What-are-withdrawals) to EigenLayer's smart contracts. You must operate an Ethereum Validator node in order to participate in Native Restaking. To learn more or set up your Ethereum Validator please follow this link from the[ Ethereum Foundation](https://launchpad.ethereum.org/). + +:::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: -:::info -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. Note that you can only change the withdrawal credential for 0x00 validators once. +- Initially provision the withdrawal credentials to an 0x00 address. You can then later modify your withdrawal credentials to your EigenPod address. + ::: Native Restaking on EigenLayer consists of the following actions: -1. [Verify Validator Withdrawal Prefix](validator-eligibility-withdrawal-prefix.md) -1. For existing 0x01 validators you need to [exit your validators](./withdrawal-flow/withdrawing-a-validator-from-consensus-layer.md). -1. [Create EigenPod](./create-eigenpod/README.md). -1. Deploy New Validators and [Set Withdrawal Credentials](repointing-a-validators-withdrawal-credentials.md) to your EigenPod or provision as 0x00 prefix to change later. -1. If deployed as 0x00 prefix you will need to [Set Withdrawal Credentials](repointing-a-validators-withdrawal-credentials.md) Credentials to your EigenPod. -1. [Withdraw from EigenLayer](./withdrawal-flow/README.md). + +1. Create New EigenPod, Set Withdrawal Credentials, Enable Restaking +1. Upgrade Existing EigenPod +1. Withdraw from EigenLayer + +### Stage 1 EigenPods Upgrade Requirement + +Existing Stage 1 EigenPods will need to be **Upgraded** in order to be **actively restaked**. After the Eigenlayer contracts are updated for Stage 2 the EigenPod's "Current Restaked" amount will be moved to "Awaiting Restake" and the "Upgrade EigenPod" button will be clickable. EigenPods can then become actively Restaked by following the instructions in Upgrade Existing Eigenpod(link). + + +### Deposit and Withdrawal Costs + +Native Restaking Deposit and Withdrawal transactions will incur additional gas fees due to the required proof verification. Restaking with EigenLayer requires proof of beacon chain staking and active validator status. This proof is generated off chain during Deposit and Withdrawal then verified on chain. The verification process will incur a gas fee of approximately 200k gas + a fixed fee per proof that will be around 0.01 ETH. Please plan and budget accordingly for associated costs. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/confirm-withdraw-exec-addrs.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/confirm-withdraw-exec-addrs.md index e861ff6e..7ec8785d 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/confirm-withdraw-exec-addrs.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/confirm-withdraw-exec-addrs.md @@ -2,7 +2,7 @@ sidebar_position: 7 --- -# Confirming Validator Withdrawal and Execution Addresses (Optional) +# Confirm Validator Withdrawal and Execution Addresses (Optional) Verifying your Validator’s Withdrawal and Execution addresses can help ensure you have configured your Native Restaking with EigenLayer safely. The instructions below will help you ensure that your Withdrawal address is set to your EigenPod and that your Execution address (aka “Fee Recipient”) is not set to your EigenPod. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md similarity index 85% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md index cfa6ded1..2ce2f095 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/README.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 1 +--- + # Create EigenPod and Set Withdrawal Credentials An [EigenPod](https://github.com/Layr-Labs/eigenlayer-contracts/blob/master/docs/core/EigenPodManager.md) is a smart contract managed by users, designed to facilitate the EigenLayer protocol in monitoring and managing balance and withdrawal statuses. Please review the following considerations when planning your EigenPod and validator operations: @@ -7,17 +11,21 @@ An [EigenPod](https://github.com/Layr-Labs/eigenlayer-contracts/blob/master/docs - The address that deploys an EigenPod becomes the owner of the contract and gains permission for restaking and withdrawal operations. - Ownership of an EigenPod cannot be transferred. -**Step 1:** Open the[ EigenLayer App](https://holesky.eigenlayer.xyz/) and connect your Web3 wallet, making sure you are connected to Ethereum mainnet. +**Step 1:** Open the [EigenLayer App](https://app.eigenlayer.xyz/) and connect your Web3 wallet, making sure you are connected to Ethereum mainnet. ![](/img/googleusercontentbackup/HNaZjUx0-Tp6xqPD7T6BVccmiXiwbTLD2g4jw4R87xpGw_XsTAqXXJ1eYIBOeYKZOaQ0RcYBsOr3OrZL0xUG8l6xumGHqAbByRFYHe6Qoe5zeUgHL2fYCWnCi1SNNgIkTIdj8db9t3LHVsAJi6qA5Ys.png) -**Step 2:** Review the Terms of Service & Privacy Policy. Click Sign to continue and accept the transaction in your wallet to continue. +**Step 2:** Review the Terms of Service & Privacy Policy. Click **Sign** to continue and accept the transaction in your wallet to continue. ![](/img/googleusercontentbackup/NAjPWmiVugcK4LBKRe-Sj8bZKf5c9oR-hRmvr0jeQg3XN-eUdlasEru71Zjb59p30QnF-7fUbflVfEMxnfqC9HdQJXV2zpo3E7x1HgJm91bNybpzYbo4er1cPO8fv514uyZVcdT6Xu8GVFQHA6iT1pI.png) + + + ![](/img/googleusercontentbackup/iLPD5MfrJT8krjQtly8sUUiqKtpTWXD58Ajp_jfKNTnNcV07s8TD-A2H0GLyPOmTHvFUWGho7qjICYzzhAvpyTwJh_Mpiq_k6lMWsNL7H5ns9OCVRa6MnjMpFpNDkNakfdTPVRcElFSfslcVJTHByN0.png) -**Step 3:** Click **Create EigenPod** +**Step 3:** Click **Create EigenPod** to continue. ![](/img/googleusercontentbackup/JmrdFSRiYNSe_77cpb8ut3ZEH4FIgyO1D4Sm76QM3mi6agrvsXQ1_I6t_CVnZ3hP3YRFrVGPvHWo7rQFxhYylYSO02XTQ02wKFjpRdN1auJDmGJAdJJ6ubmAJ0XfbiEbeH_4n9Aq0VDMBkD_I4g-n_0.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/_category_.json similarity index 100% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod/_category_.json rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/_category_.json diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/enable-restaking.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/enable-restaking.md similarity index 76% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/enable-restaking.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/enable-restaking.md index e7ccf669..e29d9233 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/enable-restaking.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/enable-restaking.md @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 3 --- # Enable Restaking @@ -10,18 +10,18 @@ After your Beacon chain ETH balance has been proven and verified on chain, you w This process can take **up to 4 hours** after your validators have entered the active state on the beacon chain. You may use [beaconcha.in](https://beaconcha.in) as a reference during this process. ::: -**Step 1:** Click Restake from the Beacon Chain Ether page. +**Step 1:** Click **Restake** from the Beacon Chain Ether page. -![](/img/testnet-restake-guides/enable-restake-1.png) +![](/img/restake-guides/enable-restake-1.png) **Step 2:** Observe the app is fetching beacon chain proofs and validating them on-chain. ![](/img/googleusercontentbackup/TEQS3Nkjxf9NYe382VZ4UqYatO1r0QAtYvLYVmDavOhl7KkD-xyVamKulgxXVIFPe96u0VCs-gVbQ2UR7Oh-ZuktcHYP0Gfozqq2ZRFEpLhct9GXssVXf5ZZui9MmEKubqwekKrg2mPU9wZrDf8ZzPU.png) -![](/img/testnet-restake-guides/enable-restake-2.png) +![](/img/restake-guides/enable-restake-2.png) -**Step 3:** Confirm the transaction via your Web3 wallet. +**Step 3:** **Confirm** the transaction via your Web3 wallet. **Step 4:** Observe your Beacon Chain Restaked and Total Restaked balances have increased accordingly. -![](/img/testnet-restake-guides/enable-restake-3.png) +![](/img/restake-guides/enable-restake-3.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/repointing-a-validators-withdrawal-credentials.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/repointing-a-validators-withdrawal-credentials.md similarity index 96% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/repointing-a-validators-withdrawal-credentials.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/repointing-a-validators-withdrawal-credentials.md index ec2659ac..1fc4d5b4 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/repointing-a-validators-withdrawal-credentials.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod-and-set-withdrawal-credentials/repointing-a-validators-withdrawal-credentials.md @@ -2,7 +2,7 @@ sidebar_position: 2 --- -# Repoint Validator Withdrawal Credentials +# Set Validator Withdrawal Credentials :::info If you do not know your withdrawal prefix, please review [Validator Withdrawal Prefix](validator-eligibility-withdrawal-prefix.md "mention") before starting this guide. @@ -30,7 +30,7 @@ ethdo validator credentials get --validator=VALIDATOR_INDEX 5. Finally, navigate to the your EigenPod dashboard on the EigenLayer app and check that the number of restaked validators matches the number of validators whose withdrawal credentials you repointed: -![validator](/img/testnet-restake-guides/native-stake-repoint-1.png) +![validator](/img/restake-guides/native-stake-repoint-1.png) ### Option 2: Consensus Client diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod/README.md deleted file mode 100644 index 819acfe2..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/create-eigenpod/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Create EigenPod and Set Withdrawal Credentials - -An [EigenPod](https://github.com/Layr-Labs/eigenlayer-contracts/blob/master/docs/core/EigenPodManager.md) is a smart contract managed by users, designed to facilitate the EigenLayer protocol in monitoring and managing balance and withdrawal statuses. Please review the following considerations when planning your EigenPod and validator operations: - -- You may point any number of validators to a single EigenPod. -- An Ethereum address can only deploy a single EigenPod. -- The address that deploys an EigenPod becomes the owner of the contract and gains permission for restaking and withdrawal operations. -- Ownership of an EigenPod cannot be transferred. - -**Step 1:** Open the [EigenLayer App](http://app.eigenlayer.xyz/) and connect your Web3 wallet, making sure you are connected to Ethereum mainnet. - -**Step 2:** Click **Create EigenPod**: - -![create-pod](/img/restake-guides/native-create-eigenpod1.png) - -If successful, you will receive a confirmation. Observe that your EigenPod address is available on the right portion of the screen. - -![pod-detail](/img/restake-guides/native-create-eigenpod3.png) - - -**Step 3:** Copy this address for future use setting your validator's withdrawal credentials. - -![copy-address](/img/restake-guides/native-create-eigenpod4.png) - -:::info -This address is responsible for all subsequent restaking and withdrawal activities associated with that EigenPod. -::: - -:::warning -Validators SHOULD NOT direct execution rewards (`suggested_fee_recipient`) to their EigenPod. These funds may be irretrievably stuck. -::: diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/repointing-a-validators-withdrawal-credentials.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/repointing-a-validators-withdrawal-credentials.md deleted file mode 100644 index b8250f7d..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/repointing-a-validators-withdrawal-credentials.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Set Validator Withdrawal Credentials - -:::info -If you do not know your withdrawal prefix, please review [Validator Withdrawal Prefix](validator-eligibility-withdrawal-prefix.md "mention") before starting this guide. -::: - -This guide provides a step-by-step walkthrough for users to set their validators' withdrawal credentials using one of three available methods: via [ethdo](#option-1-ethdo), through the [Consensus Client](#option-2-consensus-client), or directly from their [staking hardware device](#option-3-dappnode-avado-etc). - -### Option 1: ethdo - -ethdo is a CLI developed by independent Ethereum contributors. It abstracts a lot of complexity and has clear documentation. - -1. Install [ethdo](https://github.com/wealdtech/ethdo) -2. Copy your **EigenPod address** from the EigenLayer app -3. Follow the [basic](https://github.com/wealdtech/ethdo/blob/master/docs/changingwithdrawalcredentials.md#basic-operation) or [advanced](https://github.com/wealdtech/ethdo/blob/master/docs/changingwithdrawalcredentials.md#advanced-operation) guide for changing your validator's withdrawal credentials. - -:::info -Input the address copied in **step 2** as the **`--withdrawal-address`** flag. -::: - -4. Check that your validator has its withdrawal credentials correctly set by running the following command and replacing **VALIDATOR_INDEX** with your validator's index. - -``` -ethdo validator credentials get --validator=VALIDATOR_INDEX -``` - -5. Finally, navigate to the your EigenPod dashboard on the EigenLayer app and check that the number of restaked validators matches the number of validators whose withdrawal credentials you repointed: - -![native-withdraw](/img/restake-guides/set-validator-withdrawal-credentials.png) - -### Option 2: Consensus Client - -Some consensus clients also have their own, implementation-specific, support for withdrawal credential repointing. - -1. Copy your `EigenPod address` from the EigenLayer app. -2. Follow your validator's consensus client guide and set the withdrawal address to the **EigenPod address**. - -- [Prysm](https://docs.prylabs.network/docs/wallet/withdraw-validator#option-1-partial-earnings-withdrawals) -- [Teku](https://docs.teku.consensys.net/HowTo/Withdrawal-Keys) -- [Lighthouse](https://lighthouse-book.sigmaprime.io/voluntary-exit.html#faq) -- [Nimbus](https://nimbus.guide/withdrawals.html#updating-your-withdrawal-credentials) -- [Lodestar](https://chainsafe.github.io/lodestar/validator-management/validator-cli/#validator-bls-to-execution-change) - - -For further information, please refer to the [notes](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-How-do-I-fully-withdraw-exit-my-validator) from the Ethereum organization - -### Option 3: DAppNode, Avado, etc. - -1. Use this tool: [https://github.com/stake-house/wagyu-key-gen/releases](https://github.com/stake-house/wagyu-key-gen/releases) - - Click on "use existing recovery phrase" and generate BLS signature, which lets you unstake from the beacon chain and receive staking funds back in the execution layer. - - We encourage airgapping (disconnect from the internet) while typing in your seed phrase. -2. Locate your validator ID in the Beacon chain explorer ([beaconcha.in](https://beaconcha.in/)) -3. Broadcast the signature you generated in step 1 using this tool: [https://beaconcha.in/tools/broadcast](https://beaconcha.in/tools/broadcast) - -:::warning -Validators SHOULD NOT direct execution rewards (`suggested_fee_recipient`) to their EigenPod. These funds may be irretrievably stuck. -::: diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/upgrade-eigenpod.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/upgrade-eigenpod.md similarity index 63% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/upgrade-eigenpod.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/upgrade-eigenpod.md index a27d7d4a..893da396 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/upgrade-eigenpod.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/upgrade-eigenpod.md @@ -1,22 +1,22 @@ --- -sidebar_position: 3 +sidebar_position: 2 --- -# Upgrade EigenPod +# EigenPod Upgrade Guide -If your EigenPod was created prior to Stage 2, you will need to upgrade your EigenPod per the steps below. Otherwise, please proceed to the [Enable Restaking section](enable-restaking.md). +If your EigenPod was created prior to Stage 2, you will need to upgrade your EigenPod per the steps below. -EigenLayer Phase 2 enables proving of the state of your validators from the beacon chain to EigenLayer smart contracts to confirm the amount restaked. As a result EigenPods that were created prior to M2 contract upgrades are required to have their balances reset to zero, then generate the proofs through the EigenLayer app in order to ensure proof accounting is accurate. +EigenLayer Stage 2 enables proving the state of your validators from the beacon chain to EigenLayer smart contracts to confirm the amount restaked. As a result EigenPods that were created prior to M2 contract upgrades are required to have their balances reset to zero, then generate the proofs through the EigenLayer app in order to ensure proof accounting is accurate. -**Step 1:** Click Upgrade EigenPod +**Step 1:** Click **Upgrade EigenPod**. ![](/img/googleusercontentbackup/61Hr6KpClvZphbwp8ErDsDHuOKZ6MtLpWKCrjPFtfX7oedLGTZKEf8oDSr-5lBAuIXHsPCU6Zu3pfn5GRSQVGMr_3ZyWYGDwEHG33lqVoOx-b0VwNt_Z8Zd1Oa7UizNFBWlJKpFPx9sRR71VLajWlPI.png) -**Step 2:** Review the fee recipient warning and click Continue. +**Step 2:** Review the fee recipient warning and click **Continue**. ![](/img/googleusercontentbackup/HINccC3vXwq1qQWgwQXNBpKqrpKcNPv16EabLwJEIB0wTfajaCIOdZM0HChbBkzuAA8WnqCb2sSGEOLmKUaOOUgS_w75sJdNRnw2PC0fflk9TE2ZHvcIeBSqMC4ier_W6ziVGzAwXgpMIwdtEyEt814.png) -**Step 3:** Review the disclaimer that you are about to trigger a withdrawal of Consensus Rewards from your EigenPod. Click Confirm +**Step 3:** Review the disclaimer that you are about to trigger a withdrawal of Consensus Rewards from your EigenPod. Click **Confirm** to continue. ![](/img/googleusercontentbackup/iW-3_ywJeXlzjnKCZu8lvKKeZVgkOVGuWp_UZKih70iiN-dnVDZwRB0_BnVrScAzjvR_MXe4COzw7u-QdO2si1MpAJuhljHjNekQ7KeDOSzRiz3nrytVd5LbbuaMVqd_AuXUVZ4DsiW5HlXcSZtL6xM.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/validator-eligibility-withdrawal-prefix.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/validator-eligibility-withdrawal-prefix.md index ef8ce4b3..58158a92 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/validator-eligibility-withdrawal-prefix.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/validator-eligibility-withdrawal-prefix.md @@ -1,6 +1,5 @@ --- -description: Need to clarify your withdrawal prefix? -sidebar_position: 4 +sidebar_position: 6 --- # Verify Validator Withdrawal Prefix (Optional) @@ -10,7 +9,7 @@ Beacon chain validators contain a field known 'withdrawal credentials', which ca The prefix can either be `0x00` or `0x01`: - Validators with `0x00` prefix: These are specific to BLS-style withdrawal credentials, common to early ETH stakers. Validators with this prefix can easily restake on EigenLayer, by [repointing](repointing-a-validators-withdrawal-credentials.md) their withdrawal credentials. -- Validators with `0x01` prefix: This newer method is derived from Ethereum addresses. In order for `0x01` validators to restake, they have to completely [exit from the beacon chain](./withdrawal-flow/withdrawing-a-validator-from-consensus-layer.md), re-enter on the beacon chain as a new validator and set the withdrawal credentials to their EigenPod. +- Validators with `0x01` prefix: This newer method is derived from Ethereum addresses. While beacon chain rewards are much easier for these validators, restaking on EigenLayer is quite difficult. In order for `0x01` validators to restake, they have to completely exit from the beacon chain, re-enter on the beacon chain as a new validator, and then repoint withdrawal credentials to the EigenLayer smart contract. ## **New Validators** @@ -22,7 +21,7 @@ ETH stakers planning to create new validators can set their withdrawal credentia There are multiple methods to do this; the easiest is using [`ethdo`](https://github.com/wealdtech/ethdo). -```bash +```sh ethdo validator info --validator= --verbose ``` @@ -45,4 +44,4 @@ This migration is a **one-time** process, so please proceed cautiously. ### Existing Validators with 0x01 Prefixes -If you have validators with 0x01 prefixes that are not pointed to an EigenPod, you will need to exit and create new Ethereum validators with the withdrawn ETH, setting the withdrawal credentials to an EigenPod to restake on EigenLayer. +If you have validators with 0x01 prefixes that are not pointed to an EigenPod, you will have to go through the withdrawal queue. In this case, you'll need to withdraw your ETH, create a new Ethereum validator with the withdrawn ETH, and set the withdrawal credentials to an EigenPod to restake on EigenLayer. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/README.md similarity index 96% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/README.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/README.md index c7bf6f0c..2211fb7f 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/README.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/README.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 4 +--- + # Withdraw from EigenLayer Please refer to the Ethereum Foundation’s documentation on [how withdrawal payments work](https://ethereum.org/en/staking/withdrawals/#how-do-withdrawals-work). diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/_category_.json similarity index 100% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/_category_.json rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/_category_.json diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/full-withdrawal.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/full-withdrawal.md similarity index 94% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/full-withdrawal.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/full-withdrawal.md index db32bd9a..8bfc0156 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/full-withdrawal.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/full-withdrawal.md @@ -16,14 +16,13 @@ Exits from the beacon chain can be completed in independently of (in parallel, a Ensure you have [repointed your withdrawal credentials](../repointing-a-validators-withdrawal-credentials.md) to your EigenPod before proceeding. ::: - **Step 1:** Enter the amount in the text box next to the Unstake button. You can queue a withdrawal for any amount. However, when you choose to complete the withdrawal, you will be required to exit enough validators and have the proofs generated for the required amount. ![](/img/googleusercontentbackup/Iil3RwJtYPpGzrPFVjgwUvYmHwTdUk2tExBTvAOEN-tTzXa83LXQIwr8F1oTHM561YQMCpHEqVZWggqE75pjAmduoIoHaBqY7HpnKWbkE6k46QQTeBvOfnFZ0KYLJSIUsXyeS0mCtOMZehMRmBxy_Q8.png) -**Step 2:** Click Unstake. Sign the transaction using your Web3 wallet. +**Step 2:** Click **Unstake**. **Sign** the transaction using your Web3 wallet. **Step 3:** Wait for the escrow period to complete. Observe the Unstaking balance has increased during the escrow period. @@ -39,7 +38,7 @@ After your validators have exited, the Execution Chain amount should increase by The Redeposit button is available at this point to allow the user to Restake back into EigenLayer in case the withdrawal was queued by mistake. -**Step 5:** Once your validator has been exited click Withdraw to complete your deposit. Sign the transaction using your Web3 wallet. +**Step 5:** Once your validator has been exited click Withdraw to complete your deposit. **Sign** the transaction using your Web3 wallet. :::info Redelegation is available for a user who accidentally queues a withdrawal, but would like to resume staking and delegation without having to exit and re-enter their validators from the beacon chain. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md similarity index 90% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md index a8be9e92..d9cd5a22 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdraw-from-eigenlayer/partial-withdrawals.md @@ -21,15 +21,15 @@ The Redeemable value may temporarily appear lower than the Validator ETH Yield ( ![](/img/googleusercontentbackup/315HLw5gMxldCg7bdYEiAVkXkroCylpev1HAjVRwnixIoU9PTy1l-czPnDH3JBqN3oZwand47yxjTqTpdglHzGXRjXEztnnPW8_lQ0p8SvlE-R9sCP4qk7oJMc8hxMM8-koAMLy1DCaU4T0peaUyJZs.png) -**Step 2:** Click Redeem to initiate the escrow period. +**Step 2:** Click **Redeem** to initiate the escrow period. ![](/img/googleusercontentbackup/X2Ipqen9fpnIPp1dnn6g8hFBtpFZr_t7zoBHPHKZ5AvNrxH4Ai1HFqwjuM2YMvEWJgRfmanLYaeg7XwVT-WDtIEv6B9Q6XvgFuXSaTW2OEg20umVOpgSEQQKV2UgDfJH1S0NjuC7fEMGv298ABcvw_s.png) -**Step 3:** Observe the gas fee warning. Click Continue. +**Step 3:** Observe the gas fee warning. Click **Continue**. ![](/img/googleusercontentbackup/eWXzCzR9Q-pbscHZm0na5rcFgpu9l5qPHYbbmPIR7z9hcoFVgpDWS0Aaqi4wUiG6FVRhdvROAalDFdZI6mTHhNalInIQr7JeJQNWG_FlYyxads4HkkuAmvMbFjDRCMm6xxWXig-S9xLkhYeJp_6s86s.png) -**Step 4:** Enter the amount you wish to withdraw. Click Confirm. +**Step 4:** Enter the amount you wish to withdraw. Click **Confirm**. ![](/img/googleusercontentbackup/c9QOI7vNtpvAq4uOIZ_KCrrWyQLO_BDHZIpbXrIyz0fiMj3fKtlYPJlGx6L3S_sbYbSRyUetRv88qFjzlwkj0d96HtDWK0Yn-vUsv4_zTCxv4bZb7DuOcc7JKPGXY8hwyESrikWbyof9XkpREiIAwDw.png) @@ -43,7 +43,7 @@ Note: if the user has more than 16 partial withdrawal transactions queued on the Observe the Unstaking balance has increased after the transaction is confirmed on chain. -**Step 6:** Click Withdraw after the escrow period to withdraw funds. Two wallet transactions will be generated for you to approve and proceed. +**Step 6:** Click **Withdraw** after the escrow period to withdraw funds. Two wallet transactions will be generated for you to approve and proceed. ![](/img/googleusercontentbackup/yK-i-_zMD8KhpiiHVE_59bOwxBQuZEp0IlhfFCNqY7jYiNHwW9o4h3DF4R8Msu1kV4VboDo_WfhFHQC70ezd0QECKsqg4idohNll2vSiyk2s4Mjq0LL0ip_lRma0x708qzXuC97M5f12wlOT13kRiSk.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/README.md deleted file mode 100644 index d6f68d60..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Withdraw from EigenLayer - -Please refer to the Ethereum Foundation’s documentation on [how withdrawal payments work](https://ethereum.org/en/staking/withdrawals/#how-do-withdrawals-work). - -There are two kinds of withdrawals from native restaking in EigenLayer: - -* **Partial** withdrawals: balances in excess of 32 ETH (earned rewards) are withdrawn to an Ethereum address. The validator will continue to be a part of the beacon chain and validate as expected. -* **Full** withdrawals: users have the ability to cease their staking activities entirely. By choosing this option, they initiate the process of unlocking the entire balance held by their validator, including both the initial stake and any accumulated rewards. This action effectively ends their validator's participation in the network. \ No newline at end of file diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/_category_.json deleted file mode 100644 index 0c949e0f..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 3 -} diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/full-withdrawals.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/full-withdrawals.md deleted file mode 100644 index e0de306f..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/full-withdrawals.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Full Withdrawals - -:::info -Ensure you have already [repointed your withdrawal credentials ](../repointing-a-validators-withdrawal-credentials.md) to your EigenPod before proceeding. - -All funds unstaked from EigenLayer Mainnet go through a 7-day escrow period before being able to be withdrawn. Thus after you initiate your unstake, you must wait 7-days before being able to withdraw your assets. -::: - -**Step 1:** Withdraw your validator from Ethereum - [initiate a withdrawal](withdrawing-a-validator-from-consensus-layer.md) from your consensus client to your EigenPod contract. - -**Step 2:** Wait for your validator to fully exit the validator queue. A full exit from the validator queue is required, which can take multiple days. Please refer to [validatorqueue.com](https://www.validatorqueue.com/) for the latest expected timing. - -Once the validator withdrawal from Ethereum is completed, your staked ETH balance is credited to your EigenPod address and can be viewed on the EigenLayer app. - -![withdrawal](/img/restake-guides/native-full-withdrawal1.png) - -**Step 3:** Unstake - click **Unstake** to initiate the 7-day escrow period. Once the transaction confirms, you should see your EigenPod balance move to _Unstake pending_ - -![withdrawal-unstake](/img/restake-guides/native-full-withdrawal2.png) - -**Step 4:** Wait for the 7-day escrow period to complete. - -**Step 5:** Withdraw your ETH. Click **Withdraw** to transfer the ETH to your wallet - -![pending](/img/restake-guides/native-full-withdrawal3.png) - -If successful, you will receive a confirmation. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/partial-withdrawals.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/partial-withdrawals.md deleted file mode 100644 index f5290a22..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/partial-withdrawals.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -sidebar_position: 1 ---- - - -# Partial Withdrawals - -:::info -Due to how withdrawals from Ethereum are designed, users can only initiate one partial withdrawal per[ sequential sweep](https://ethereum.org/en/staking/withdrawals/#validator-sweeping) of all validators (which takes approximately 4-5 days). - -All funds unstaked from EigenLayer go through a 7-day escrow period before being able to be withdrawn. Thus after you initiate your unstake, you must wait 7-days before being able to withdraw your assets. -::: - -**Step 1:** Unstake - click **Unstake** to queue the withdrawal and initiate the escrow period. - -![escrow](/img/restake-guides/native-partial-withdrawal1.png) - -If successful, you should receive a confirmation. -Once the transaction confirms, you should see your EigenPod balance move to _Unstake pending:_ - -![confirm](/img/restake-guides/native-partial-withdrawal2.png) - -**Step 2:** Wait for the escrow period to complete. - -**Step 3:** Withdraw - upon completion of the escrow period. Click **Withdraw** to transfer the funds to your wallet. - -![withdrawl](/img/restake-guides/native-partial-withdrawal3.png) - -If successful, you should receive a confirmation. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/withdrawing-a-validator-from-consensus-layer.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/withdrawing-a-validator-from-consensus-layer.md deleted file mode 100644 index 995ebd67..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/withdrawal-flow/withdrawing-a-validator-from-consensus-layer.md +++ /dev/null @@ -1,9 +0,0 @@ -# Withdrawing a Validator from the Ethereum Consensus Layer - -To withdraw your validator from participating in the Ethereum consensus layer, follow your validator's consensus client's documentation: - -* [Prysm](https://docs.prylabs.network/docs/wallet/withdraw-validator) -* [Lighthouse](https://lighthouse-book.sigmaprime.io/voluntary-exit.html) -* [Teku](https://docs.teku.consensys.net/HowTo/Voluntary-Exit) -* [Nimbus](https://nimbus.guide/voluntary-exit.html) -* [Lodestar](https://chainsafe.github.io/lodestar/validator-management/validator-cli/#validator-voluntary-exit) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaked-points.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaked-points.md index 19f9ef57..9f663b04 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaked-points.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaked-points.md @@ -1,8 +1,9 @@ --- -description: Your Contribution to Shared Security +title: Restaked Points +sidebar_position: 5 --- -# Restaked Points + ## Overview diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/README.md similarity index 97% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/README.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/README.md index e82679e2..75774f4d 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/README.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/README.md @@ -1,4 +1,9 @@ -# Testnet Restaker Delegation +--- +sidebar_position: 3 +title: Delegation +--- + +# Delegation Delegation is the process of assigning Restaked balance to an Operator. The Restaker will receive fees according to the AVSs that the Operator chooses to run. Restakers can undelegate their balance to end their assignment to the Operator and later redelegate the balance to a new Operator. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/_category.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/_category.json similarity index 100% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/_category.json rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/_category.json diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/delegate-to-an-operator.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/delegate-to-an-operator.md similarity index 63% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/delegate-to-an-operator.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/delegate-to-an-operator.md index a0f634ec..eb25cc6b 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/delegate-to-an-operator.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/delegate-to-an-operator.md @@ -1,16 +1,21 @@ +--- +sidebar_position: 1 +title: Delegate to an Operator +--- + # Delegate to an Operator -Follow these steps to initiate delegation of your restaked balance to an Operator. Delegation is an all or nothing operation. You must delegate all of your available Restaked balance to a single Operator. +Follow the steps below to initiate delegation of your restaked balance to an Operator. Delegation is an all or nothing operation. You must delegate all of your available Restaked balance to a single Operator. -**Step 1:** Navigate to the Operator tab to view a list of available Operators. +**Step 1:** Navigate to the **Operator** page to view a list of available Operators. ![](/img/googleusercontentbackup/Nr-KLQTJF5C3Flo0YL1iqruUWPBvIdLnjetLh1fyfPnFr8ziUaCOJZE6FV6MpHcSsJikqrviHqCxAPsvVXBJDT6YbH8_Y0LKt8bvMPQ60RwViNOfw6CwdAw9i4T9P11hRMY2VF4et7bmERutEkSYkJM.png) -**Step 2:** Search for operators via their name or Ethereum address. Click on the Operator tile to view their Detail page. +**Step 2:** Search for operators via their name or Ethereum address. Click on the **Operator's tile** to view their Detail page. ![](/img/googleusercontentbackup/z3oR0kwjxB8nk66ebFuRRVh8T90fIpWSdEDvbaydgghNnmqrUxhb4RIRhO5HvtUdJfPMICshYA7NM9Ifn637zv8QJa9HUipLDPD_KcddXjAhVadRyrjyuKDQXdzHzKnmcYsHQC9dzxJqA9Pf1qdb8dQ.png) -**Step 3:** Click Delegate to initiate a delegation of all your staked assets to that operator. +**Step 3:** Click **Delegate** to initiate a delegation of all your staked assets to that operator. **Step 4:** Confirm the transaction in your Web3 wallet. @@ -20,6 +25,4 @@ Follow these steps to initiate delegation of your restaked balance to an Operato **Step 6:** Note your delegated balance reflects all of your available restaked funds. -![](/img/googleusercontentbackup/JUd_5rwSzM_v0riAYdX2_37nKhRdr2Rq0adsPITsnUVuFOxvYb5keIpFe49ZVdgEWfI8YVXnmBeOj2iH5KzCb8-GuuXJIvujXXH8_HxxEUa2TUFhKjFJlfe9HDnezqI5iIMhlmZItBEAmxxrZ3FA0nE.png) - - +![](/img/googleusercontentbackup/JUd_5rwSzM_v0riAYdX2_37nKhRdr2Rq0adsPITsnUVuFOxvYb5keIpFe49ZVdgEWfI8YVXnmBeOj2iH5KzCb8-GuuXJIvujXXH8_HxxEUa2TUFhKjFJlfe9HDnezqI5iIMhlmZItBEAmxxrZ3FA0nE.png) \ No newline at end of file diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/redelegation-process.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/redelegation-process.md new file mode 100644 index 00000000..6a7a716e --- /dev/null +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/redelegation-process.md @@ -0,0 +1,46 @@ +--- +sidebar_position: 3 +title: Change Your Delegation +--- + +# Change Your Delegation to a New Operator + +The following steps are intended for a Restaker that would like to change their Delegated balance to a New Operator. + +:::warning +Please follow the recommended steps below to avoid a "partially delegated state". A partially delegated state is when some portion of your assets in Delegated state and other assets in a "queued for withdrawal" or "withdrawal ready for completion" state. +::: + +## Process to Change Your Delegation to a New Operator + +**Step 1:** Visit the **Operator** page for your currently delegated Operator. Click **Undelegate**. + +![undelegate button](/img/restake-guides/change-delegation-1.png) + +**Step 2:** Confirm the two transactions in your Web3 wallet. + +**Step 3:** Observe that your Restaked balances are now 0.0 TVL. + +**Step 4:** Those assets becomes Undelegated from the Operator and Assets and appear in "Pending Withdraw" state. + +:::warning +Do not click Unstake the assets at the Operator page. This can cause a partially delegated state. +::: + +**Step 5:** Wait for the escrow period to end before continuing. Please see [Testnet vs Mainnet differences for detail](/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md#testnet-vs-mainnet-differences). + + +**Step 6:** Manually Redeposit each asset. Visit each asset page individually. Navigate to the **Unstake** tab, click **Redeposit**. + +**Step 7:** After all assets have been redeposited, visit the Operator page for the new operator you wish to delegate to. Click **Delegate** button. + + +![](/img/googleusercontentbackup/z3oR0kwjxB8nk66ebFuRRVh8T90fIpWSdEDvbaydgghNnmqrUxhb4RIRhO5HvtUdJfPMICshYA7NM9Ifn637zv8QJa9HUipLDPD_KcddXjAhVadRyrjyuKDQXdzHzKnmcYsHQC9dzxJqA9Pf1qdb8dQ.png) + + +**Step 8:** Observe that your delegation has been changed to the new Operator. + + +:::info +The **Redelegate** button on the Operator page is intended to be used only for users that have funds in a "partially delegated state". +::: \ No newline at end of file diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md similarity index 58% rename from docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md rename to docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md index bc6b3514..d44507f5 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/restaker-delegation/undelegate-from-an-operator-and-initiate-withdrawal.md @@ -1,13 +1,17 @@ +--- +sidebar_position: 2 +title: Undelegate and Initiate Withdrawal +--- + # Undelegate from an Operator and Initiate Withdrawal Restakers can Undelegate their balance from an Operator at any time. Undelegation flows are the same for both Native and LST Restakers. -If you would like to **Undelegate from an Operator and then Redelegate** your restaked funds, remember to click the "Redeposit" button for the Unstaked balance in order to Restake the funds (Step 4 below). This Redeposit action is possible even if restaking for the given asset (including LST) has been paused or capped. - :::warning Initiating an Undelegate transaction will also automatically queue a withdrawal (Unstake) of your funds. The Undelegate and Queue Withdrawal transactions are combined due to the security architecture of EigenLayer smart contracts. ::: + ## Instructions to Undelegate and Queue Withdraw **Step 1:** Navigate to the Operator tab, click the tile for the Operator you have delegated your funds to. Click the Undelegate button to continue. @@ -16,12 +20,18 @@ Initiating an Undelegate transaction will also automatically queue a withdrawal **Step 2:** Confirm the two transactions in your Web3 wallet. -**Step 3:** Observe that your Restaked balance is now 0.0 ETH. +**Step 3:** Observe that your Restaked balances are now 0.0 TVL. ![](/img/googleusercontentbackup/DStQhIFho5ga5_1h945XDiJGtnQvrEy_KzXm1jnhCCysFWJCV2JoOSnEY4xX35loBDGw-tjjoWq_vUAGICkyR9Gz0eUplNKsuDJkp73rFOFMwd2NQYE5Gs_cVZ7riCGsF7j86PARHtyhf14PH3sKb2Y.png) -**Step 4:** Visit the page for your unstaked assets and to observe your **Unstaked** balance has increased the corresponding amount. +**Step 4:** Visit the pages for your unstaked assets and to observe your **Unstaked** balance has increased the corresponding amount. + +**Step 5:** Wait for the escrow period to end before continuing. Please see [Testnet vs Mainnet differences for detail](/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md#testnet-vs-mainnet-differences). + +**Step 6:** Click **Withdraw** to finalize the withdrawal. -**Step 5:** Choose to either **Redeposit** your funds back into EigenLayer or click **Withdraw** to finalize the withdrawal. +![](/img/googleusercontentbackup/7-TpReNxUQnJlp0W_KqCyaQf7osXcMwHFDKaAybtmTUgEhGmdHreUrAE0jPj7ZZisKqaLhIhkZtksYFz3r8_KShhr-92FyA6pERdXbQhzZQ4bZlceEDIKhR-M_wutvom_JTc8E9h-GSfl3jxDxdf6EE.png) -![](/img/googleusercontentbackup/7-TpReNxUQnJlp0W_KqCyaQf7osXcMwHFDKaAybtmTUgEhGmdHreUrAE0jPj7ZZisKqaLhIhkZtksYFz3r8_KShhr-92FyA6pERdXbQhzZQ4bZlceEDIKhR-M_wutvom_JTc8E9h-GSfl3jxDxdf6EE.png) \ No newline at end of file +:::info +The "Redeposit" button is also available for the user to Restake funds if the withdrawal was initiated by mistake. This Redeposit action is possible even if restaking for the given asset (including LST) has been paused or capped. +::: \ No newline at end of file diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md index 75d710e6..a61f0ddb 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/README.md @@ -1,4 +1,7 @@ -# Stage 2 Testnet +--- +sidebar_position: 4 +title: Testnet Restaking +--- ## Testing Restaking on the Holesky Testnet diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts.md index a268f56a..06af7b83 100644 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts.md +++ b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts.md @@ -1,5 +1,5 @@ --- -sidebar_position: 1 +sidebar_position: 2 --- # Obtaining Testnet ETH & Liquid Staking Tokens (LSTs) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/_category_.json deleted file mode 100644 index 8ea9fdda..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "position": 2, - "label": "Testnet Liquid Restaking" -} diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/restake-lsts.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/restake-lsts.md deleted file mode 100644 index 56d01df3..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/restake-lsts.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -sidebar_position: 1 ---- - - -# Restake LSTs - -**Step 1:** Open the EigenLayer App and connect your Web3 wallet. Visit holesky.eigenlayer.xyz for the most recent EigenLayer Testnet app. - -![](/img/googleusercontentbackup/OZIhNy0g6_p2e6kR0yF9BJxHQcdhHNEnQSWwBokS3tSy2cd9bUyU0tve-ApItvVm7bJHKHum1T_2tgZhwa_LSyi7ScQdALSsUQioM0qMxZWcqWKhmtIQ7xcdOGtTOT6Uf18KnCs_zWgbXHLOtUqguSI.png) - -**Step 2:** Select the token you want to restake. - -**Step 3:** Token Approval. Enter the amount you would like to restake and click **Deposit**. - -If this is your first time depositing a token on EigenLayer, you'll need to **Approve** token spending before you can restake. [Token Approval](https://support.metamask.io/hc/en-us/articles/6174898326683-What-is-a-token-approval-) gives a dApp permission to move the specified token from your wallet. Set a spending cap, and click **Next**. - -**Step 4:** Once the token Approval transaction is confirmed, you will be prompted to confirm the **Deposit** transaction. - -**Step 5:** Confirm the **Deposit** transaction via your wallet. - -If successful, you will see the corresponding increase in your Restaked balance in the app: - -![](/img/googleusercontentbackup/J5g4XOmz3hOOeQG2w6gFtPxzKLiyPq06v8pBQ2BNITHkfzVX1F26lm_Sf0qCxtIL-bTUye7w573yJub5S6iOA8xtJmOIjZybgLXiCM8YFZHj_6UFc2LEv8HLFmNO7OOLP0c1MmGnCBL7bH_DhsOLPBU.png) - -**Step 6:** Monitor your Staking Rewards & Restaked Ratio on the [homepage](http://holesky.eigenlayer.xyz/). \ No newline at end of file diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/withdraw-from-eigenlayer.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/withdraw-from-eigenlayer.md deleted file mode 100644 index 5983605f..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-liquid-restaking/withdraw-from-eigenlayer.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -sidebar_position: 2 ---- - - -# Withdraw from EigenLayer - -:::info -All funds unstaked from EigenLayer will go through an escrow period before being eligible to be fully withdrawn. -::: - -**Step 1:** Navigate to the Unstake tab, enter your withdrawal amount, and click **Next**. - -**Step 2:** Click **Confirm** when prompted by your wallet. Once the transaction confirms, you should see your Restaked balance move to Unstaking. - -![](/img/googleusercontentbackup/Ol33uK-uNL7K5vXmWDyI_eVWQOT75Jx7kR9Q75Qn5547ExC0KwfBFn6SikZgfOIYqU2od1OSjXlsA9WXpDa653AXPc38mNQ9ESmSZX0pPxGnleA9QFOgSTpCEYzkzr051HyJwlvMMNpfdS_BBvxARz0.png) - -**Step 3:** Your withdrawal is now in escrow. Wait for the escrow period to complete. - -**Step 4:** Once the escrow completes, you'll see the balance under Available to withdraw. Click **Withdraw** to finalize the process. - -![](/img/googleusercontentbackup/VXO97JjR5VLDR8u0afZ6g9bq2zDScyP_UyQ4tkkc8J2IYWgfUIOUxIm08micsb8_kIne-aftSKuzwHBpoJV0NUGbWil-Zw0fUHdYUMgte5k6DbEj8dxpSvLT3V3k_DS78BO6c9GG3nDids7LGOyLbME.png) - -![](/img/googleusercontentbackup/RLMOGvPSu2_BPRIu4o32LZIKFgSOySe8tatR67-pGsFPZxVmk1RSLvkNT_FHXcZUDtP8eINc2EQUG3y4X0yVM7l6Ly1q2iE8v1j6VDr7vI1wtR4GqKBsrLgc9pUwMvzu9UeXQbsumCSlGPNRiX9-1vA.png) diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/README.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/README.md deleted file mode 100644 index 97489131..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Testnet Native Restaking - -Native restaking describes the process of changing an Ethereum validator's[ withdrawal credentials](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-What-are-withdrawals) to EigenLayer's smart contracts. You must operate an Ethereum Validator node in order to participate in Native Restaking. To learn more or set up your Ethereum Validator please follow this link from the[ Ethereum Foundation](https://launchpad.ethereum.org/). - -:::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 on EigenLayer consists of the following actions: - -1. Create EigenPod and Setting Withdrawal Credentials -2. Repoint Validator Withdrawal Credentials -3. Withdraw from EigenLayer - -**Deposit and Withdrawal Costs** - -Native Restaking Deposit and Withdrawal transactions will incur additional gas fees due to the required proof verification. Restaking with EigenLayer requires proof of beacon chain staking and active validator status. This proof is generated off chain during Deposit and Withdrawal then verified on chain. The verification process will incur a gas fee of approximately 200k gas + a fixed fee per proof that will be around 0.01 ETH. Please plan and budget accordingly for associated costs. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/confirm-withdraw-exec-addrs.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/confirm-withdraw-exec-addrs.md deleted file mode 100644 index e861ff6e..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/confirm-withdraw-exec-addrs.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -sidebar_position: 7 ---- - -# Confirming Validator Withdrawal and Execution Addresses (Optional) - -Verifying your Validator’s Withdrawal and Execution addresses can help ensure you have configured your Native Restaking with EigenLayer safely. The instructions below will help you ensure that your Withdrawal address is set to your EigenPod and that your Execution address (aka “Fee Recipient”) is not set to your EigenPod. - - -Please note in the documentation and API below, the following terms will be used: -- Consensus Client will also be referred to as Beacon Node client. -- Execution client will also be referred to as Validator client. - - -## Confirming Withdrawal Address - -Find your withdrawal credentials (which should match your EigenPod), via the following URL: - -https://beaconcha.in/validator/[validator_pubkey]#deposits - -## Confirming Execution Address - -To list your validator's Execution address (aka “Fee Recipient”), please refer to your Consensus Client specific documentation. For example: -- [Lighthouse: Querying the fee recipient](https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html#querying-the-fee-recipient) -- [Prysm: Configure fee recipient](https://docs.prylabs.network/docs/execution-node/fee-recipient#configure-fee-recipient) -- [Teku: Proposer configuration file attributes: fee_recipient](https://docs.teku.consensys.io/how-to/configure/use-proposer-config-file) - - - - - - diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/_category_.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/_category_.json deleted file mode 100644 index 818afe30..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/create-eigenpod-and-set-withdrawal-credentials/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 1 -} diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/validator-eligibility-withdrawal-prefix.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/validator-eligibility-withdrawal-prefix.md deleted file mode 100644 index a7c99328..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-native-restaking/validator-eligibility-withdrawal-prefix.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -description: Need to clarify your withdrawal prefix? -sidebar_position: 6 ---- - -# Verify Validator Withdrawal Prefix (Optional) - -Beacon chain validators contain a field known 'withdrawal credentials', which can be utilized in the future to withdraw funds from the validator's balance on the beacon chain. The first two bytes of these credentials are known as the [**withdrawal prefix**](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-What-are-0x00-and-0x01-withdrawal-credentials-prefixes). - -The prefix can either be `0x00` or `0x01`: - -- Validators with `0x00` prefix: These are specific to BLS-style withdrawal credentials, common to early ETH stakers. Validators with this prefix can easily restake on EigenLayer, by [repointing](repointing-a-validators-withdrawal-credentials.md) their withdrawal credentials. -- Validators with `0x01` prefix: This newer method is derived from Ethereum addresses. While beacon chain rewards are much easier for these validators, restaking on EigenLayer is quite difficult. In order for `0x01` validators to restake, they have to completely exit from the beacon chain, re-enter on the beacon chain as a new validator, and then repoint withdrawal credentials to the EigenLayer smart contract. - -## **New Validators** - -ETH stakers planning to create new validators can set their withdrawal credential directly to their EigenPod or deploy with 0x00 prefixed withdrawal credentials for an easier transition to EigenLayer later. In order to use the 0x00 prefix, do not set _--execution_address_ or _--eth1_withdrawal_address_ flags [when setting up new validators.](https://github.com/ethereum/staking-deposit-cli#commands) - -## **Existing Validators** - -### **How do I check if I have a `0x00` or an `0x01` address?** - -There are multiple methods to do this; the easiest is using [`ethdo`](https://github.com/wealdtech/ethdo). - -```sh -ethdo validator info --validator= --verbose -``` - -This outputs a **withdrawal credentials** field which either begins with `0x00` or `0x01`. - -Additionally, you can check [beaconcha.in](http://beaconcha.in/), navigate to your validator page, and check the **Beaconchain Deposits** field under the Deposits tab. - -### **Prefix Migration from 0x00 to 0x01** - -If you have 0x00-prefixed credentials, you can only [migrate once](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-Once-I-have-changed-my-credential-to-0x01-can-I-change-it-to-an-alternative-withdrawal-address) to a 0x01-prefixed credential per the Ethereum protocol rules. You may choose to either: - -- Migrate your withdrawal credential to your EigenPod address. -- Migrate (convert) your withdrawal credential from a [BLS address (0x00) to an execution address (0x01)](https://notes.ethereum.org/@launchpad/withdrawals-guide#BLS-to-execution-with-ethdo), noting that an EigenPod qualifies as an execution address. It's crucial to understand that if the withdrawal credential is set to a 0x01 address that does not correspond to your EigenPod, you will be unable to restake. In such a scenario, exiting your validators becomes a necessary step. - -If you update your credentials **before** restaking on EigenLayer, you will have to go through the withdrawal queue and then restart the ETH validator staking process. - -:::danger -This migration is a **one-time** process, so please proceed cautiously. -::: - -### Existing Validators with 0x01 Prefixes - -If you have validators with 0x01 prefixes that are not pointed to an EigenPod, you will have to go through the withdrawal queue. In this case, you'll need to withdraw your ETH, create a new Ethereum validator with the withdrawn ETH, and set the withdrawal credentials to an EigenPod to restake on EigenLayer. diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/_category.json b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/_category.json deleted file mode 100644 index 484e2553..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/_category.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 4 -} diff --git a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/redelegation-process.md b/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/redelegation-process.md deleted file mode 100644 index 11468593..00000000 --- a/docs/eigenlayer/restaking-guides/0-restaking-user-guide/stage-2-testnet/testnet-restaker-delegation/redelegation-process.md +++ /dev/null @@ -1,7 +0,0 @@ -# Redelegation Process - -Redelegation is available for multiple scenarios for both LST and Native Restakers: -- Restaker would like to undelegate from their current operator, restake, and then delegate to a new operator. -- A user who accidentally queues a withdrawal, but would like to resume restaking and delegation without having to exit and re-enter their validators from the beacon chain. - -Please see the following section [Undelegate from an Operator and Initiate Withdrawal](./undelegate-from-an-operator-and-initiate-withdrawal.md) \ No newline at end of file diff --git a/docs/eigenlayer/security/guardrails.md b/docs/eigenlayer/security/guardrails.md index 140cac74..1db51ee8 100644 --- a/docs/eigenlayer/security/guardrails.md +++ b/docs/eigenlayer/security/guardrails.md @@ -17,4 +17,4 @@ In addition, the protocol facilitates native restaking, allowing users to create There will be a 7-day [withdrawal delay](withdrawal-delay.md) that will serve as a security measure during the early stages of the EigenLayer mainnet, to optimize for the safety of assets. This withdrawal lag, which is common in staking protocols, is required when AVSs go live, as there is a lag to verify that activity associated with any AVS was completed successfully. -Read the [user guide to liquid restaking here](/eigenlayer/restaking-guides/restaking-user-guide/liquid-restaking/) and the [user guide to native restaking here](/eigenlayer/restaking-guides/restaking-user-guide/native-restaking/). +Read the [user guide to liquid restaking here](/docs/eigenlayer/restaking-guides/0-restaking-user-guide/liquid-restaking/restake-lsts.md) and the [user guide to native restaking here](/docs/eigenlayer/restaking-guides/0-restaking-user-guide/native-restaking/README.md). diff --git a/static/img/restake-guides/change-delegation-1.png b/static/img/restake-guides/change-delegation-1.png new file mode 100644 index 00000000..22f1f1c6 Binary files /dev/null and b/static/img/restake-guides/change-delegation-1.png differ diff --git a/static/img/testnet-restake-guides/enable-restake-1.png b/static/img/restake-guides/enable-restake-1.png similarity index 100% rename from static/img/testnet-restake-guides/enable-restake-1.png rename to static/img/restake-guides/enable-restake-1.png diff --git a/static/img/testnet-restake-guides/enable-restake-2.png b/static/img/restake-guides/enable-restake-2.png similarity index 100% rename from static/img/testnet-restake-guides/enable-restake-2.png rename to static/img/restake-guides/enable-restake-2.png diff --git a/static/img/testnet-restake-guides/enable-restake-3.png b/static/img/restake-guides/enable-restake-3.png similarity index 100% rename from static/img/testnet-restake-guides/enable-restake-3.png rename to static/img/restake-guides/enable-restake-3.png diff --git a/static/img/testnet-restake-guides/native-stake-repoint-1.png b/static/img/restake-guides/native-stake-repoint-1.png similarity index 100% rename from static/img/testnet-restake-guides/native-stake-repoint-1.png rename to static/img/restake-guides/native-stake-repoint-1.png