Solana Better CLI
A comprehensive Solana wallet management CLI tool with portfolio tracking, token swapping, and more.
Features
- 🏦 Wallet Management: Generate new wallets, load existing ones from private keys (JSON array, base58, or files), and manage multiple accounts
- 💰 Portfolio Tracking: View your complete Solana portfolio with real-time balances
- 🔄 Token Swapping: Swap tokens using Jupiter aggregator for best rates
- 💸 SOL Transfers: Send SOL to other addresses with optional memos
- 🎁 SOL Wrapping: Wrap and unwrap SOL to/from WSOL
- 📊 Balance Checking: Check SOL and token balances individually or all at once
- 🎯 Interactive CLI: User-friendly command-line interface with guided workflows
Installation
Global Installation (Recommended)
npm install -g solana-better-cli
Local Installation
npm install solana-better-cli
Usage
Quick Start
solana-better start
sol start
Available Commands
solana-better create-wallet
solana-better create-wallet -o wallet.json
solana-better init "[1,2,3,...]"
solana-better init "base58string"
solana-better init wallet.json
solana-better init "[1,2,3,...]" -s my-wallet.json
solana-better start
solana-better --help
Interactive Features
Once you start the tool, you'll have access to:
-
Wallet Setup
- Generate new wallet
- Load from private key
- Load from file
-
Main Operations
- View Portfolio
- Transfer SOL
- Wrap/Unwrap SOL
- Swap Tokens
- Check Balance
- Change Wallet
Configuration
The tool uses environment variables for configuration. Create a .env
file in your project root:
# Solana RPC URL (default: https://api.mainnet-beta.solana.com)
RPC_URL=https://api.mainnet-beta.solana.com
# Your private key (optional, for automated usage)
PRIVATE_KEY=[your-private-key-array]
# Commitment level (default: confirmed)
COMMITMENT=confirmed
CLI Configuration Options
You can also configure the tool directly from the command line without environment variables:
solana-better --rpc-url https://api.devnet.solana.com start
solana-better --network testnet start
solana-better --commitment finalized start
solana-better --slippage 500 --priority-fee 2000 start
solana-better --rpc-url https://api.testnet.solana.com --network testnet --commitment processed start
Available CLI Options
-r, --rpc-url <url>
- Custom RPC URL (default: https://api.mainnet-beta.solana.com)
-n, --network <network>
- Solana network (mainnet-beta, testnet, devnet)
-c, --commitment <level>
- Commitment level (confirmed, finalized, processed)
--slippage <bps>
- Slippage tolerance in basis points (default: 300)
--priority-fee <lamports>
- Priority fee in lamports (default: 1000)
Network-Specific RPC URLs
Here are some common RPC endpoints you can use:
- Mainnet:
https://api.mainnet-beta.solana.com
- Testnet:
https://api.testnet.solana.com
- Devnet:
https://api.devnet.solana.com
- Local:
http://localhost:8899
Examples
Generate a New Wallet
solana-better create-wallet -o my-wallet.json
Transfer SOL
solana-better start
Swap Tokens
solana-better start
Initialize from Private Key
solana-better init "[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]"
solana-better init "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtrP1V5xih"
solana-better init wallet.json
Development
Prerequisites
Setup
git clone https://github.com/yourusername/solana-better-cli.git
cd solana-better-cli
npm install
npm run build
npm run dev
Scripts
npm run build
- Build the TypeScript project
npm run start
- Run the built version
npm run dev
- Run in development mode with ts-node
npm run clean
- Clean the dist folder
Publishing
To publish to npm:
npm login
npm publish
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Create an issue on GitHub
- Check the documentation
- Join our community discussions
Disclaimer
This tool is for educational and development purposes. Always test with small amounts before using with significant funds. The developers are not responsible for any financial losses.