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: List staking details by wallet

  • 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: List staking 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 Custody Wallet or Unstaking from Self-Custody Wallet.

See Also