OUTRIDER docs
v1.0.0
Live demo Get help
● Use · pump.fun and DEX memecoins

Memecoin lanes
five hypotheses, each measured.

The memecoin desk watches every pump.fun launch in real time and trades it on paper through the core EV gate and four extra lanes. Each lane has its own ticket, limits, exits and report line, so you can see which one, if any, holds up.

01Where the coins come from

  • pump.fun stream. The PUMP agent subscribes to the pump.fun program's logs over your Solana WebSocket (pump.wsUrl) and decodes every create and trade event itself, with no third-party API. Paper fills use the exact bonding-curve maths. It watches up to 400 new coins at a time.
  • DEX candidates. SCOUT finds new and boosted Solana tokens on DexScreener; RISK applies hard filters and a RugCheck report; SECURITY asks GoPlus for a second opinion and rejects any unknown critical field (fail-closed).
  • Signals. NEWS, SHILL (Telegram mentions) and WHALE (buys by the wallets you follow) add features to the decision.
Pump.fun live panel listing watched coins with age, buyers, net SOL, curve progress and rejection reasons
Sample data. The pump.fun watchlist with the reason each coin is rejected.

02The core EV gate

  1. Hard filters firstLiquidity, age, activity, buy/sell ratio, holder concentration, socials and RugCheck risks for DEX tokens; for pump.fun coins: at least 50 unique buyers, at least 20 SOL net inflow, curve between 5 % and 60 %, dev buy between 0.3 and 10 SOL, the creator's first coin today, no more than 4 bundled wallets in the launch seconds, and no deployer with a dump rate above 50 %. No score overrides a failed filter.
  2. ProbabilityFrom buy pressure, turnover, freshness, momentum, whale buys, Telegram mentions, boosts, news and rug risk, the model estimates p(win), starting from a deliberately pessimistic prior (about 12 % with no signals).
  3. Expected value after costsEV = p·avgWin − (1−p)·avgLoss − pRug·extraRugLoss − costs. Costs are fees, slippage and price impact on both sides, priority tips and failed transactions. The desk enters only when EV ≥ 3 % (ev.minEv).
  4. Size0.2 × Kelly, capped at 2 % of the bankroll per token, at most 5 open positions, 10 % total exposure and a −10 % daily loss stop.
  5. JournalEvery buy, sell, skip and close is written to data/journal.jsonl with the features and numbers behind it.

After 30 or more closed trades, npm run fit fits p(win) on your own journal (fit).

03The four extra lanes

Each lane uses a fixed small ticket in % of paper equity (no Kelly: there is no fitted edge to size from), its own maximum open positions and a 3 % daily loss stop.

LaneEntryTicket · max openExit
MoonshotAn organic burst in a coin's first minute (8–60 s old): ≥ 40 buyers, ≥ 12 SOL net, buy/sell ≥ 2.5, no more than 3 bundled buyers, the 5 largest buyers ≤ 35 % of the buy volume.1 % · 3Stop −20 %, half sold at 2×, the rest on a 30 % trailing stop; out after 60 minutes at the latest.
GraduationA coin at 80–95 % of its curve that gained ≥ 5 % of curve progress in 2 minutes with ≥ 12 buyers and ≥ 8 SOL net.1.5 % · 2Sold when the curve completes (90 % → 100 % is about 1.6× in price, if it completes). Stop −12 %; out after 20 minutes without completion.
RevivalA coin at least 30 minutes old, quiet for 15 minutes, that wakes up with ≥ 12 buyers and ≥ 4 SOL net while ≥ 50 % below its peak.1 % · 2Stop −15 %, take-profits at 1.5× and 2.5×, trailing 20 %; out after 90 minutes.
SmartConsensus of the smart-wallet list: ≥ 3 smart wallets and ≥ 2 SOL in one coin within 10 minutes, not more than 60 % above the first smart buy.1 % · 3Sold when fewer than half of the triggering wallets still hold. Stop −20 %, take-profits at 1.8× and 3×; out after 180 minutes.

Turn a lane on or off, or change its ticket, in the console (Memecoin lanes). All other lane numbers are under pump.lanes.<lane> in src/config.mjs. For research runs: --set pump.lanes.<lane>.enabled=false.

04How exits work

Every position is checked in this order each cycle:

  1. Rug checkLiquidity collapse, or a DEX pair that vanished for 30 minutes (written off at zero). pump.fun positions also exit when the creator sells.
  2. StopThe stop loss, raised by profit-lock tiers once the peak passes set levels.
  3. Take-profit ladderSells set shares at set multiples.
  4. Trailing stopArms once the peak passes its activation level, then sells the rest when the price falls a set percentage from the peak.
  5. Time-based ROI tableThe longer a position is open, the smaller the profit that closes it; the last row forces an exit.

pump.fun core defaults: stop −12 %, 60 % sold at 1.3× and 40 % at 2×, 15 % trail armed at +30 %, forced exit after 10 minutes. DEX defaults: stop −30 %, 50 % at 2×, 25 % at 4×, 25 % trail armed at +100 %, forced exit after 8 hours.

05Exit-quality grades

After every pump.fun close, the desk keeps watching the coin for 30 minutes and grades the exit:

GradeMeaning
excellentTook most of the move, and the price did not run much further.
sold earlySold at a profit, then the coin rose at least 1.5× above the exit.
shaken outStopped out at a loss, then the coin ran above the entry anyway.
round-trippedWas up at least 50 % while held, closed flat or down.
clean stopStopped at a loss and the coin fell further: the stop did its job.
okNone of the above.

With 10 or more graded exits, the report adds one line of advice per lane: widen the trailing stop, lock profit sooner, the stop is too tight, or "the entry filter is the problem, not the exits".

06The cost ledger

Paper results include costs so they are not flattered:

  • pump.fun: the curve fee (125 bps fallback), 2 % latency slippage (you land after other buyers), priority tip per transaction.
  • DEX: 1 % aggregator fee and 1 % extra slippage per side on top of the price-impact estimate, 0.002 SOL tip per transaction, 15 % of transactions assumed late or failed.

npm run report, /lanes and replay print each lane's trades, win rate, average, PnL, the costs paid in SOL and a t-statistic, and say "too few to judge" below 30 trades.

No lane has a proven edge

The lanes exist to be measured. The comments in src/config.mjs record that none of the 288 pump.fun filter combinations the author tested was positive after costs out of sample; the filters only make the paper book lose less. Record, replay and read the report before you believe any lane (What it is not).