Ethereum Pectra support is now live on Mainnet and Hoodi testnet via the Coinbase Staking API. Try them out and share feedback on Discord.
What’s New with Pectra
- Stake validators with up to 2048 ETH (previously 32 ETH max)
- Automatically compound rewards for high-balance validators
- Unstake directly via the execution layer (partial or full exits)
- Consolidate smaller legacy validators into fewer large ones
- Go SDK: Pectra features available starting version v0.0.27
- Node.js SDK: Pectra features available starting version v0.24.0
New to Staking API? Start with the Quickstart Guide to learn basic setup and terminology.
Stake (Pre & Post Pectra)
You can stake to either pre-Pectra (0x01) or post-Pectra (0x02) validators by selecting the appropriate withdrawal credential type.- Minimum stake: 32 ETH
- Maximum (post-Pectra only): 2048 ETH
- Ensure your external address has enough ETH to cover the stake plus gas fees.
Dedicated ETH Staking can take up to 5 minutes to generate a staking transaction,
as it involves provisioning dedicated backend infrastructure.
Until it’s ready, the
Transaction field in the StakeOperation will remain empty.Unstake (via Execution Layer)
Post-Pectra validators can now be unstaked directly from the execution layer using the withdrawal address. This bypasses the consensus-layer exit process entirely. Supports both:- Partial withdrawals: Withdraw a portion of a validator’s balance
- Full exits: Exit the validator completely and withdraw all funds
Partial Withdrawals
Full Exits
Unstake (via Consensus Layer)
The consensus-layer unstaking process is still supported post-Pectra and works for both pre- and post-Pectra validators. To initiate a consensus-layer exit, a voluntary exit message must be signed by the validator and broadcast to the Ethereum network. You have two options when unstaking from external addresses:- Coinbase managed unstake (recommended) : Coinbase signs and broadcasts the exit message on your behalf.
- User managed unstake: Coinbase provides a pre-signed message, and you are responsible for broadcasting it to the consensus layer.
Coinbase Managed Unstake
There are two options to build the coinbase managed unstake operation.By Amount
Coinbase managed unstake by amount currently only supports selection of pre Pectra validators for unstaking.
By Validator
We support unstaking of both pre & post Pectra validators by validator pub keys. The amount is ignored in this case.WITHDRAWAL_COMPLETE, your funds should be available in the withdrawal_address set during staking.
User Managed Unstake
There are 2 options to build the coinbase managed unstake operation.By Amount
User managed unstake by amount currently only supports selection of pre Pectra validators for unstaking.
If you want to be able to unstake both pre & post Pectra validators, use the “Unstake by Validator” option.
By Validator
We support unstaking of both pre & post Pectra validators by validator pub keys. The amount is ignored in this case.Validator Consolidation
You can consolidate smaller pre-Pectra (0x01) validators into larger post-Pectra (0x02) validators, without manually unstaking and re-staking. This reduces the number of active validators you manage and enables auto-compounding rewards. Two modes:- Self-consolidation: Convert a validator from 0x01 → 0x02 by setting the same pubkey as both source and target.
- Merge: Consolidate a single 0x01 validator under an existing 0x02 validator.
Validator Top-Ups
Validator top-ups allow you to add more ETH to an existing validator. This is useful for increasing the validator’s effective balance and rewards.View Staking Rewards
You can view historical staking rewards by validator address. This helps you track earnings over time, including USD-converted value and conversion rates. Refer to the StakingReward docs for a full list of supported methods. Look up staking rewards for a list of addresses.View Historical Staking Balances
Detailed information about the historical staking balances for given validator address, including bonded and unbonded stakes.- Bonded Stakes: The total amount of stake that is actively earning rewards to this address. Pending active stake is not included.
- Unbonded Balance: This amount includes any ETH balance that is under the control of the wallet address but is not actively staked. Refer to the StakingBalance docs for a full list of supported methods. Look up staking balances for an address.
Validator Information
View Validator Information
Detailed information is available for any validators that you’ve created. The validator status (i.e.provisioned, active, etc.) is available in the response and is printed to stdout in the example below.
The Validator object documentation is available here and the ListValidators documentation is available here
Example output
Example output
Your validators will be listed with their respective statuses.
Validator Statuses
A validator can have the following statuses, provided in thestatus field of the response:
Filtering By Validator Statuses
You can filter the list of validators to view all validators with a specific status.Example output
Example output
Your validators will be listed only if the status is active.