Native restaking

Restake 32 ETH multiples into dedicated validators using Kiln & EigenLayer smart contracts to earn additional rewards by extending the cryptoeconomic security of the Ethereum network to AVSs.

Overview

Using Kiln's dApp, you will be able to setup an EigenLayer position. Due to the nature of Native restaking on EigenLayer, you will need to deploy your own EigenPod. Then you will be required to deploy Kiln's fee splitter contract for your wallet and use Kiln's batch deposit v2 contract to deposit 32ETH multiples into your EigenPod.

EigenLayer Native Restaking

Native Restaking is the process of pointing your Ethereum validator's withdrawal credentials to your deployed EigenPod. We will cover how to do so in this guide.

Restaking operational cost

In addition to standard native staking transaction costs, you will also need to pay for additional operations along your EigenLayer restaker journey.

EigenLayer smart contract interactions imply recurring costs. Restaking transactions incur costs, as well as periodic costs for each request to withdraw your eigenPod's balance, impacting your overall performance.

Service fees

Since Kiln is running in its infrastructure your native ETH validators, we will take a service fee of 8% of your total rewards. Native ETH consensus layer rewards are automatically deposited on your EigenPod, because of this we can't take a fee on the consensus layer rewards. Therefore, Kiln will be charging a 30% fee on your execution layer rewards, which account for about 8% of your total rewards.

This process is automatic, you don't have anything to do to pay for the service fees and you will get your execution layer rewards directly on your wallet address thanks to the deployment of Kiln's fee splitter.

📙Native restaking

You can initiate native retaking in a few clicks from Kiln's dapp native restaking page.

Here is a video of the process :

0. EigenPod setup

To interact with native restaking on EigenLayer you need to have a dedicated EigenPod deployed, linked to your wallet address.

An EigenPod is a smart contract managed by your wallet, designed to facilitate your EigenLayer operations in monitoring, and managing balances and withdrawal statuses.

  • You can only have one EigenPod per wallet address.

  • Once set up all your validators deployed with Kiln's Dapp will point to your 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.

The first time you interact with Eigenlayer you will be prompted an additional transaction after you click on the restake button at the end of the flow.

1. Select the amount of ETH you want to restake

Use the slider to select the amount of ETH you want to stake and restake on your EigenPod.

Deploying Kiln's contracts on first deposits

The first time you deposit funds to your eigenPod, you will need to deploy a smart contract allowing proper management of your validators by Kiln fully on chain, this is done by deploying Kiln's fee splitter.

2. Delegate to Kiln's Operator

Kiln's EigenLayer Operator will be selected, featuring all of the currently supported AVSs that this operator is validating. By delegating to Kiln's operator, you will secure all major incoming AVSs that will distribute points and rewards in the next couple of months.

If you wish to select another operator, you can unselect this option, and delegate to another operator through the Eigenlayer Dapp later on. You can also undelegate at any moment.

3. Click restake

Click on "Restake" to finish the process, it will trigger from 1 to 4 transactions to be signed by your wallet and you can track it in the UI.

EigenPod Deployment
Fee splitter Deployment
Deposit call
Delegate call

One transaction per wallet for the first Eigenlayer Interaction

One transaction per wallet for the first Kiln Native Restaking Interaction

One transaction each time you want to deposit multiple of 32 ETH

One transaction per wallet for the first you select an EigenLayer Operator

1️⃣ Only at setup

1️⃣ Only at setup

🔂 Every time

1️⃣ Only at setup

You can find the details of all of the contract interactions you will need to perform in the 🔒 security > under native restaking section.

Activation period & next steps

After you sign all of the transactions you can track your position in the Native restaking portfolio section.

Please note that your ETH has not been restaked yet. You will need to wait 8 to 12 hours for your validator to become eligible for restaking activation.

4. Restaking

You can start restaking from your Kiln's Dapp Native restaking portfolio page.

Under the EigenLayer section of your porfolio, you will find the amount you can restake, if you deposited 32ETH multiples, it's possible that only some of your validators are ready, we recommend waiting for all of them to be ready.

Click "Restake", it will open a modal with the balance currently available to restake, and list all of the validators that you can activate. By clicking Restake in the modal we will fetch the proof of you running these validators. You need to upload one proof per validator in a verify withdrawal field transaction that you need to sign with your wallet.

Restaking - proof upload operational note

Kiln's Dapp will batch proof upload by 60 validators.

eg. Native restaking of 2048 ETH, require running 64 validators, batching them by 60 proofs will require you to sign at least 2 transactions to complete restaking.

🖥️ Reporting

Monitor, manage, and initiate operations from Kiln's Dapp Native restaking portfolio page. Keep track of your position status and withdraw accumulated rewards.

EigenLayer reporting

In this section, you can find details about your EigenLayer balance, the points you generated, and the operator you are delegating to.

Restakable balance & redelegatable balance & delegate

This tile is only visible if you have ETH on you Eigenpod that are not restaked balance or delegated > 0.

Represent the total amount available to restake or delegate to an EigenLayer Operator.

Click "Restake" to restake read more in the previous section.

Click "Delegate" to delegate and get redirected to the operator delegation section.

Native restaked balance

This tile is only visible if you have a restaked balance > 0.

Represent the total amount of native ETH restaked to an EigenLayer Operator.

Restaked points

Restaked points measure your contribution to the shared security of the EigenLayer ecosystem. The points are a measure of your staking contribution over time.

EigenLayer Operator

This tile is only visible if you delegated to Kiln's operator

Show Kiln's operator if you are delegated to it and the list of all the AVSs you are restaking to.

Validators

The validators section allows you to track your native ETH validators, from their status to the aggregated yield you generated from them. In this section, you can request an exit and export this in CSV.

Exiting a validator

You can request the exit of one or multiple validators, they will go throw the Ethereum validator exit queue taking a few hours to multiple days based on network activity. After the exit queue, the equivalent amount of ETH will be visible in the EigenPod available balance and you can initiate a withdrawal request from the withdraw section of the portfolio.

You will see your validator exit request in the pending withdraw table, once available you will be able to see the equivalent amount in the Withdrawable Balance section and you will be able to completely withdraw this amount using the "Withdraw" button.

Rewards

The rewards section allows you to track the rewards generated by all of your ETH validators, you can see the total rewards accrued and the amount of ETH and USD value generated over the last 24 hours.

You can play with the reward history table to see the exact amount generated each day and the reward rate of your validators. You can see the same view as a chart in this view and export this table as CSV.

Rewards generation while doing Native restaking with EigenLayer

Your validators are linked to your EigenPod, therefore all of the consensus layer rewards generated overtime will be incrementing directly on your EigenPod, you can withdraw them when you want, using the request withdraw button.

Withdraw

The last section of the portfolio allows users to track all pending balances, their status, and smart calls to action.

EigenPod available balance & Request withdraw

Represent the total amount of ETH you can request to withdraw by uploading proofs. This includes any ETH amount skimmed or exited from your validators including consensus layer rewards generated over time.

Click "Request withdraw", it will require you to upload proofs for your validators.

After all the validator proofs are confirmed, it will generate a withdrawal request, pending for 7 days for the amount of ETH you have on your EigenPod. You can track your pending withdrawal requests in the table.

Stakers will NOT earn fees (or rewards) during the escrow period when payments launch and will not continue to accrue restake points while the selected amount is in the withdraw queue.

During the escrow period, their stake continues to secure AVSs (and slashable when slashing launches) and is still considered in operator delegations until fully withdrawn.

The request withdraw modal is designed to help you manage proof generation and upload. It integrates the available withdrawal amount, and when you click Request Withdraw, we will generate the proofs and create a valid transactions for you to sign.

Request withdrawal - proof upload operational note

Kiln's Dapp will batch withdrawal proof upload by a bucket of 80 proofs, one proof per validator.

eg. Native restaking of 2048 ETH, require running 64 validators, to withdraw the rewards of those 64 validators at one point in time I need to upload : ceil(nbValidators / batchSize) = ceil(64 / 80) = 1

Pending balance

Represent the total amount of ETH in the withdraw queue.

Withdrawable balance & withdraw

Represent the total amount of ETH that finished the 7-day withdraw queue and that the user can withdraw to their wallet.

Click "Withdraw" to receive the total withdrawable balance in your wallet balance.

Pending withdrawal table

In this table, you will be able to see all pending request:

  • the requested_at with the date and block of the request

  • the amount requested

  • the withdrawable_at with the date and block of the request, displaying a green ready badge when available

Last updated