Skip to Content
Pump.fun ScalperOverview

Pump.fun Post-Graduation Scalper

The Pump.fun Scalper (pump-fun-scalper) is an automated Solana trading bot that trades pump.fun tokens at the moment they graduate — when a token’s bonding-curve liquidity migrates to the PumpSwap AMM. It screens every graduation through a strict safety engine, enters a small “scalp” position targeting roughly a +50% move, and exits within about a second of any trigger.

Risk warning. Meme-coin scalping is extremely high risk. Empirically ~98% of tokens fail the guardrails, and even accepted trades can lose money. The bot defaults to paper trading and live trading is heavily gated behind a manual checklist, circuit breakers, and a kill switch. Nothing here is financial advice.

What it does

  1. Detect — watches multiple feeds for pump.fun → PumpSwap graduation events, deduplicates across feeds, and confirms each on-chain.
  2. Screen — enriches the candidate (mint authorities, pool reserves, holder concentration, momentum) and runs it through a 10-check guardrail engine (H1–H10) plus soft scoring. A single hard failure vetoes the entry.
  3. Enter — for accepted candidates, opens a risk-gated position sized from a base amount and a momentum multiplier.
  4. Exit — drives a fast exit state machine: take-profit ladder, trailing stop, hard stop, time stop, or an emergency exit (LP pull / dev dump). Live exits are pre-signed for speed.

The design is grounded in research showing that a pumping coin’s graduation → peak → collapse typically plays out in under ~20 minutes, which is why every timeout is measured in seconds and minutes and why exits are engineered to fire in about a second.

Architecture at a glance

Detector → GuardrailPipeline → PositionManager → Executor │ │ │ │ feeds + enrichment + risk-gated mode-gated dedupe H1–H10 checks exit FSM broadcaster

Everything runs in a single process connected by a typed in-process event bus for the lowest possible latency. A durable SQLite database records graduations, candidates, positions, and risk state so the bot can recover after a crash.

Explore the docs

Last updated on