Staking ETH with Blockdaemon's Staking API and Fireblocks is a relatively simple process. By following the steps outlined in this guide, you can onboard the Staking API, create a stake, and sign and broadcast the transaction using Fireblocks.
To begin onboarding the Staking API with Blockdaemon, follow these steps:
- Provide Blockdaemon with the following information:
- Network: Mainnet or Goerli/Prater testnet.
- MEV (Miner Extracted Value) enabled or disabled.
- Geolocation preference.
- Default fee recipient address for Blockdaemon to set for all validators in the plan (this value can be overridden when you make the stake-intent API call).
- Once you have provided this information, Blockdaemon will create a staking plan with the above configuration. A staking plan is a pool of validators dedicated to your organization.
- Review the plan details in the Blockdaemon app and accept the plan if all looks good.
- After accepting the plan, create an API key under the
connect tabin the Staking API section and store the key securely.
To create a stake with Blockdaemon, you'll need to call the Post Ethereum Stake Intent endpoint, which will return the unsigned stake transaction.
It is recommended to specify the plan-id when making the call. This ensures that you are explicitly telling the API which pool of validators you want to stake to. The plan-id can be retrieved from the Blockdaemon app.
- Create a Fireblocks API User (if you already have created one, skip and proceed to the next step).
- Upload the transaction to the Fireblocks Console using the Fireblocks API POST /v1/transactions endpoint.
- Populate the
unsigned_transaction(returned in the response from the Post Ethereum Stake Intent endpoint) into the
contractCallDatafield in the Fireblocks endpoint.
- Complete the transaction signing.
There is a default two-hour timeout after the transaction is created for signing in Fireblocks.
Updated 3 days ago