Skip to main content

Overview

Anchorage Digital now supports ETH staking operations initiated via API.
📘 ETH staking API notes
  • Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis.
  • The staked ETH - validator public key is listed as the stakingPositionId in the list staked positions endpoint.

Key concepts

  • New validator provisioning: requires at least 32 ETH.
  • Pectra vs pre‑Pectra: use validatorType to distinguish validator types.
  • Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis
  • The staked ETH - validator public key is listed as the stakingPositionId in the list staking positions endpoint.

Relevant endpoints




Workflows

Initiate staking operation



  1. Funding wallet
    1. Fund the wallet in increments of 32 ETH and ensure you have sufficient gas to cover the on-chain movement of funds. Only staking operations in multiples of 32 will be approved.
    2. Current minimum gas requirement per staking operation = 0.03 ETH.
  2. Create a stake request (API)
    1. Initiate ETH staking operation API from your ethereum source wallet.
    2. e.g. 32 ETH + gas
      1. For more information about API gas fee requirements - See Network and gas fees.
    3. Identifying destination address.
      1. This is the source wallet, which can be identified by hitting the List wallets API endpoint.
  3. Quorum approval
  4. Anchorage Digital - Risk review
  5. Anchorage Digital sends ETH to the validator
    1. Transaction Type = OTHER
      1. Status = PENDING until confirmed staked balance.
      2. This can take ~12 hours to provision the validator plus however long the queue is at that time to actually activate the staking validator.
  6. Assets successfully staked
    1. Staking position for a wallet API
      1. Status of the position will now reflect that it is ACTIVE.
    2. List vaults (See assets balances)
      1. stakedBalanceYour current staked position balance for a specific wallet.
      2. unclaimedBalanceThe amount of unclaimed staking rewards. Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis.
    3. List wallets(See assets balances)
      1. stakedBalanceYour current staked position balance for a specific wallet.
      2. unclaimedBalanceThe amount of unclaimed staking rewards. Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis.



View claimed and unclaimed rewards



  1. List staking position for a given walletId (API)
    1. Staking rewards begin accruing as soon as the staking position is ACTIVE.
  2. Daily reward snapshot
    1. Staking rewards are updated daily after our daily snapshot process runs.
  3. List staking rewards for a given walletId (API)
    1. The rewards will be in a state of UNCLAIMED until they are swept back to the source wallet.
    2. Also view staked ETH and reward positions in vaults and wallet balances:
      1. List Vaults
        • stakedBalanceYour current Staked Position balance for a specific wallet.
        • unclaimedBalanceThe amount of unclaimed staking rewards. Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis.
      2. List wallets
        • stakedBalanceYour current staked position balance for a specific wallet.
        • unclaimedBalanceThe amount of unclaimed staking rewards. Unclaimed rewards are claimed and deposited back to your source wallet on a regular basis.
  4. Automatic staking rewards sweep to source wallet (Anchorage Digital)
    1. This will be listed as a STAKING_REWARD transaction when hitting our List transactions API. Once this occurs, these rewards will be updated to CLAIMED.
  5. List transactions (API)
    1. Once the deposit of rewards hits the wallet, they will be reflected by a Transaction type of STAKING_REWARD.



Initiate unstaking operation



  1. Create an unstake request (API)
  2. Quorum approval
  3. Anchorage Digital risk review
  4. Unstake operation auccessfully Initiated
    1. Transaction type = OTHER
    2. Status = INPROGRESS
      1. Unstake operations take place in two major phases:
        • Exit the active validator set: Once a request to “exit” has been made, the validator is added to the exit queue. If there are no other validators in the exit queue, this part will take ~35 minutes. If there are other validators in the exit queue, this part can take several days as a maximum of 2,000 validators can exit per day.
        • Withdraw balance back to the execution layer: Once exited, a validator must wait a minimum of 27 hours to be considered eligible to be withdrawn. At this point, the ETH able to be withdrawn will be transferred in the next recurring withdrawal sweep. Given normal network behavior, you can expect full staking withdrawal to take about one week on average.
      2. We broadcast the Unstake message as soon as it is approved. ETH stake unbonding time is determined by the protocol. It takes between 1-10 days for funds to return back into the wallet’s available balance
      3. Position will update to Exited once your unbonding or unstaking operation completes.
  5. Funds returned to source wallet
    1. All funds, including unclaimed rewards will land in the source wallet.
    2. Transaction type = OTHER
    3. Staking positions and rewards will return to 0.



Consolidate Stake from Pre-Pectra to Pectra

See instructions on ETH Pectra staking API page Note: you may consolidate across wallets and vaults but not across different validator providers (e.g. do NOT consolidate a Figment validator to a BlockDaemon validator)


API endpoints




Additional metadata

You may provide a description with each staking operation, that will be visible within your organization in the Anchorage Digital iOS app.


Unsuccessful staking request

A stake request may fail for any of the following reasons:
  • An ongoing stake already exists.
  • The specified asset does not exist.
  • The specified amount exceeds the available funds for this asset (insufficient funds).
  • The provided API key does not have permissions to initiate staking from this vault.
If the initiated stake is approved by the quorum, the transaction may fail for any of the following reasons:
  • There are insufficient funds to pay the blockchain network fee at the time of this transaction.
  • There is a failure on the blockchain.