Memecoin Trading Bots on Solana: A Comprehensive Bot Suite Toolkit
https://github.com/HZCX404/memecoin-trading-bots/releases
Overview
- A Solana trading bot package that brings together a powerful set of automation tools for memecoin trading on the Solana network. The project package includes a wide range of bots and utilities, from precise entry snipers to volume trackers, bundlers, and copy trading helpers. The goal is to give researchers, traders, and developers a coherent toolkit to study, compare, and deploy automated strategies in a structured and scalable way.
- This repository hosts a broad suite of bots designed to work with Raydium, Pumpswap, and Bonkfun ecosystems, among others. It also includes bundlers and helpers that stitch multiple bots together into streamlined workflows. You can mix and match components to suit your strategy, test ideas, and scale them as your needs grow.
- The project follows a modular, monorepo approach. Each bot or module lives in its own folder, with clear interfaces and lightweight integration points. This makes it easier to extend, replace, or swap components without breaking the whole system.
- The topics cover the core areas of the project: arbitrage, bundling, memecoin dynamics, Raydium, Pumpswap, Meteora, Bonkfun, and cross-language tooling (Python, Rust, TypeScript). These topics map to real-world use cases and research opportunities in decentralized trading on Solana.
Why this project exists
- The Solana ecosystem has grown fast, bringing bursts of liquidity and new memecoins. Traders need reliable automation to spot opportunities, manage risk, and execute strategies with speed. This package aims to provide a solid foundation for building, testing, and running automated strategies in a repeatable way.
- The bots in this suite are designed to be understandable, observable, and configurable. They focus on concrete tasks like scanning liquidity pools, monitoring order books, executing trades, and coordinating actions across multiple protocols.
- By offering a common framework, developers can contribute new bots or improve existing ones without reinventing the wheel. The project emphasizes transparency, reproducibility, and clean separation of concerns.
Getting started
- This repository is designed for developers who want to explore, extend, and run automated strategies on Solana. It is not a consumer product; it is a toolkit that can be used to build research experiments, backtests, and live bots with real accounts. The instructions below guide you through setting up a local environment, understanding the components, and getting a first bot running.
- On the releases page you will find downloadables for prepared bundles and binaries. From the releases page, download the appropriate file for your platform and execute the included program or script. For details, see the Releases section later in this document. The releases page can be accessed here: https://github.com/HZCX404/memecoin-trading-bots/releases
Bots included in the suite
- Raydium-Sniper-Bot: A precise entry helper that watches specific Raydium pools for favorable price-action and liquidity conditions. It uses lightweight on-chain checks to decide when to place targeted orders.
- Raydium-Volume-Bot: A volume-based engine that tracks trade activity, liquidity changes, and price movement in Raydium pools. It focuses on detecting momentum bursts and volume anomalies.
- Pumpfun/Pump.fun-To-Pumpswap-Bundler: A bundler that coordinates Pumpfun logic with Pumpswap routes, enabling multi-hop paths, price checks, and route selection across the two platforms.
- Copy-Trading-Bot: A governance-friendly bot that mirrors a trusted strategy from a master account to a set of followers. It provides configurable risk and sizing controls.
- Arbitrage-Bot: A cross-pool and cross-exchange arbitrage engine designed to identify and exploit price differentials between Solana-based pools and markets.
- Pumpfun-Bundler: A bundler that coordinates Pumpfun logic across multiple sources, enabling more complex orchestrations and conditional flows.
- Pumpfun-Sniper-Bot: A sniper that leverages Pumpfun signals to time entries on Pumpfun-supported pools with precision.
- Meteora-Volume-Bot: A high-signal volume bot leveraging Meteora-era data streams to infer demand shifts and liquidity changes.
- Pumpfun-Volume-Bot: A volume-tracking bot focused on Pumpfun ecosystems, providing a robust view of activity trends.
- Bonkfun/Bonk.fun-Volume-Bot: A volume monitor tuned for Bonkfun liquidity and price dynamics, designed to detect meaningful shifts in the Bonk ecosystem.
Architecture and design philosophy
- Modularity: Each bot or utility is a self-contained module with a clear interface. This makes it easy to add, replace, or test components.
- Language distribution: The project uses Python for rapid development and research workflows, Rust for performance-critical tasks, and TypeScript for tooling and orchestration. This mix aims to combine speed, safety, and developer productivity.
- Observability: The framework emphasizes logs, metrics, and traces. This makes it easier to diagnose issues, compare strategies, and reproduce results.
- Safety and governance: The system supports risk controls, such as maximum exposure, order-size limits, and cooldowns between actions. You can tune these to align with your risk tolerance.
- Reproducibility: Config files, environment variables, and a deterministic flow help ensure that experiments can be repeated and compared effectively.
Tech stack and core components
- Python: Strategy logic, data ingestion, and high-level orchestration.
- Rust: Performance-sensitive modules, message passing, and critical computation paths.
- TypeScript: Command-line interfaces, helpers, and tooling that glue components together.
- Solana RPC and on-chain data: The bots rely on Solana RPC nodes to fetch real-time data and to submit transactions.
- DeFi protocol integrations: Raydium, Pumpswap, and related ecosystems form the primary trade targets.
- Data handling: Lightweight, streaming-friendly data structures with thoughtful memory usage to handle high-frequency scenarios.
Installation prerequisites
- Operating system: Linux or macOS for development and testing; Windows via WSL is possible but not the primary target.
- Rust toolchain: rustc and cargo are required for building Rust components.
- Python: A modern Python distribution (3.11+ recommended). Virtual environments are advised.
- Node.js: A current LTS version for TypeScript tooling and CLI utilities.
- Solana CLI: Core tooling to interact with the Solana cluster, manage keys, and test on devnet or testnet.
What you’ll learn by reading this README
- How the bots are structured, how they connect to Solana, and how they coordinate via bundles.
- How to configure and run the bots safely and predictably.
- How to extend the system with new bots, data sources, or execution strategies.
- How to test new ideas quickly using a local or sandboxed environment.
- How to fetch and use releases to quickly bootstrap experiments.
Project structure at a glance
- bots/
- raydium_sniper/
- raydium_volume/
- pumpfun_sniper/
- pumpfun_volume/
- meteora_volume/
- bonkfun_volume/
- copy_trading/
- arbitrage/
- pumpfun_bundler/
- pumpfun_to_pumpswap_bundler/
- core/
- common/utils/
- solana_client/
- protocol_adapters/
- tooling/
- cli/
- scripts/
- config/
- tests/
- unit/
- integration/
How to install locally
- Clone the repository:
- Set up Python environment:
- cd memecoin-trading-bots
- python3 -m venv .venv
- source .venv/bin/activate
- pip install -r requirements.txt
- Set up Rust:
- rustup update
- cargo --version
- Set up TypeScript tooling:
- npm install -g npm@latest
- npm --version
- Install local Solana tooling:
- sh -c "$(curl -sSfL https://release.solana.com/v1.14.15/install.sh)"
- export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
- solana --version
- Optional: use a virtual environment manager or a project-specific setup script if provided by the repo.
Configuration and secrets
- Environment variables: The bots rely on environment variables for keys, RPC endpoints, and strategy parameters. Common variables include:
- SOLANA_RPC_URL: The RPC endpoint to use (e.g., https://api.mainnet-beta.solana.com or a private node).
- WALLET_KEYPAIR: Path to a Solana keypair file for signing transactions.
- PROGRAM_IDs: Selector for protocol on-chain programs used by bots.
- API_KEYS: If you connect to any external data feeds, store keys securely in the environment or a vault.
- STRATEGY_PARAMS: JSON string or YAML path for strategy-specific parameters like risk limits, order sizes, slippage tolerance, cooldowns, etc.
- Configuration files:
- config/bots.yaml: Per-bot configuration blocks with enable/disable flags, thresholds, and routing policies.
- config/rpc.yaml: RPC connection settings, retry policies, and timeouts.
- config/thresholds.yaml: Sensitivity and risk controls for entry, exit, and position sizing.
- Secrets management:
- Do not hard-code private keys in code or config files.
- Use a local environment or a secrets vault to inject sensitive values at runtime.
- Rotate keys regularly and monitor for unauthorized access.
Running a first bot
- Pick a bot to start with, such as Raydium-Sniper-Bot.
- Ensure dependencies are installed:
- Python, Rust, and Node.js as described above.
- Prepare a basic configuration:
- Create a config file with RPC URLs, paths to keys, and a safe initial strategy (e.g., small order size, test mode).
- Run the bot:
- For Python-based bots:
- python -m memecoin_bots.raydium_sniper --config config/bots.yaml
- For Rust-based components:
- cargo run --bin raydium_sniper --release --config config/bots.yaml
- For TypeScript tooling:
- npm run start -- --config config/bots.yaml
- For Python-based bots:
- Observe logs:
- Look for connection messages, data feed status, and any errors.
- Validate that the bot is reading prices, updating state, and submitting orders according to your configuration.
- Safety checks:
- Start in a non-production environment or on a testnet-like simulation if available.
- Monitor the bot’s exposure and ensure that risk limits are applied (max position size, max trades per day, cooldowns).
Bundlers and orchestrations
- Bundlers are designed to connect multiple bots and manage their interactions. Examples include Pumpfun-Bundler and Pumpfun-To-Pumpswap-Bundler.
- Use bundlers to coordinate complex workflows. For instance, a bundler may trigger a Raydium-Sniper-Bot when volume conditions align with a Pumpswap arbitrage path.
- Bundlers help reduce drift between bots, align timing, and simplify multi-bot strategies.
Arbitrage and cross-protocol dynamics
- Arbitrage-Bot scans for price differences across pools and pools paired with market quotes. It seeks opportunities where a trade on one pool can be offset by a corresponding trade on another pool with a net positive return after fees.
- Practical considerations:
- Latency: Arbitrage requires fast data and execution. Opt for low-latency RPC endpoints and well-tuned timeouts.
- Fees: Account for swap fees, network fees, and potential slippage costs.
- Risk: Arbitrage can reduce risk in some scenarios but may introduce new risks if markets move suddenly.
Copy trading and strategy sharing
- Copy-Trading-Bot lets you mirror signals from a master account to a group of follower accounts.
- Controls:
- Position sizing per follower
- Risk caps and drawdown limits
- Signal delay and slippage settings
- This is a helpful way to test a strategy across multiple accounts while maintaining centralized control over risk.
Volume-focused bots
- Meteora-Volume-Bot, Pumpfun-Volume-Bot, and Raydium-Volume-Bot focus on liquidity and activity as a signal source.
- They monitor liquidity changes, order flow, and price movement to infer momentum shifts.
- Use cases:
- Trigger entries when liquidity inflows align with favorable price action.
- Detect sudden spikes that may precede rapid price moves.
- Balance risk by combining volume signals with price filters.
Bundles and modular workflows
- Bundlers provide the glue between individual bots. They implement sequencing, conditional logic, and routing decisions.
- Typical patterns:
- Signal -> Evaluate risk -> Execute order through Raydium or Pumpswap
- Volume spike -> Validate with Binance-like arbs -> Place opportunistic trade
- Copy-trading signal -> Scale across multiple accounts
- The framework favors explicit, testable flows. You can inspect the bundler logic to see how decisions are made and what happens on exceptions.
Data access and reliability
- Data sources:
- On-chain data from Solana RPC endpoints
- Protocol-specific data from Raydium, Pumpswap, Bonkfun adapters
- Supplemental data from Meteora streams or other feeds
- Reliability considerations:
- Rate limits: Respect RPC and API limits to avoid blacklisting or throttling.
- Time synchronization: Ensure clocks are accurate to avoid mis-timed trades.
- Failures: Built-in retry logic and fallback plans for each bot.
- Observability:
- Centralized logging per bot
- Metrics for latency, success rate, and error counts
- Optional dashboards to visualize performance over time
Development practices and testing
- Local development workflow:
- Run bots in a test environment with mock data or simulated market conditions.
- Use unit tests for individual components and integration tests for bot pipelines.
- Versioning and releases:
- Use semantic versioning for releases and follow a clear changelog practice.
- The Releases page contains prebuilt bundles and binaries for quick experimentation.
- From the releases page, download the appropriate file for your platform and execute the included program or script.
- CI/CD:
- Continuous integration checks build integrity for each bot module.
- Linting and type checks ensure code quality across Python, Rust, and TypeScript components.
- Integration tests exercise cross-module behavior in a controlled environment.
Tests and quality checks
- Unit tests cover:
- Data parsing and normalization
- Signal generation logic
- Basic execution path and error handling
- Integration tests cover workflow scenarios:
- A signal triggers an execution path through multiple bots
- A bundle orchestrates a multi-bot sequence
- A failure path gracefully degrades or retries
- Coverage goals:
- Strive for high coverage on core modules such as data adapters, signal logic, and execution paths.
- Maintain tests that are deterministic and reproducible.
Security and risk considerations
- Private keys and sensitive data must be protected. Use vaults or secure environment handling to inject secrets at runtime.
- Auditing: Keep a clear log of all actions and decisions. This helps reproduce issues and evaluate strategies.
- Access control: Limit who can modify bot configurations or trigger live trades.
- Backtesting: Validate new ideas with historical data where possible, then run in a controlled live environment.
Extending the project
- Adding a new bot:
- Create a modular bot that implements the standard interface (data input, decision logic, execution output).
- Add tests for the new bot.
- Wire it into a bundler or orchestration script to participate in combined workflows.
- Introducing new data sources:
- Implement adapters to fetch and normalize data from a new source.
- Ensure the data is consistent with existing interfaces.
- Improving performance:
- Profile bottlenecks and optimize critical paths in Rust or Python code.
- Consider asynchronous workflows to improve throughput.
Contributing and collaboration
- This project welcomes contributors who want to explore, improve, or extend the bot suite.
- Before contributing:
- Review the coding standards and contribution guidelines in CONTRIBUTING.md.
- Ensure new changes pass existing tests and add new tests where needed.
- How to contribute:
- Fork the repository and create a feature branch.
- Implement changes with clear, well-documented code.
- Submit a pull request with a detailed description of the changes and the motivation behind them.
- Community guidelines:
- Keep discussions respectful and focused on technical improvements.
- Use issue trackers to report bugs, request features, or propose ideas.
Usage examples and practical scenarios
- Quick scenario: A Raydium-based sniper detects favorable liquidity and a low slippage window. The Raydium-Sniper-Bot triggers a limit-like order, validated by a lower-risk parameter set, and the bundler coordinates a quick exit strategy if the price moves adversely.
- Arbitrage scenario: The Arbitrage-Bot identifies a price difference between Raydium and Pumpswap pools. It constructs a sequence of swaps to lock in a profit after fees, with a fallback path if one leg cannot fill.
- Copy trading scenario: An experienced trader shares signals through the Copy-Trading-Bot to a group of followers. Each follower's risk profile dictates the final allocation and the maximum exposure, ensuring consistent execution across accounts.
Pricing and licensing
- The project is provided as an open toolkit. The code and assets in this repository are distributed under a permissive license that encourages learning, modification, and use in research and development contexts.
- Please review the LICENSE file in the repository for full terms.
Release note and download guidance
- The releases page contains ready-to-use bundles and binaries for various platforms. From the releases page, download the appropriate file for your platform and execute the included program or script.
- If you are looking for the latest changes or want to see what’s added in the most recent release, check the Release Notes on the same page. The releases page link is provided above and repeated here for quick access: https://github.com/HZCX404/memecoin-trading-bots/releases
FAQ
- Which languages are used in this project?
- Python for strategy logic and orchestration, Rust for performance-critical components, and TypeScript for tooling and CLI interfaces.
- How do I test a new bot?
- Set up a local test environment, mock data, and unit tests for the bot’s decision logic. Run integration tests in a controlled workflow to verify end-to-end behavior.
- Where can I find prebuilt bundles?
- The Releases page is the primary source for prebuilt bundles and binaries. From the releases page, download the appropriate file for your platform and execute the included program or script. The link can be accessed here: https://github.com/HZCX404/memecoin-trading-bots/releases
Changelog (high-level)
- This repository evolves with releases that add new bots, optimizations, and integration improvements. Each release includes notes on major changes, bug fixes, and migration considerations. Check the Releases section for detailed versions and update guidance.
Design decisions and rationale
- Readability and accessibility: The codebase favors clear interfaces and well-documented modules. This helps new contributors understand how to plug in a new bot or adjust a bundler.
- Reliability: The system uses robust error handling, retry logic, and explicit state management. This makes live operation safer and easier to audit.
- Extensibility: New bots or adapters can be added without breaking existing components. The module boundaries are designed to minimize cross-cutting concerns.
Glossary of terms
- Bot: A program that makes automated decisions and actions on a blockchain-based market.
- Sniper: A bot that targets a specific entry condition with high precision, aiming to catch favorable moments.
- Bundler: A component that groups and sequences actions from multiple bots into a single workflow.
- Arbitrage: A trading strategy aimed at profiting from price differences across markets or pools.
- Raydium, Pumpswap, Bonkfun: Solana-based liquidity and trading platforms that this suite interacts with.
Acknowledgments
- The project draws on the Solana ecosystem, DeFi concepts, and common practices in automated trading. The design reflects a collaborative spirit and a commitment to building useful tooling for researchers and developers.
Notes on compatibility and environment
- The bots are designed for Solana-compatible environments with access to legitimate RPC endpoints and key management. Operation on test networks is recommended for experimentation. When deploying to production, ensure you maintain proper risk controls and monitor activity and performance closely.
Community and resources
- For questions, discussions, or collaboration, use the repository’s Issues and Discussions sections. The project thrives on practical feedback from users who are actively building and testing in real environments.
Releases and downloads
- The releases page is the primary source for prebuilt bundles, scripts, and artifacts. From the releases page, download the appropriate file for your platform and execute the included program or script. The link to the releases page is provided at the top of this document and again here for convenience: https://github.com/HZCX404/memecoin-trading-bots/releases
Bots and modules in detail
- Raydium-Sniper-Bot
- Purpose: Identify precise moments to enter a trade in Raydium pools with tight slippage tolerance.
- How it works: Monitors pool reserves, price behavior, and pool depth to surface actionable signals. It then places targeted orders respecting configured risk controls.
- Important flags: max order size, slippage tolerance, cooldown period after execution, and price delta thresholds.
- Raydium-Volume-Bot
- Purpose: Track volume and liquidity shifts in Raydium pools to gauge momentum.
- How it works: Aggregates on-chain events and pool-level metrics to derive momentum indicators. It prompts action when momentum aligns with other signals.
- Important flags: volume window, threshold for momentum, and exit timing rules.
- Pumpfun-Pump.fun-To-Pumpswap-Bundler
- Purpose: Coordinate pumpsfun-driven signals with Pumpswap routing to exploit price differences.
- How it works: Evaluates multiple routes, estimates fees and slippage, and executes sequences of swaps when criteria are met.
- Important flags: routing strategy, fee assumptions, and order pacing.
- Copy-Trading-Bot
- Purpose: Replicate strategies from a trusted source to a set of follower accounts.
- How it works: subscribes to signals, scales position sizes by follower profiles, and enforces per-account risk limits.
- Important flags: follower accounts list, risk cap per account, and signal delay.
- Arbitrage-Bot
- Purpose: Find and capture price differentials across pools and markets.
- How it works: Monitors multiple sources, calculates net profit after fees, and submits hedged or sequential trades when profitable.
- Important flags: profit threshold, latency budget, and maximum exposure.
- Pumpfun-Bundler
- Purpose: Orchestrate Pumpfun-driven logic across multiple components.
- How it works: Coordinates conditional flows and ensures correct sequencing for pumpfun-driven strategies.
- Important flags: conditional criteria, timeouts, and fallback paths.
- Pumpfun-Sniper-Bot
- Purpose: Sniper for Pumpfun-enabled pools using Pumpfun signals.
- How it works: Watches specific pools, compares to target conditions, and executes orders with strict risk controls.
- Important flags: signal confidence threshold, order sizing, and cooldown.
- Meteora-Volume-Bot
- Purpose: Leverage Meteora-volume signals to detect shifts in demand.
- How it works: Processes streaming data to identify anomalies and triggers entries when signals align with price conditions.
- Important flags: anomaly threshold, volume windows, and exit rules.
- Pumpfun-Volume-Bot
- Purpose: Monitor Pumpfun ecosystem volume for timely entries.
- How it works: Analyzes flow of trades and liquidity to determine entry opportunities.
- Important flags: sensitivity, time horizon, and risk guardrails.
- Bonkfun/Bonk.fun-Volume-Bot
- Purpose: Track Bonkfun liquidity and price dynamics to spot favorable moves.
- How it works: Uses pool-level metrics and on-chain activity to surface actionable signals.
- Important flags: liquidity drift threshold, price deviation, and position cap.
Final notes
- This README emphasizes clarity, modularity, and practical guidance. It aims to support researchers and developers who want to explore automated strategies on Solana, test ideas, and build robust trading workflows.
- For updates, refer to the Releases page. The link above is the gateway to new bundles and practical download-ready assets that accelerate experiments. Access it here: https://github.com/HZCX404/memecoin-trading-bots/releases
End of document
