Skip to content

TradeSEB/solana-pumpfun-bundler

Repository files navigation

Solana Pump.fun Jito Bundler (Rust)

Rust Solana License

A production-grade Rust tool that creates new tokens on Pump.fun and bundles multiple buy transactions from different wallets into a single Jito bundle for fair/stealth launches, anti-snipe protection, and instant volume/price momentum.

Features

  • 🚀 Fair Launch Distribution: Bundles token creation + multiple buy transactions in one block via Jito
  • 🎯 Anti-Snipe Protection: All buys execute atomically in the same block, preventing front-running
  • Instant Momentum: Creates immediate volume and price action on launch
  • 🔐 Multi-Wallet Support: Configurable number of buyer wallets (5-20+)
  • 💰 Randomized Buy Amounts: Organic-looking buy amounts within configurable ranges
  • 🛡️ Safety Features:
    • Dry-run mode for testing without executing
    • Dynamic priority fee estimation
    • Retry logic for bundle sending
    • Rate limiting
    • Graceful shutdown on Ctrl+C
  • 📊 Comprehensive Logging: Detailed logging for bundle construction, sending, and confirmation
  • High Performance: Built with Tokio async runtime

How It Works

Architecture Overview

1. Load Wallets
   ├── Main wallet (creator)
   └── Multiple buyer wallets (5-20+)

2. Generate Token Mint
   └── New keypair for token

3. Build Create Transaction
   ├── Pump.fun create instruction
   ├── Token metadata (name, symbol, URI)
   └── Sign with creator wallet

4. Build Buy Transactions
   ├── One buy per buyer wallet
   ├── Randomized amounts (for organic look)
   └── Sign each with respective wallet

5. Build Jito Bundle
   ├── Create transaction (first)
   ├── All buy transactions
   └── Bundle tip

6. Send to Jito
   ├── Send to multiple endpoints (redundancy)
   └── Wait for bundle landing confirmation

Workflow

  1. Token Creation: Builds a Pump.fun "create" instruction with your token metadata
  2. Buy Preparation: Creates buy instructions for each configured buyer wallet
  3. Bundle Construction: Combines all transactions into a single Jito bundle
  4. Bundle Submission: Sends bundle to Jito block engine endpoints
  5. Confirmation: Monitors bundle status until it lands in a block

Installation

Prerequisites

  • Rust 1.70 or later (Install Rust)
  • Multiple Solana wallets with SOL (main wallet + buyer wallets)
  • A reliable Solana RPC endpoint (recommended: Helius, QuickNode, or similar)
  • Jito block engine endpoint access

Build from Source

# Clone the repository
git clone https://github.com/yourusername/solana-pumpfun-bundler.git
cd solana-pumpfun-bundler

# Build in release mode (optimized for performance)
cargo build --release

# The binary will be at: target/release/pumpfun-bundler

Configuration

Environment Variables

Create a .env file in the project root (see .env.example for template):

# Required: Solana RPC endpoint
RPC_URL=https://api.mainnet-beta.solana.com

# Required: Jito block engine endpoints (comma-separated)
JITO_ENDPOINTS=https://mainnet.block-engine.jito.wtf

# Required: Main wallet (creator) - choose one:
MAIN_PRIVATE_KEY_BASE58=your_main_wallet_base58_key_here
# OR
# MAIN_MNEMONIC=word1 word2 word3 ... word12

# Required: Buyer wallets (comma-separated base58 keys)
BUYER_KEYS_BASE58=key1,key2,key3,key4,key5,key6,key7,key8,key9,key10

# Trading Configuration
NUM_BUYERS=10                    # Number of buyer wallets to use
BUY_AMOUNT_SOL=0.1              # Average buy amount per wallet
MIN_BUY_AMOUNT_SOL=0.05         # Minimum buy amount (for randomization)
MAX_BUY_AMOUNT_SOL=0.5          # Maximum buy amount (for randomization)

# Token Configuration
TOKEN_NAME=MyMemeCoin            # Token name
TOKEN_SYMBOL=MEME                # Token symbol
METADATA_URI=https://example.com/metadata.json  # Metadata JSON URI

# Bundle Configuration
BUNDLE_TIP_LAMPORTS=10000        # Jito bundle tip
PRIORITY_FEE_MICRO_LAMPORTS=100000  # Priority fee (0.0001 SOL)

# Transaction Configuration
MAX_COMPUTE_UNITS=1400000

# Execution Mode
DRY_RUN=true                     # Set to false to execute real transactions

# Rate Limiting
RATE_LIMIT_MS=100
BUNDLE_RETRY_ATTEMPTS=3

CLI Arguments

You can override environment variables using CLI arguments:

# Run with custom number of buyers
./target/release/pumpfun-bundler --num-buyers 15

# Set custom buy amount
./target/release/pumpfun-bundler --buy-amount 0.2

# Set token name and symbol
./target/release/pumpfun-bundler --token-name "MyMeme" --token-symbol "MEME"

# Set metadata URI
./target/release/pumpfun-bundler --metadata-uri "https://example.com/meta.json"

# Set bundle tip
./target/release/pumpfun-bundler --bundle-tip 20000

# Enable dry-run mode
./target/release/pumpfun-bundler --dry-run

# Set custom Jito endpoints
./target/release/pumpfun-bundler --jito-endpoints https://endpoint1.com,https://endpoint2.com

# Set log level
./target/release/pumpfun-bundler --log-level debug

Project Structure

solana-pumpfun-bundler/
├── src/
│   ├── main.rs          # CLI entrypoint and main workflow
│   ├── config.rs        # Configuration management
│   ├── wallet.rs        # Multi-wallet loading
│   ├── pumpfun.rs       # Pump.fun instruction builders
│   ├── bundle.rs        # Jito bundle construction and sending
│   └── utils.rs         # Helper functions
├── Cargo.toml           # Dependencies and project metadata
├── .env.example         # Environment variable template
├── .gitignore          # Git ignore rules
└── README.md           # This file

Support

Releases

No releases published

Packages

 
 
 

Contributors