Overview
With Fireblocks, you can participate in Ethereum liquid staking through our Lido integration. Liquid staking offers the flexibility to stake any amount (compared to the 32 ETH minimum for regular staking) while continuing your on-chain activities and accruing staking rewards.
When staking with Lido via Fireblocks, you receive stETH tokens representing the amount of ETH you initially staked. The rewards accrued by your staked funds are distributed using a rebasing mechanism to increase your stETH. When you want your original ETH back, you simply redeem your stETH. Learn more about Lido’s liquid staking process.
Liquid staking offers the following benefits:
- Greater liquidity through stETH tokens that can be transferred at any time
- The ability to participate in DeFi using your stETH tokens
- Diversification through multiple staking providers, which decreases the likelihood of technical errors that could lead to slashing or penalties
In addition to the Ethereum mainnet, the Holesky testnet is also supported for liquid staking. Make sure to list the Lido StETH Holesky testnet asset in your workspace before liquid staking on the Holesky testnet.
Liquid staking lifecycle
Use the Fireblocks Console or API to stake your ETH and receive stETH tokens to the same vault account in accordance with Lido’s exchange rate.
Your staked ETH becomes eligible to receive rewards immediately after staking. As you accrue rewards, Lido’s rebasing mechanism increases your balance of stETH each day to match your accrued rewards. Your Fireblocks Vault balance automatically updates to reflect your rewards. You can check the balance of your staked ETH and rewards on the Staking page or by viewing the ETH wallet in the vault account you used for staking.
Note
Automatic balance updates only apply when staking from the Staking page in the Fireblocks Console or via the dedicated API endpoints. Staking externally via the Lido decentralized application (dApp) requires you to manually refresh your Fireblocks balance to reflect staking rewards.
You can’t use your ETH while it is staked. However, you can use the stETH tokens you initially received and continue to accrue.
When you want your ETH back, you can unstake your assets and wait for the lock-up period to expire. The duration of the lock-up period varies widely depending on network traffic and the number of validators withdrawing staked ETH. If a large number of validators are withdrawing at the same time, the lock-up period could last a week or more. After the lock-up period expires, you can withdraw your ETH back to the original vault account used for staking.
Watch a tutorial for liquid staking on Fireblocks.
TAP rules for liquid staking
To allow users to stake, you must create Transaction Authorization Policy (TAP) rules to govern staking transactions.
Stake rules
You can set up rule parameters for staking similar to configuring rules for other types of transactions. Staking rules apply to both staking and withdrawal transactions. Simply use the Stake operation type when creating staking rules.
Important
TAP rules configured with the Stake operation type only apply to staking operations initiated from the Fireblocks Console or the Fireblocks API. They do not apply to staking transactions initiated using the Raw Signing-based SDKs, contract calls, or other external interfaces.
Keep these things in mind when configuring TAP rules for staking:
- Rules can apply to staking, unstaking, and withdrawal transactions.
- You must create a Stake TAP rule with the Lido contract as the destination.
- When creating the rule, go to Destination > Staking destinations and select the appropriate destinations. Staking transactions use the ETH Lido stETH Token destination while unstaking and withdrawal transactions use the ETH Lido Withdrawal Queue destination. There are also testnet destinations.
- You can create a single rule that governs all staking destinations or multiple rules, each governing specific destinations.
- Enter Any in the Asset parameter if creating one rule to govern to govern all transactions. Otherwise, enter ETH for staking and withdrawal rules and stETH for unstaking rules.
Typed message rules
Because you must sign a Permit allowance when unstaking, you must create a TAP rule that allows you to sign Typed messages (which include Permit allowances) from Lido. Simply use the Typed message operation type when creating rules for Typed messages.
Keep these things in mind when creating TAP rules for Typed messages:
- Rules only apply to the unstaking action.
- Enter either Any or stETH in the Asset parameter.
Liquid staking in the Fireblocks Console
Before liquid staking ETH, you must add funds to an ETH wallet, create an stETH wallet in the same vault account as the ETH wallet, and create TAP rules for staking. Transaction fees are paid in ETH and apply to staking, unstaking, and withdrawing.
- Go to the Staking page, and select Stake > Liquid stake.
- Select ETH as the asset to stake.
- Enter the vault account you want to stake from.
- Enter the amount you want to stake, and select a fee rate for the transaction.
- If liquid staking for the first time via the Staking page, accept Lido’s terms and conditions.
- Select Stake.
- Approve and sign the staking transaction.
- The corresponding amount of stETH is transferred to the vault account used to create the staking position.
You can view the staking transaction's details on the Recent activity panel and the Transaction History page.
Once approved, the transaction for sending the funds to the Lido contract is initiated. You can add more ETH to the staking position as needed. When adding funds to an active staking position, you will see multiple statuses for that position: one status for the Active funds and another for the Activating funds you just added.
Unstaking and withdrawing
You must unstake before you can withdraw your staked ETH. You can unstake by redeeming your stETH. You can unstake partial amounts of your original staked amount, and you can unstake multiple times before withdrawing. Ultimately, make sure the amount of ETH you want to withdraw matches the amount of stETH that's in the vault account where you staked.
- Access your liquid staking position on the Staking page.
- Select Unstake
.
- Enter the amount you want to unstake, and select a fee rate for the transaction. Then select Permit & unstake.
- Sign and approve the Permit allowance, which expires in two days. You must sign a new Permit allowance each time you unstake.
- Sign and approve the unstaking transaction. You must sign the unstaking transaction before the signed Permit allowance expires.
- The corresponding amount of stETH is transferred from your vault account to the Lido contract.
After the lock-up period expires, you can withdraw your ETH. A red dot appears on the Withdraw icon when your ETH is available to be withdrawn. You must withdraw the entire amount you’ve unstaked.
- Select Withdraw
.
- Select a fee rate for the transaction. Then select Withdraw.
- Sign and approve the withdrawal transaction.
- Your ETH returns to your vault account.
You can view the details of the unstake and withdrawal transactions on the Recent activity panel and the Transaction History page.
When unstaking and withdrawing partial amounts of your staked ETH, you will see multiple statuses for that staking position: one for the Deactivating or Withdrawing funds and one for the Active funds that have yet to be unstaked.
Rewards
As your staked ETH accrues network rewards, Lido’s rebasing mechanism increases your stETH tokens. Rebasing occurs automatically each day, and your rewards are reflected in the balance of the vault account you used to stake and the staking positions on the Staking page.
If your rewards appear inaccurate, make sure you have a stETH wallet in the vault account you used for staking.
Staking balances
You can view the balance of your staked ETH and your rewards on the Staking page in the Fireblocks Console. These balances are dynamic and update automatically based on accrued rewards and the activity of your stETH.
If your staking balances appear inaccurate, make sure you have a stETH wallet in the vault account you used for staking.
Transferring stETH
Incoming and outgoing stETH transfers are reflected on the Staking page for vault accounts where staking positions were initiated via Fireblocks. Transfers made to a vault account that doesn’t have a staking position will not be reflected on the Staking page since there is no corresponding staking position listed there.
For example, transferring stETH out of the vault account you used for staking decreases the corresponding staked amount on the Staking page. Transferring stETH to that vault account will increase your staked amount.
Fees
A percentage of your rewards is collected as a service fee paid to Lido. These fees are based on staking rewards only and are collected during on-chain reward distribution. Staking service fees are charged in ETH.
The current service fee rate for liquid staking is 10%.
Liquid staking with the Fireblocks API
You can also stake ETH using the Fireblocks API.
Keep the following in mind when staking via the API:
- Enter ETH as the staking asset
- Enter Lido as the staking provider
- When unstaking, you must sign a Permit allowance before signing the unstaking transaction