View Rewards and Delegations

Overview

Staking delegates assets to a staking address. Depending on the asset, the staking address could be the validator's address, an address linked to your wallet, or a smart-contract address.

Once staked, you can retrieve the following delegation details:

  • Delegated balance
  • Delegation address
  • Delegation ID
  • Expected APR or APY
  • Rewards accrued
  • Withdrawal address (for unstaking)

Depending on the asset, multiple staking requests could result in 1 or more staking delegations. For example, ETH is staked in multiples of 32, so a staking request for 64 ETH, entails 2 staking delegations. Conversely, if an asset doesn't require staking in multiples, you can create multiple staking requests, from the same wallet, and all the requests have to the same staking delegation.

Prerequisites

View Rewards

Endpoint: Get Staking Wallet Details

  • cURL
  • JavaScript
1 2 3 4 5 6 7 8 export COIN="<ASSET_ID>" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" curl -X GET \ "https://app.bitgo-test.com/api/staking/v1/$COIN/wallets/$WALLET_ID" \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN"

Step Result

  • JSON
1 2 3 4 5 6 7 8 9 10 11 12 13 { "enterpriseId": "1032e75c451052000436831deb797af1", "walletId": "2032e75g451052000636831abd797bd3", "walletType": "custodial", "coin": "eth", "delegated": 6400000000000000000, "pendingStake":0, "pendingUnstake": 0, "rewards": 1000000000000000, "apy": 8.2, "createdDate": "2022-01-10T14:32:28Z", "modifiedDate": "2022-01-10T14:32:28Z" }

View Delegations

Endpoint: Retrieve Staking Wallet Delegations

  • cURL
  • JavaScript
1 2 3 4 5 6 7 8 9 10 export COIN="<ASSET_ID>" export WALLET_ID="<YOUR_WALLET_ID>" export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>" export DELEGATION_IDS="<DELEGATION_IDS>" export DELEGATION_STATUS="<DELEGATION_STATUS>" curl -X GET \ "https://app.bitgo-test.com/api/staking/v1/$COIN/wallets/$WALLET_ID/delegations?delegationIds=$DELEGATION_IDS&delegationStatus=$DELEGATION_STATUS" \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN"

Step Result

  • JSON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 { "page": 1, "totalPages": 1, "totalElements": 2, "delegations": [ { "id": "e0225adbc-66a3-4ccd-9a9d-726a05bca0cf", "delegationAddress": "0x5a6406c9710f588ca733360bfa8033d0ef9ecdy5", "withdrawalAddress": "0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c", "delegated": 3200000000000000000, "status": "ACTIVE", "rewards": 0, "pendingUnstake": 3200000000000000000, "apy": 8.3, "coin": "hteth", "walletId": "2032e75g451052000636831abd797bd3", "unstakingFee": 100000000000000, "unstakingMin": 0 }, { "id": "e0225adbc-55b43-5tta-9a9d-726a05bca0ai", "delegationAddress": "0x3b6406c9710f588ca733360bfa8033d0ef9ecre4", "withdrawalAddress": "0x5a6406c9710f588ca733360bfa8033d0ef9ecd7c", "delegated": 3200000000000000000, "status": "ACTIVE", "rewards": 0, "pendingUnstake": 0, "apy": 8.3, "coin": "hteth", "walletId": "2032e75g451052000636831abd797bd3", "unstakingFee": 1000000000000000, "unstakingMin": 0 } ] }

Next

Use the delegation ID to Unstaking from Custodial Wallet or Unstaking from Self-Managed Wallet.

See Also