Overview
Key concepts
- New validator provisioning: requires at least 32 ETH.
- Adding stake: you can add any amount to an existing validator, as long as the added stake does not increase the total amount per validator to more than 2048 ETH.
- Pectra vs pre‑Pectra: use
validatorTypeto distinguish validator types while keeping requests backward compatible. - Go-live providers:
FIGMENTandBLOCKDAEMON.
Relevant endpoints
- Stake:
POST /v2/transactions/stake - Unstake:
POST /v2/transactions/unstake - List transactions:
GET /v2/transactions - List wallet balances:
GET /v2/wallets,GET /v2/vaults/{vaultId}/wallets,GET /v2/wallets/{walletId} - Get staking positions:
GET /v2/wallets/{walletId}/staking/positions
Workflows
Stake (provision or add stake)
Endpoint POST /v2/transactions/stakeWhen to use which fields
- Provision a new Pectra validator
- Provide:
validatorType,stakingProvider - Omit:
stakingPositionId
- Provide:
- Add stake to an existing validator position
- Provide:
stakingPositionId,amount - Omit:
validatorType,stakingProvider
- Provide:
Request body additions
Add aparameters object to specify Pectra‑specific behavior.
Example: Provision a new Pectra validator
Example: Add stake to an existing staking position
Response
A successful request returns 201 Created with a transaction id.Unstake (partial or full)
EndpointPOST /v2/transactions/unstake
Request rules
stakingPositionIdis required.- For partial unstake, provide
amountand setisFullAmounttofalse. - For full unstake, set
isFullAmounttotrue. (In this case,amountis optional and may be ignored.)
Example: Partial unstake
Response
A successful request returns 201 OK with a transaction id.Consolidate to Pectra Validator
EndpointPOST /v2/transactions/consolidate-stake
Request rules
- Enter source
walletIdandassetTypein the request body. Use ETH in Production and ETHHOODI in staging - You can consolidate across wallets and vaults but not across different validator providers (e.g. do NOT consolidate a Figment validator to a BlockDaemon validator)
- You can consolidate from Pectra to Pectra validators and Non-Pectra to Pectra validators; you cannot consolidate to non-Pectra validators
List transactions
This endpoint retrieves a list of all transactions for an org (deposits, withdrawals, rewards). Endpoint GET /v2/transactionsRewards behavior
For rewards, this endpoint will continue to return:DELEGATION_REWARDSTAKING_REWARD
List wallet balances
This endpoint retrieves wallet balances for either a single wallet or all wallets in a vault. EndpointsExpected behavior
- The response includes a list of balance types per wallet.
- For Pectra,
stakedBalancewill include rewards that auto‑compound.
Get staking positions
This endpoint retrieves the staking positions (stake accounts) associated with a wallet. Endpoint Staking positions for a walletExpected behavior
- The response includes validator positions and the amount staked for each position
Common pitfalls
- Do not include
validatorTypeandstakingProviderwhen adding stake to an existing position. - Ensure you include
stakingPositionIdwhen adding stake or unstaking from a specific position. - Ensure validator total does not exceed 2048 ETH after adding stake.

