Skip to main content

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 validatorType to distinguish validator types while keeping requests backward compatible.
  • Go-live providers: FIGMENT and BLOCKDAEMON.

Relevant endpoints


Workflows

Stake (provision or add stake)

Endpoint POST /v2/transactions/stake

When to use which fields

  • Provision a new Pectra validator
    • Provide: validatorType, stakingProvider
    • Omit: stakingPositionId
  • Add stake to an existing validator position
    • Provide: stakingPositionId, amount
    • Omit: validatorType, stakingProvider

Request body additions

Add a parameters 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)

Endpoint POST /v2/transactions/unstake

Request rules

  • stakingPositionId is required.
  • For partial unstake, provide amount and set isFullAmount to false.
  • For full unstake, set isFullAmount to true. (In this case, amount is optional and may be ignored.)

Example: Partial unstake

Response

A successful request returns 201 OK with a transaction id.

Consolidate to Pectra validator

Endpoint POST /v2/transactions/consolidate-stake Request rules
  • Enter source walletId and assetType in 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
Example: Consolidate request
Response A successful request returns a 201

List transactions

This endpoint retrieves a list of all transactions for an org (deposits, withdrawals, rewards). Endpoint GET /v2/transactions

Rewards behavior

For rewards, this endpoint will continue to return:
  • DELEGATION_REWARD
  • STAKING_REWARD

List wallet balances

This endpoint retrieves wallet balances for either a single wallet or all wallets in a vault. Endpoints

Expected behavior

  • The response includes a list of balance types per wallet.
  • For Pectra, stakedBalance will 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 wallet

Expected behavior

  • The response includes validator positions and the amount staked for each position

Common pitfalls

  • Do not include validatorType and stakingProvider when adding stake to an existing position.
  • Ensure you include stakingPositionId when adding stake or unstaking from a specific position.
  • Ensure validator total does not exceed 2048 ETH after adding stake.