--- title: Manage Stake Accounts --- If you want to delegate stake to many different validators, you will need to create a separate stake account for each. If you follow the convention of creating the first stake account at seed "0", the second at "1", the third at "2", and so on, then the `solana-stake-accounts` tool will allow you to operate on all accounts with single invocations. You can use it to sum up the balances of all accounts, move accounts to a new wallet, or set new authorities. ## Usage ### Create a stake account Create and fund a derived stake account at the stake authority public key: ```bash solana-stake-accounts new \ --stake-authority --withdraw-authority \ --fee-payer ``` ### Count accounts Count the number of derived accounts: ```bash solana-stake-accounts count ``` ### Get stake account balances Sum the balance of derived stake accounts: ```bash solana-stake-accounts balance --num-accounts ``` ### Get stake account addresses List the address of each stake account derived from the given public key: ```bash solana-stake-accounts addresses --num-accounts ``` ### Set new authorities Set new authorities on each derived stake account: ```bash solana-stake-accounts authorize \ --stake-authority --withdraw-authority \ --new-stake-authority --new-withdraw-authority \ --num-accounts --fee-payer ``` ### Relocate stake accounts Relocate stake accounts: ```bash solana-stake-accounts rebase \ --stake-authority --num-accounts \ --fee-payer ``` To atomically rebase and authorize each stake account, use the 'move' command: ```bash solana-stake-accounts move \ --stake-authority --withdraw-authority \ --new-stake-authority --new-withdraw-authority \ --num-accounts --fee-payer ```