LogoLogo
  • Introduction
    • Get started
  • Kiln Products
    • Overview
    • 🧱Validators
      • ⛓️Protocols
        • Algorand (ALGO)
        • Aptos (APT)
        • Avalanche (AVAX)
        • Babylon (BABY)
        • Berachain(BERA/BGT)
        • Cardano (ADA)
        • Celestia (TIA)
        • CoreChain (CORE)
        • Cosmos (ATOM)
        • Cronos (CRO)
        • DyDx (DYDX)
        • Ethereum (ETH)
        • Eigenlayer (EIGEN)
        • Fetch.ai (FET)
        • Flare (FLR)
        • Harmony (ONE)
        • Injective (INJ)
        • Iota (IOTA)
        • Kava (KAVA)
        • Kusama (KSM)
        • Mantra (OM)
        • MultiversX (EGLD)
        • Near (NEAR)
        • Oasis (ROSE)
        • Osmosis (OSMO)
        • Peaq (PEAQ)
        • Polkadot (DOT)
        • Polygon (POL - ex MATIC)
        • Sei (SEI)
        • Solana (SOL)
        • Stacks (STX)
        • Starknet (STRK)
        • Story(IP)
        • Sui (SUI)
        • Symbiotic (SYM)
        • Tezos (XTZ)
        • The Open Network (TON)
        • Tron (TRX)
        • Zetachain (ZETA)
    • 🎆Connect
      • Accessing Kiln Connect
      • API specs
      • Postman Demo
      • SDK
        • Getting started
        • How to find Kiln's validators
        • Upgrade guide from v2 to v3
      • Tutorials
        • SOL - Tag a stake
        • DYDX - How to bridge your rewards
      • Kiln Connect FAQs
    • 🚀Dashboard
      • Architecture
      • Staking
        • Babylon (BABY)
        • Cardano (ADA)
        • Celestia (TIA)
        • Cosmos (ATOM)
        • Cronos (CRO)
        • DYDX (DYDX)
        • Ethereum (ETH)
          • Native EigenLayer Restaking
        • Fetch.ai (FET)
        • Injective (INJ)
        • Kava (KAVA)
        • Kusama (KSM)
        • Mantra (OM)
        • Near (NEAR)
        • Osmosis (OSMO)
        • Polkadot (DOT)
        • Polygon (POL)
        • Solana (SOL)
        • Tezos (XTZ)
        • The Open Network (TON)
        • TRON (TRX)
        • ZetaChain (ZETA)
      • Reporting
        • Cardano (ADA)
        • Celestia (TIA)
        • Cosmos (ATOM)
        • Cronos (CRO)
        • DYDX (DYDX)
        • Ethereum (ETH)
        • Fetch.ai (FET)
        • Injective (INJ)
        • Kava (KAVA)
        • Kusama (KSM)
        • Mantra (OM)
        • Near (NEAR)
        • Osmosis (OSMO)
        • Polkadot (DOT)
        • Polygon (POL)
        • Solana (SOL)
        • Tezos (XTZ)
        • The Open Network (TON)
        • Tron (TRX)
        • ZetaChain (ZETA)
      • Unstaking
        • Cardano (ADA)
        • Celestia (TIA)
        • Cosmos (ATOM)
        • Cronos (CRO)
        • DYDX (DYDX)
        • Ethereum (ETH)
          • Native EigenLayer Withdraw Flow
        • Fetch.ai (FET)
        • Injective (INJ)
        • Kava (KAVA)
        • Kusama (KSM)
        • Mantra (OM)
        • Near (NEAR)
        • Osmosis (OSMO)
        • Polkadot (DOT)
        • Polygon (POL)
        • Solana (SOL)
          • Deactivate
          • Merge
          • Split
          • Withdraw
        • Tezos (XTZ)
        • Tron (TRX)
        • The Open Network (TON)
        • ZetaChain (ZETA)
      • Import stakes
      • Move stakes
      • Invite a user to your organization
      • Troubleshooting
      • 🎓Tutorials
        • Cosmos Chains - Auto-compound a stake
      • Dashboard FAQs
    • 📥dApp
      • ETH staking
      • EigenLayer
        • Operator delegation
        • Native restaking
        • Liquid restaking
      • 🔒Security
      • Kiln dApp FAQ
    • ⛓️Onchain
      • 🙋‍♀️Dedicated Validators
        • Key concepts
          • Deposit Flow
          • Rewards Management
          • Unstaking
        • How to integrate
          • 1. Contract Interactions
          • 2. Administration
      • 🤽‍♂️Pooled Staking
        • Key concepts
          • Staking Positions
          • Oracle Reports
          • Exit & Withdrawal
        • How to integrate
          • 🐎Getting Started
          • 🏗️Architecture overview
          • 😊User experience
          • 📃Integration contract
          • ⛑️Contract governance
          • ℹ️Contract ABI
          • 📥Using TheGraph
          • 🥩Staking Interactions
            • Staking
            • Rewards
            • Unstaking & Withdrawals
      • 🎡Tokenized Validators
      • 🎩Node Operators: how to integrate
        • Dedicated Validators (v1)
          • Manage Validators
        • Pooled Staking
          • 1. Using TheGraph for Setup
          • 2. Deploying vPool
          • 3. Key Provisioning in vFactory
          • 4. Oracle Daemon
          • 5. Depositing via Integration Contracts
          • 6. Exit Daemon
          • 7. Deploy Integration Contract (optional)
      • 🔓Security
        • Staking Risks
        • Audits & Bug Bounties
        • Business Continuity
        • Source code
    • 💰DeFi
      • 🦋Morpho via Kiln DeFi
      • 💻How to integrate?
        • Smart contract interactions
        • Governance
        • Reporting data
        • Administration
        • Supported DeFi Protocols
        • Additional Rewards Management
      • 🔓Security
        • Risks
        • Audits & Bug Bounty
        • Pause
        • Source code
        • Compliance Features
      • Kiln DeFi FAQ
    • 🪄Widget
      • 🧑‍🎨Customize - Widget Editor
      • ☄️Integrate - No/Low Code
    • 🛠️More Tools
      • ETH Batch Deposit Contract
      • Safe CD
  • Integrations
    • 🔭Plan your integration
    • 🔌Integrate Kiln products
    • 📱Wallets
      • Stake from Ledger Live
        • Direct Staking
        • Using Kiln Widget
          • DeFi Lending in Ledger Live
        • Using Kiln dApp
          • Dedicated Validators
          • Pooled Staking
          • EigenLayer Restaking
      • Stake from Safe{Wallet}
        • How to stake ETH on Safe & FAQ
        • Using Kiln dApp
      • Stake from Squads
    • 🏢Custody platforms
      • Stake from Anchorage
      • Stake from Bitgo
      • Stake from Coinbase Custody/Prime
      • Stake from Copper
      • Stake from Cordial Systems
      • Stake from DFNS
      • Stake from Finoa
      • Stake from Fireblocks
      • Stake from Fordefi
      • Stake from Hex Safe
      • Stake from Ledger Enterprise
      • Stake from Metamask Institutional
      • Stake from Rakkar
      • Stake from Utila
  • Working with Kiln
    • ☑️Staking & DeFi Track Record
    • ✅Security & Insurances
    • ☎️Support
      • FAQs
        • Enzyme FAQ
        • EigenLayer FAQ
        • Kiln x Safe{Wallet} FAQ
        • Ledger Live FAQ
Powered by GitBook
On this page
  • Overview
  • About the proofs
  • Withdraw ETH from your EigenPod
  • 1 - Exit your ETH validator, this can be done from Kiln Dashboard
  • 2 - Request withdraw from your available balance
  • 3 - Fulfill withdraw

Was this helpful?

Export as PDF
  1. Kiln Products
  2. Dashboard
  3. Unstaking
  4. Ethereum (ETH)

Native EigenLayer Withdraw Flow

This page describes how you can withdraw your CL rewards or exit your validators from your EigenPod.

PreviousEthereum (ETH)NextFetch.ai (FET)

Last updated 6 months ago

Was this helpful?

In order to withdraw, you will need to whitelist the following smart contracts:

  • EigenPod Manager: used to create your EigenPod

    • Mainnet address:

    • Holesky address:

  • EigenPod address associated to your wallet

    • Mainnet: Can be retrieved entering your wallet address in the getPod method

    • Holesky: Can be retrieved entering your wallet address in the getPod method

  • EigenLayer Delayed Withdrawal Router: Smart contract to withdraw rewards

    • Mainnet address:

    • Holesky address:

This contracts should be whitelisted alongside the staking and exiting contract for native staking in our dashboard that can be found

Overview

On EigenLayer, your CL rewards and exited validators get skimmed on your EigenPod.

  1. Withdraw CL rewards: Consensus layer rewards of your validator are automatically skimmed every ~8 days by the protocol to the withdrawal address set on the validator, which is set to your EigenPod. To withdraw these rewards you need to perform 2 transactions:

    1. The first transaction requires you to upload one proof per validator. If you have more than 80 validators, you may need to sign multiple transactions, as each proof transaction can contain a maximum of 80 validator proofs. Once the transaction(s) are confirmed on chain the proven amount will be placed in a withdraw queue for 7 days. Note that this withdraw queue is implemented by the EigenLayer contracts and distinct from the Beacon Chain validator queues.

    2. After the queuing period of 7 days, the equivalent amount of ETH will be available to withdraw.

  2. Withdraw Exited Validators: First, you will need to exit it from the Beacon Chain. After the Beacon Chain has processed the exit, your 32 ETH collateral gets sent to your EigenPod. This is also a skimming cycle, so you need to submit the same proofs as for the rewards and then wait 7 days as described in step 1.1. Once this is done, you will be able to withdraw your stake in one transaction.

About the proofs

We saw in several of the above steps that proofs needed to be submitted to the EigenLayer smart contracts - when restaking a new validator, and when skimming consensus layer rewards. What are these proofs and why are they needed?

In short, these proofs enable the EigenPod contracts to confirm that the ETH that comes into them is indeed linked to the consensus-layer activity of the corresponding validator, and not ETH that may have been sent to the EigenPod from another source. The proofs are generated off-chain using Consensus-layer data, and submitted to the EigenLayer smart contract which performs a cryptographic verification using Merkle Trees.

Withdraw ETH from your EigenPod

Make sure your validators are restaked before you request the exit or try to withdraw CL rewards. Not restaking your validators could place your EigenPod in a state where he generates rewards but it's complex to exit, contact our support team if you need help.

1 - Exit your ETH validator, this can be done from Kiln Dashboard

Once your validator has exited, the funds will go to your EigenPod. You will see this amount in the dashboard under total available balance and see the breakdown for each EigenPod in the table bellow.

This balance is composed of CL rewards and exited validators.

2 - Request withdraw from your available balance

If you are using Fireblocks, you will need to whitelist your EigenPod address and the DelayedWithdrawalRouter address. Get in touch with the Kiln team if you need help on this.

Hover your EigenPod, and click "Request withdraw"

This flow will allow you to withdraw generated CL rewards or exited validators by automatically generating the right transaction to create the request withdraw, you can click on request withdraw and see the amount requested in each transaction incrementing in the withdraw requested section.

After your performed this operations, you will be able to see the amount queued in the key metric "withdraw balance", under pending.

This flow can take a couple of transaction to complete depending on the number of validator that point to the EigenPod.

A common cause of withdrawal errors when using Fireblocks is related to the size of the transaction payload. Resolution steps:

  • Inform Fireblocks that you're experiencing issues with large transaction payloads from Eigenlayer.

  • Request that they "disable decoding of contract call data" for your workspace.

3 - Fulfill withdraw

After the 7-day escrow period, you will be able to see an amount of ETH ready in the withdraw balances. Hover your EigenPod, and click "Withdraw" to continue.

This will open the withdrawals modal, where you can see the amount available to withdraw and the amount pending. You can over the bottom section of the modal to have the details on when your request is estimated to be ready and the amount associated with it.

Click "Withdraw" to receive the displayed amount on your wallet.

To unstake your restaked validator, please follow the usual flow described (i.e either Kiln Dashboard or pre-signed exit messages)

The resolution typically involves a manual setup adjustment on Fireblocks' end for your specific workspace. This allows their system to handle the large transaction payloads associated with Eigenlayer withdrawals. Learn more about this issue .

🚀
0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338
0x30770d7E3e71112d7A6b7259542D1f680a70e315
here
here
0x7Fe7E9CC0F274d2435AD5d56D5fa73E47F6A23D8
0x642c646053eaf2254f088e9019ACD73d9AE0FA32
here
here
here