A sophisticated Solana-based trading bot designed for automated volume trading on Pump.fun tokens. This bot implements advanced trading strategies using multiple distributed wallets to create trading volume and execute buy/sell operations with configurable intervals and percentages.
- Multi-Wallet Distribution: Automatically distributes SOL across multiple wallets for decentralized trading
- Configurable Trading Parameters: Customizable buy/sell intervals, percentages, and amounts
- Jito MEV Protection: Optional Jito integration for enhanced transaction execution and MEV protection
- Smart Pool State Management: Real-time monitoring of token pool states for optimal trading decisions
- Automated Volume Generation: Continuous buy/sell cycles to maintain trading volume
- Raydium SDK Integration: Leverages Raydium for efficient token swaps and liquidity operations
- Comprehensive Logging: Structured logging with Pino for monitoring and debugging
- TypeScript Support: Full TypeScript implementation with strict type checking
The bot is built with a modular architecture:
- Core Engine (
src/index.ts): Main trading logic and wallet distribution - Executors (
src/executor/): Transaction execution handlers (Legacy and Jito) - Utilities (
src/utils/): Helper functions, logging, and data management - Configuration (
src/config/): Environment-based configuration management
- Node.js 18+
- TypeScript 5.8+
- Solana CLI tools
- Active Solana wallet with SOL balance
- Access to Solana RPC endpoints
-
Clone the repository
git clone https://github.com/imcrazysteven/Pumpfun-Volume-Bot.git cd Pumpfun-Volume-Bot -
Install dependencies
npm install
-
Set up environment variables Create a
.envfile in the root directory with the following variables:# Wallet Configuration PRIVATE_KEY=your_base58_encoded_private_key # Solana RPC Configuration RPC_ENDPOINT=https://api.mainnet-beta.solana.com RPC_WEBSOCKET_ENDPOINT=wss://api.mainnet-beta.solana.com # Trading Parameters TOKEN_MINT=your_token_mint_address BUY_LOWER_PERCENT=10 BUY_UPPER_PERCENT=30 BUY_INTERVAL_MIN=30 BUY_INTERVAL_MAX=120 SELL_INTERVAL_MIN=60 SELL_INTERVAL_MAX=300 # Wallet Distribution DISTRIBUTE_WALLET_NUM=5 # Jito Configuration (Optional) JITO_MODE=false JITO_FEE=0.001 # Trading Configuration SLIPPAGE=1.0
- BUY_LOWER_PERCENT: Minimum percentage of wallet balance to use for buying
- BUY_UPPER_PERCENT: Maximum percentage of wallet balance to use for buying
- BUY_INTERVAL_MIN/MAX: Random range for wait time between buy operations (seconds)
- SELL_INTERVAL_MIN/MAX: Random range for wait time between sell operations (seconds)
- DISTRIBUTE_WALLET_NUM: Number of wallets to distribute SOL across
When JITO_MODE is enabled, the bot uses Jito's block engine for:
- Enhanced transaction ordering
- MEV protection
- Improved transaction success rates
- Priority fee distribution
# Compile TypeScript
npm run build
# Run with ts-node
npx ts-node src/index.ts# Build the project
npm run build
# Run the compiled JavaScript
node dist/index.js-
Initialization: The bot starts by checking the main wallet's SOL balance
-
Distribution: SOL is distributed across multiple wallets based on
DISTRIBUTE_WALLET_NUM -
Trading Cycle: Each wallet executes a continuous trading cycle:
- Buy Phase: Purchases tokens using a random percentage of available SOL
- Wait Period: Random interval between buy and sell operations
- Sell Phase: Sells all acquired tokens back to SOL
- Recovery: Transfers remaining SOL back to continue the cycle
-
Volume Generation: The continuous buy/sell cycles create trading volume for the target token
The modular architecture allows easy addition of new trading strategies:
// src/executor/custom-strategy.ts
export const executeCustomStrategy = async (
wallet: Keypair,
tokenMint: PublicKey,
connection: Connection
) => {
// Implement your custom trading logic
};Customize how the bot interacts with token pools:
// src/utils/custom-pool.ts
export const getCustomPoolState = async (
tokenMint: PublicKey,
connection: Connection
) => {
// Implement custom pool state logic
};The bot uses Pino for structured logging with the following features:
- Transaction Logging: All buy/sell operations are logged with transaction signatures
- Balance Monitoring: Real-time wallet balance tracking
- Error Handling: Comprehensive error logging with stack traces
- Performance Metrics: Timing information for all operations
- Risk Management: This bot is designed for volume generation and may result in trading losses
- Gas Fees: Continuous trading incurs significant transaction fees
- Market Impact: Large volume operations may affect token prices
- Regulatory Compliance: Ensure compliance with local trading regulations
- Private Key Security: Never expose private keys in public repositories
- Use dedicated RPC endpoints for better performance
- Monitor wallet balances to prevent insufficient funds
- Adjust trading intervals based on network congestion
- Consider using Jito mode for high-frequency trading
Q: What is Pump.fun Volume Bot? A: Pump.fun Volume Bot is an automated Solana trading bot designed to create trading volume for tokens on the Pump.fun platform using multiple distributed wallets and sophisticated trading strategies.
Q: Is this bot safe to use? A: While the bot is well-tested, cryptocurrency trading involves inherent risks. Always start with small amounts and monitor the bot's performance closely.
Q: Do I need programming knowledge to use this bot? A: Basic knowledge of Solana wallets and environment configuration is required. The bot is designed to be user-friendly but requires proper setup.
Q: What happens if the bot encounters an error? A: The bot includes comprehensive error handling and will retry failed transactions up to 10 times before moving to the next operation.
Q: Can I modify the trading strategy? A: Yes! The bot is built with a modular architecture that allows easy customization of trading strategies, intervals, and parameters.
Q: How does the Jito integration work? A: Jito mode provides MEV protection and enhanced transaction ordering by using Jito's block engine, improving success rates for high-frequency trading.
Q: What if my wallet runs out of SOL? A: The bot automatically checks balances and will stop operations if insufficient funds are detected, preventing failed transactions.
Q: How do I determine the optimal trading intervals? A: Start with conservative intervals (30-120 seconds for buys, 60-300 seconds for sells) and adjust based on network congestion and token volatility.
Q: What's the recommended number of distribution wallets? A: 5-10 wallets is typically optimal. Too few reduces volume distribution, too many increases complexity and gas costs.
Q: How do I calculate the right buy percentages? A: Consider your risk tolerance: 10-30% is conservative, 30-50% is moderate, 50%+ is aggressive. Always leave buffer for gas fees.
Q: The bot isn't executing trades. What should I check? A: Verify your RPC endpoint, wallet balance, private key format, and token mint address. Check the logs for specific error messages.
Q: Transactions are failing. How can I fix this? A: Ensure sufficient SOL balance, check network congestion, verify slippage settings, and consider enabling Jito mode for better success rates.
Q: How can I monitor the bot's performance? A: The bot provides comprehensive logging with Pino. Monitor transaction signatures, balance changes, and error logs for insights.
Trading & Finance: Solana Trading Bot, Volume Trading, Automated Trading, Pump.fun, DeFi Trading, MEV Protection, Liquidity Provision
Technology: TypeScript, Node.js, Solana Blockchain, Web3, Smart Contracts, Raydium SDK, Jito Protocol
Cryptocurrency: SOL, SPL Tokens, Token Swaps, DEX Trading, Liquidity Pools, Yield Farming, Arbitrage
Development: Trading Algorithm, Bot Development, Blockchain Development, Solana Development, DeFi Development, Open Source
Features: Multi-Wallet Distribution, Configurable Parameters, Real-Time Monitoring, Error Handling, Performance Optimization
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Please feel free to submit issues, feature requests, or pull requests.
- Email: imcrazysteven143@gmail.com
- GitHub: Steven (@imcrazysteven)
- Telegram: @imcrazysteven
- Twitter: @imcrazysteven
- Instagram: @imcrazysteven