Skip to main content
Staking enables clients to earn rewards by participating in blockchain consensus. With Prime’s Staking APIs, clients can stake supported assets directly from eligible wallets and initiate unstaking when desired. While many assets are available for staking through the Prime UI, the Stake and Unstake APIs currently support Ethereum (ETH) and Solana (SOL) only, with additional assets to be supported over time. Reward accrual, stake and unstake activity, and associated balance states can all be monitored through existing API endpoints for all stakable assets on Prime. For ETH, Coinbase Prime supports both partial staking and multiple concurrent staking operations from the same wallet. In practice, this means a specific amount can be staked (e.g. 64 ETH) without needing to stake the entire wallet balance, and multiple stakes can be initiated without waiting for earlier ones to complete. For stake, additional stake requests can be made of 32 ETH or greater, up to six decimal places. These will top up existing validators until the 1800 ETH logical max target is reached, at which point a new validator will be created. Unstake is available in any amount greater than 1 ETH, up to six decimal places. If an unstake is made for an amount that would reduce the validator balance below 32 ETH, the validator will be fully unstaked. The cumulative maximum that can be staked to a single validator is 1,800 ETH across all stake operations. This is a logical maximum to allow for room for accumulation of consensus rewards. Post-Pectra, the maximum effective balance per validator is 2,048 ETH. MaxEB and the max allowed to stake can be configured upon request. For Solana, partial staking and unstaking are now supported: a specific amount can be staked without staking the entire wallet balance, subject to a minimum stake amount of 1 SOL. Because Solana does not permit adding to an existing active stake account, a partial stake is delegated through a separate secondary stake account. Once that secondary stake account finishes bonding, an asynchronous merge-stake workflow consolidates it back into the wallet’s primary stake account. See Staking Lifecycle for details on the secondary stake account and the merge-stake process. Solana rewards may be added to either the staked or unstaked balance, depending on reward type.
Partial SOL staking is in beta. To request access, please reach out to your account manager.

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 an activity_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.
For more information, please visit the Prime Go SDK.

Unstaking from a wallet

The process for unstaking is nearly identical to staking. Partial unstaking is supported for both ETH and SOL. For ETH, for example, if a wallet has 320 ETH staked, an unstake request can be submitted for just 5 ETH. For SOL, a specific amount can be unstaked (subject to the same 1 SOL minimum) while leaving the remaining balance staked; the unstaked amount then enters the standard Solana cooldown before becoming withdrawable. 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.
For more information, please visit the Prime Go SDK.

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. Please note that this feature is gated. Please contact your account manager or primeops@coinbase.com to enable.

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 wallet
  • bonded_amount - How much balance is currently bonded
  • unbonding_amount - Amount in the process of unstaking (not yet withdrawable)
  • unbondable_amount - Amount that can be unstaked
  • pending_rewards_amount - Accrued rewards awaiting distribution
These balance subtypes provide real-time visibility into staking positions and can be used to programmatically manage staking operations or build dashboards. For more information on calling the SDKs for balances, please visit the Balances page.