These are the steps for staking and unstaking SOL.
For technical specifications including delegation requirements, reward mechanisms, slashing conditions, see our Solana Protocol Knowledge doc.
Create Stake Account
This creates a new stake account and returns a delegating transaction for you to sign.
Sign & Broadcast the Transaction
Sign the transaction with the signing methods of your custody solutions. Examples:
Once signed, broadcast the signed transaction and check transaction status via Figment API.
Track Stake Accounts Activation
This returns a list of all your stake accounts, with on-chain status and balances.
Track Rewards
Returns rewards (protocol and MEV) and balances for all stake accounts, broken down by epoch and staking account.
Claim MEV Rewards
Withdraw JITO MEV rewards (shown as inactive balance on-chain) from an active stake account. The endpoint returns a withdraw transaction for you to sign and broadcast.
To auto-compound the MEV rewards you withdrawn, create a new stake account to stake it. The endpoint returns a delegating transaction for you to sign and broadcast.
Manage Stake Accounts
Merge two active stake accounts. This step is optional. The endpoint returns a merge transaction for you to sign and broadcast.
Split a stake account. This endpoint is useful if you want to undelegate a specific amount, while keeping the rest delegated. After splitting, undelegate the new child account. The endpoint returns a split transaction for you to sign and broadcast.
Undelegate
This returns an unsigned transaction to undelegate SOL from an active stake account. Sign and broadcast the undelegation transaction.
Withdraw
This returns an unsigned transaction to withdraw the SOL from your deactivated stake account. Sign and broadcast the withdraw transaction.