Creating Validators
/v1/create-validators-admin
Creating validators via the admin api is a two step process:
- Requesting the deposit data from our API
- Building and executing the on-chain transaction to the Batch Deposit contract
Requesting the deposit data
In order to fully understand this process, its recommended to read the key management docs.
When you are ready to stake a new validator, you need to call the /v1/create-validators-admin
endpoint in order to obtain a pubkey(s) allocation alongside the data to complete the on-chain deposit.
Withdrawal Credentials
We support withdrawal credentials for Gnosis Safe, EIP1271 contracts, EigenPods, and EOAs.
The withdrawal credentials specify the address that will receive ETH during both partial and full validator withdrawals. To ensure our customers' peace of mind and fund recovery, we restrict the possible withdrawal credentials.
Custom fee recipient
You will note that there is an optional customFeeRecipient
parameter. This is the address that will receive all execution layer rewards for this validator. The ability to use this parameter depends on the following factor:
- No Dedicated Fee Pool Contract: Your organization must not have elected to use a dedicated fee pool contract. If a dedicated fee pool is in place, all execution layer rewards will be directed to this pool by default.
Building and Executing the transaction
Clusters may use their own deployment of the BatchDeposit contract, double check the address for the relevant network before attempting to make a deposit.
Once the payload has been received from the API, you must call into the batchDeposit
function of the Stakefish BatchDeposit contract via the signature defined below. The value of the transaction should correspond to the number of validators being staked e.g. 32 ETH per validator.
function batchDeposit(bytes,bytes,bytes,bytes32[])
Updated 7 months ago