Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Solana Pump.Fun Sniper Trading Bot

solana-pumpfun-sniper-trading-bot — a TypeScript sniper for new Raydium CPMM pool launches on Solana, with Redis-backed queuing, multi-tier take-profit, trailing stops, and Jito bundle support.

Built for speed. Engineered for safety.

npm version Node License


About

Solana Trading Sniper Bot monitors Raydium CPMM program logs in real time, detects new pool initialize events, and executes buy/sell logic through a decoupled Redis pipeline — so detection never blocks execution under load.

Packagesolana-pumpfun-sniper-trading-bot
StackTypeScript, Solana Web3.js, Raydium SDK v2, ioredis
TargetRaydium CPMM (CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C)

Features

CapabilityDescription
Real-time detectionWebSocket onLogs subscription to Raydium CPMM
Pool snipingCatches initialize events as new pools go live
Redis queueioredis pipeline — listener → queue → consumer → processor
Signature dedupePrevents double-processing the same pool creation tx
Risk filtersLiquidity threshold, Token-2022 sell tax, revoked mint/freeze authority
Smart exits3-tier take-profit, trailing stop, hard stop-loss
Jito bundlesOptional tip-based bundle submission for faster landing
Validation modenpm run validate — full pipeline dry-run without live trades

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                    SOLANA TRADING SNIPER BOT                     │
└─────────────────────────────────────────────────────────────────┘

  Listener (WS)  →  Redis Queue  →  Consumer  →  Processor  →  Raydium CPMM
       │                 │                                              │
       └──── dedupe ─────┘                              TP / SL / Trail exits

Full design: docs/ARCHITECTURE.md


Quick Start

Prerequisites

  • Node.js 18
  • Solana mainnet RPC + WebSocket endpoint
  • Funded wallet (base58 private key)

Install

git clone https://github.com/fs260338508512481/solana-pumpfun-sniper-trading-bot
cd solana-pumpfun-sniper-trading-bot
npm install
cp .env.example .env
# Edit .env — RPC endpoints, PRIVATE_KEY, REDIS_URL

Run


# Start Solana Trading Sniper Bot
npm start

NPM Scripts

ScriptCommandDescription
startts-node src/index.tsRun bot (dev)
start:prodnode dist/index.jsRun compiled build
validatets-node src/validate.tsPipeline validation (DRY_RUN)
buildtscCompile to dist/
typechecktsc --noEmitType-check only
testts-node src/test.tsManual test helper

Configuration

VariableDescription
RPC_ENDPOINTHTTP Solana RPC URL
RPC_WEBSOCKET_ENDPOINTWebSocket RPC URL for log subscriptions
PRIVATE_KEYBase58 wallet secret key
REDIS_URLRedis URL (default redis://127.0.0.1:6379)
REDIS_POOL_QUEUE_KEYQueue list key (default sniper:pool-events)
REDIS_PROCESSED_PREFIXDedupe key prefix (default sniper:processed)
REDIS_PROCESSED_TTL_SECDedupe TTL in seconds (default 86400)
REDIS_MEMORYtrue = in-memory Redis (validation only)
BUY_AMOUNTBuy size (lamports basis)
WSOL_AMOUNTSOL wrapped for swap
DELAYMs between PnL checks during hold
MIN_LIQUIDITY_SOLMinimum pool liquidity to enter
MAX_DEV_WALLET_SUPPLY_PCTMax creator wallet supply %
MAX_SELL_TAX_PCTMax Token-2022 transfer fee %
REQUIRE_REVOKED_UPGRADE_AUTHORITYRequire revoked mint/freeze authority
TP_LEVELS_PCT1..3Take-profit thresholds (%)
TP_SIZE_PCT1..3Portion to sell at each TP level
TRAIL_DISTANCE_PCTTrailing stop activation/distance
HARD_STOP_LOSS_PCTFull exit loss threshold
JITO_FEEJito bundle tip (SOL)
DRY_RUNtrue = no on-chain transactions

See .env.example for the full template.


Project Structure

solana-pumpfun-sniper-trading-bot/
├── src/
│   ├── index.ts                 # Entry: Redis + listener + consumer
│   ├── validate.ts              # Pipeline validation (dry-run)
│   ├── listener/
│   │   └── cpmm-listener.ts     # Raydium CPMM log subscription
│   ├── queue/
│   │   └── pool-queue.ts        # Redis LPUSH / BRPOP + dedupe
│   ├── redis/
│   │   ├── client.ts            # ioredis connection
│   │   ├── keys.ts              # Key namespaces
│   │   └── memory-store.ts      # In-memory fallback for validate
│   ├── processor/
│   │   └── pool-processor.ts    # Dequeue → parseTransaction
│   ├── types/
│   │   └── pool-event.ts        # PoolCreationEvent type
│   ├── constants/               # Env, RPC, wallet config
│   ├── utils/                   # Trade logic, Jito, helpers
│   └── raydium-cpmm/            # CPMM swap, IDL, PDA helpers
├── docs/
│   └── ARCHITECTURE.md          # Detailed system design
├── package.json
├── tsconfig.json
└── .env.example

Trade Lifecycle

sequenceDiagram
    participant Bot as Solana Trading Sniper Bot
    participant WS as CPMM Listener
    participant R as Redis Queue
    participant C as Consumer
    participant P as Processor
    participant SOL as Solana / Raydium

    Bot->>WS: Start onLogs subscription
    WS->>R: LPUSH pool event (deduped)
    C->>R: BRPOP event
    C->>P: processPoolEvent()
    P->>SOL: Fetch & parse initialize tx
    P->>SOL: Risk checks (liquidity, tax, authority)
    P->>SOL: CPMM buy
    loop PnL monitor
        P->>SOL: Check price vs entry
        P->>SOL: TP / trail / SL sell
    end

Troubleshooting

IssueFix
Exits on startupVerify required .env keys (RPC_ENDPOINT, PRIVATE_KEY, etc.)
No pool eventsConfirm WebSocket RPC supports logsSubscribe
Buys failCheck wallet SOL balance and token account rent
Sells don't triggerReview TP_LEVELS_* and HARD_STOP_LOSS_PCT values

License

ISC — For educational and personal use. Comply with your jurisdiction and DEX terms of service.

关于 About

solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun solana pumpfun
blockchainbotmemecoinsnipersolanasolanasolana-memecoin-sniper-botweb3

语言 Languages

TypeScript100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
108
Total Commits
峰值: 5次/周
Less
More

核心贡献者 Contributors