CLI
Start by exploring the commands with solana-bots --help or for individual command: solana-bots <command> --help.
Quick Examples
Start the onboarding wizard:
solana-bots
Store the main wallet:
solana-bots main --password "mypass" --pathToPrivateKey ./my-key.json
Configure Jupiter API key and a custom RPC:
solana-bots api-rpc --password "mypass" --api "YOUR_KEY" --rpc "https://your-rpc.com"
Create 10 sub-wallets and fund each with 0.5 SOL:
solana-bots create --password "mypass" --count 10
solana-bots split --password "mypass" --amount 0.5
Mass buy a token using 5 wallets, spending 0.1 SOL each:
solana-bots buy --password "mypass" --target "TOKEN_MINT_ADDRESS" --wallets 5 --amounts 0.1
Sell 100% of a token from 5 wallets:
solana-bots sell --password "mypass" --target "TOKEN_MINT_ADDRESS" --wallets 5
Sell 50% of a token position:
solana-bots sell --password "mypass" --target "TOKEN_MINT_ADDRESS" --wallets 5 --percentage 50
Liquidate all positions across all wallets:
solana-bots out --password "mypass"
Start the volume bot (0.01 SOL per cycle, 3 wallets, 60-second TTL):
solana-bots volume-start --password "mypass" --target "TOKEN_MINT_ADDRESS" --wallets 3 --amount 0.01 --ttl 60
Check status or stop:
solana-bots volume-status
solana-bots volume-stop
Drain all sub-wallet funds back to the main wallet:
solana-bots drain --password "mypass"
CLI Reference
Wallet & Configuration Management
main
Configure the main wallet, generate new ones, drain to the main, and distribute funds across newly generated wallets. (Note: You can only have one main wallet at a time).
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used for encryption and decryption. |
--pathToPrivateKey | Yes | - | The local path to the JSON file containing the Private Key of your wallet. |
api-rpc
Configure the Jupiter API key and the RPC connection to use.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--api | Yes | - | The Jupiter API key to use. |
--rpc | No | https://api.mainnet.solana.com | The Solana RPC URL. |
create
Create and store sub-wallets to be used across mass buying, selling, etc.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--count | No | 1 | The number of new sub-wallets to generate. |
split
Distribute SOL from your main wallet equally across your generated sub-wallets.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--amount | Yes | - | The total amount in SOL that will be added to each sub-wallet. |
--fee | No | 5000 | Adjust the transaction fee (in lamports). |
drain
Drain all funds from your sub-wallets back into your main wallet.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--fee | No | 5000 | Adjust the transaction fee (in lamports). |
read-all
Read metadata of all your sub-wallets, including balance in SOL, public key, ID, and creation date.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
read
Read metadata of a specific wallet using its public key.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--pubkey | Yes | - | The public key of the specific wallet to read. |
airdrop
Request an airdrop of SOL (Devnet only).
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
Trading Operations
buy
Execute a mass buy of a specific SPL token simultaneously across multiple sub-wallets.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--target | Yes | - | The exact SPL token mint address to buy (Base58 string). |
--wallets | Yes | - | The number of sub-wallets to utilize for this mass buy. |
--amounts | Yes | - | The amount of SOL each individual wallet will spend (e.g., 0.1). |
sell
Execute a mass sell of a specific SPL token across multiple sub-wallets.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--target | Yes | - | The exact SPL token mint address to sell (Base58 string). |
--wallets | Yes | - | The number of sub-wallets to utilize for this mass sell. |
--percentage | No | 0 | The percentage of the token balance to sell (1-100). Default is 0, which sells 100% of the balance. |
out
Liquidate ALL tokens across all sub-wallets back into SOL (Full Cleanup).
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
Volume Bot
volume-start
Start the automated volume trading bot as a detached background process.
| Argument | Required | Default | Description |
|---|---|---|---|
--password | Yes | - | The master password used to decrypt your wallets. |
--target | Yes | - | The SPL token mint address to target for volume generation. |
--amount | Yes | 0.01 | Amount of SOL to use per trade for each wallet. |
--wallets | No | 1 | Number of sub-wallets to use for volume trading. |
--interval | No | 1000 | Run a trading cycle every specified amount of time (in milliseconds). |
--ttl | No | 60 | Time-to-live for the bot to run in seconds. If omitted, the bot automatically stops after 60 seconds. |
volume-status
Shows the active volume bot's real-time stats and running status.
volume-stop
Stops the background volume bot safely and closes out all of its open positions.