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:
- 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.
- Request Stake - Create a staking request with a whitelisted validator, or a validator of your choosing. Staking requests includes 1 or more delegation transactions.
- 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.
- Send - Use the JavaScript SDK to sign and send the staking request.
- Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.
- 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:
- 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.
- Request Unstake - Create an unstaking request with the validator. Unstaking requests can include unstaking 1 or more of your delegations.
- 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.
- Send - Use the JavaScript SDK to sign and send the staking request.
- Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.
- 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.
- 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.
- Sign - Use the JavaScript SDK to sign the staking request.
- Broadcast - Using a BitGo node, Bitgo broadcasts the transaction to the network for confirmation.
Integration Guides
- Stake from Custody Wallet
- Stake from Self-Custody Wallet
- View Rewards and Delegations
- Unstake from Custody Wallet
- Unstake from Self-Custody Wallet