A production-oriented CLI for generating on-chain trading volume on StonkFun LaunchLab bonding curves on Solana. The bot coordinates multiple funded wallets through automated buy-and-sell cycles, with configurable sizing, timing, budget controls, and graduation safeguards.
Developed by CoolBB Agency — Web3 infrastructure, trading automation, and token launch tooling.
| Platform | StonkFun |
| Protocol | Raydium LaunchLab bonding curve |
| Runtime | Node.js 18+, TypeScript |
| Chain | Solana mainnet-beta |
Tokens launched on StonkFun trade on a Raydium LaunchLab constant-product bonding curve before graduating to a Raydium CPMM pool. While a token remains on the curve (status: new or aboutToGraduate), this bot:
- Resolves your token's pool, quote asset, and graduation progress via StonkFun API + on-chain state.
- Distributes activity across a pool of wallets using round-robin selection.
- Executes a buy → delay → sell cycle on each eligible wallet.
- Tracks cumulative volume, fees, and spend against operator-defined limits.
- Halts automatically when safety thresholds are reached or on graceful shutdown.
Supported quote assets (v1): SOL and xStocks (SPYx, NVDAx, TSLAX, etc.).
┌─────────────┐ ┌──────────────┐ ┌───────────────────┐
│ CLI │────▶│ BotRunner │────▶│ WashVolumeStrategy│
│ (index.ts) │ │ (runner.ts) │ │ (washVolume.ts) │
└─────────────┘ └──────────────┘ └─────────┬─────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ WalletPool │ │ LaunchLab │ │ QuoteEngine │
│ (pool.ts) │ │ Trader │ │ (quote.ts) │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
Solana RPC + Raydium LaunchLab
StonkFun REST API
- Node.js 18+
- A StonkFun token still on its LaunchLab bonding curve (not graduated)
- Funded wallets with sufficient quote asset and SOL for fees
- Private keys (base58 or JSON byte array) via env or key file
- Dedicated Solana RPC (Helius, Triton, etc. — public RPC will rate-limit)
npm install
cp .env.example .env
# Edit .env with your TOKEN_MINT, RPC_URL, and WALLET_KEYS| Variable | Purpose | Default |
|---|---|---|
TOKEN_MINT |
Target StonkFun token mint | required |
RPC_URL |
Solana RPC endpoint | public mainnet |
WALLET_KEYS / WALLET_KEYS_FILE |
Base58 secret keys | required |
MIN_TRADE_QUOTE / MAX_TRADE_QUOTE |
Trade size range | 0.01 / 0.1 |
SLIPPAGE_BPS |
Slippage tolerance | 100 |
MIN_DELAY_MS / MAX_DELAY_MS |
Buy→sell delay | 3000 / 15000 |
CYCLE_INTERVAL_MS |
Delay between cycles | 5000 |
MAX_TOTAL_SPEND_QUOTE |
Budget cap | 1.0 |
MAX_CYCLES |
Cycle limit (0 = unlimited) | 0 |
MAX_GRADUATION_PROGRESS_PCT |
Stop before graduation | 90 |
MIN_WALLET_SOL |
Minimum SOL reserve | 0.02 |
MIN_WALLET_QUOTE |
Minimum quote reserve | 0.05 |
COMPUTE_UNIT_PRICE |
Priority fee (microlamports) | 50000 |
DRY_RUN |
Simulate without sending txs | true |
Each wallet needs:
- SOL for trades (
MAX_TRADE_QUOTE× expected cycles) - SOL for transaction fees and rent (~0.02–0.05 SOL)
Each wallet needs:
- Quote token balance (xStock Token-2022) for trades
- SOL for transaction fees and ATA rent (~0.02–0.05 SOL)
The bot does not auto-acquire xStocks — fund wallets manually before starting.
# Check token status and wallet balances
npm run status
# Preview a round-trip quote (no transactions)
npm run quote -- --amount 0.05
# Run the bot (respects DRY_RUN setting)
npm run start
# Type-check
npm run build
# Run unit tests
npm test- Graduation cap — stops when curve progress reaches
MAX_GRADUATION_PROGRESS_PCT - Ready-to-graduate — stops if quote vault meets graduation threshold
- Budget limit — stops when cumulative buy spend exceeds
MAX_TOTAL_SPEND_QUOTE - Cycle limit — stops after
MAX_CYCLES(when > 0) - Dry-run default —
DRY_RUN=trueprevents accidental live trades - Graceful shutdown —
Ctrl+Cfinishes the current cycle and prints metrics
Reward-mode tokens carry a Token-2022 transfer tax (1–3%). The bot warns at startup; consider higher SLIPPAGE_BPS.
- Set
DRY_RUN=true, runnpm run status— verify token resolves and wallets show balances - Run
npm run quote -- --amount 0.01— verify round-trip quote looks reasonable - Set
MAX_CYCLES=3,MIN_TRADE_QUOTE=0.001,MAX_TRADE_QUOTE=0.005 - Set
DRY_RUN=falsewith a single funded wallet - Run
npm run start— confirm 3 cycles complete and metrics print - Verify transactions on Solscan
This software is provided for legitimate use cases such as testing and liquidity activity. Artificial volume generation may violate platform terms of service or applicable regulations depending on jurisdiction. Operators are solely responsible for compliance.
Private — CoolBB Agency. All rights reserved.