Overview and setup for Blockdaemon Solana Staking API V2.
The Solana Staking API V2 delivers a fully managed staking experience without the need to run Solana clients or operate validator infrastructure. With transaction signing as the only requirement, it integrates seamlessly into your existing technology stack with minimal operational overhead.
The API abstracts away the complexity of staking operations—including nonce account management—and removes time-sensitive execution constraints when using multi-signature wallets. This enables secure, flexible staking workflows without compromising control.
For incremental staking strategies, the API maintains a dedicated nonce account per delegator while preserving your ability to deactivate, split, and withdraw from individual stake accounts at any time.
Supported Networks
The Staking API supports the following Solana networks:
- Mainnet
- Testnet
How to Use the Solana Staking API
1. How to Stake
Initiate Solana staking via the Post Stake Intent endpoint.
This endpoint returns an unsigned transaction that must be signed and broadcast by the account delegating funds to the validator specified in the request.
2. How to Request Deactivation of Staking Intent
To begin unstaking, you can request deactivation for a specific stake account.
The Deactivation Intent endpoint constructs a transaction that fully deactivates the selected stake account.
3. How to Deactivate part of a Stake Account,
If you want to deactivate only a portion of your staked funds, you can split an existing stake account into two separate accounts.
The Split Intent endpoint creates a transaction that divides a stake account into two accounts, each holding a specified amount of SOL. You can then deactivate the smaller account independently.
4. How to Withdrawal a Stake Intent
NoteRemember that staked tokens must be deactivated before withdrawal.
Use the Post Withdrawal Intent to request a withdrawal from available, deactivated stake accounts. You can specify the exact amount to withdraw from a given account.
If the requested amount exceeds the currently unlocked balance, the API returns an error indicating the maximum withdrawable amount.
