Staking from a Wallet
To stake from a Vault wallet, use Create Stake. Instead of requiring a public address, this endpoint operates using Wallet IDs. For a refresher on Vault wallets and Wallet IDs, refer to the Wallets page. Once the request is successfully submitted, the response will include anactivity_id and transaction_id. As with other sensitive operations in Prime, this request must be approved in the Prime UI or Mobile App before it is processed. Once approved, the asset selected for staking will soon begin the bonding process, assuming the underlying protocol has a bonding period.
There is a delay between when a stake transaction completes and when assets begin earning rewards. For ETH, this depends on the validator activation queue. For SOL, activation occurs at the next epoch boundary. See Staking Lifecycle for details on tracking activation status.
- Go
- Python
- TS/JS
Unstaking from a wallet
The process for unstaking is nearly identical to staking. As with staking, partial unstaking for ETH is supported. For example, if a wallet has 320 ETH staked, an unstake request can be submitted for just 5 ETH. Unstaking is not immediate. For Ethereum, after initiating the request and approving it in the Prime UI, ETH enters the Ethereum exit queue and becomes withdrawable only once the network finalizes the exit. During this period, ETH rewards will continue to be generated and received. For Solana, withdrawals typically take 2-4 days. For ETH, use the Get Unstaking Status endpoint to track when unstaking will complete. The Preview Unstake endpoint shows the estimated amount that will be received, including any rewards earned during the unbonding period. See Staking Lifecycle for complete details on tracking unstaking progress.- Go
- Python
- TS/JS
Portfolio-Level Staking
In addition to wallet-level operations, assets can be staked and unstaked at the portfolio level. This effectively batches the operation across all eligible stakable wallets in the given portfolio. To stake across a portfolio, use Create Portfolio Stake. This will stake the specified currency from all eligible wallets within the portfolio. To unstake across a portfolio, use Create Portfolio Unstake. This will initiate unstaking for the specified currency across all staked wallets in the portfolio. Portfolio-level operations follow the same approval workflow as wallet-level operations and must be approved in the Prime UI or Mobile App before processing.Balance Tracking for Staked Assets
The Get Wallet Balance endpoint provides several staking-specific balance subtypes that help monitor the complete lifecycle of staked assets:bondable_amount- Withdrawable balance that can be staked. Returns 0 for the ETH Staking Transaction Rewards walletbonded_amount- How much balance is currently bondedunbonding_amount- Amount in the process of unstaking (not yet withdrawable)unbondable_amount- Amount that can be unstakedpending_rewards_amount- Accrued rewards awaiting distribution