Staking Overview

Overview

Certain blockchains allow for network participation through staking - earning rewards by locking your digital assets with a network validator. If rewards automatically re-stake, you earn an annual percentage yield (APY). If rewards don't automatically re-stake, you earn an annual percentage rate (APR).

To determine if an asset is available for staking through BitGo, see the Wallets column in the Coins and Tokens table.

Note: Staking protocols differ by asset. For example, some assets may require you to specify a staking time limit, require separate transactions to claim your rewards, or have a cooldown period after unstaking before the assets are available for further transactions. To learn asset-specific staking details, you can call the List coins available for staking endpoint.

Staking Flow

Staking generally entails the following:

  1. Stake - To stake an asset, you create a staking-request transaction. Staking transactions must abide by your enterprise and wallet policies and therefore must receive all required signatures and approvals before BitGo signs and broadcasts the transaction.
    1. Request Stake - Create a staking request with a whitelisted validator, or a validator of your choosing. Staking requests includes 1 or more delegation transactions.
    2. Approve (Optional) - You can configure a wallet policy to require admin approval, providing an extra layer of security. Transactions remain in a pending-approval status until final approval. Approving a transaction doesn't apply a signature.
    3. Send - Use the JavaScript SDK to sign and send the staking request.
    4. Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.
  2. Earn Rewards - Your assets either lock in your BitGo wallet or they're sent to the validator's staking wallet. Once validated, you begin earning rewards.

Unstaking Flow

Unstaking generally entails the following:

  1. Unstake - Like staking, to unstake an asset, you create a staking-request transaction. Unstaking transactions must abide by your enterprise and wallet policies and therefore must receive all required signatures and approvals before BitGo signs and broadcasts the transaction.
    1. Request Unstake - Create an unstaking request with the validator. Unstaking requests can include unstaking 1 or more of your delegations.
    2. Approve (Optional) - You can configure a wallet policy to require admin approval, providing an extra layer of security. Transactions remain in a pending-approval status until final approval. Approving a transaction doesn't apply a signature.
    3. Send - Use the JavaScript SDK to sign and send the staking request.
    4. Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.
  2. Claim Rewards - BitGo automatically generates a transaction to claim your rewards. You can set up a webhook to receive a notification when the transaction is ready for your to approve and sign.
    1. Approve (Optional) - You can configure a wallet policy to require admin approval, providing an extra layer of security. Transactions remain in a pending-approval status until final approval. Approving a transaction doesn't apply a signature.
    2. Sign - Use the JavaScript SDK to sign the staking request.
    3. Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.

Integration Guides

See Also