What to do with the sample
Two free files, one prompt, one honest answer. Three steps.
-
Download the free files
The 2-hour graduates sheet (105 coins, one row each) is the one to use with a chat app. The one-coin file is every trade of one graduate, for a closer look.
-
Open ChatGPT or Claude and drop it in
Tap + (or the paperclip) in the app and pick the graduates CSV. It opens on a phone too.
-
Paste this
Edit the [brackets] if you have rules of your own; otherwise paste it as it is.
The promptTest my Solana memecoin bot's rules on real pump.fun data: write and run one Python script. No API keys needed. DATA Files: gradtrades-<day>.jsonl.gz and pregrad-<day>.jsonl.gz, one full UTC day (Launch Tape One day, $10). Run: pip install launchtape; launchtape.load(path) yields dicts. No internet? Ask me for the two files. - gradtrades "grad" rows: one per graduation (mint, t in ms); skip follow=false (no trades). - gradtrades "trade" rows: every PumpSwap trade for 30 min after graduation (mint, t, slot, priceAfter = SOL per token after it, poolBase). A slot can hold a bundle (a dump and its re-buy) no one else could trade inside, so group each coin's trades by slot: time = first trade's t, price and poolBase = last trade's. - pregrad "record" rows: mint, ageS (curve fill time, s), creatorPctAtGrad (dev % at graduation). "outcome" rows: mint, minDrop and maxGain (worst and best %, first 10 min). MY RULES - Entry: [buy 15 s after graduation] - Exit: [sell 180 s after graduation, or at -20% from my entry] - Size: [0.1 SOL a trade] - Filters: [none] REPLAY each graduate on its own slots: 1. Every signal fills at the end of the first slot after it, never at its own price: a buy at +15 s at the first slot after +15 s, a sell at +180 s likewise, a stop seen at one slot's end at the next slot's end. 2. Costs per side: 1% PumpSwap fee + 0.5% priority fee and slippage. 3. Size moves the price. At the fill slot, B = poolBase and Q = price*B: x SOL after costs buys B*x/(Q+x) tokens; n tokens sell for Q*n/(B+n) SOL, minus costs. 4. Check stops and take-profits at each slot's end vs the entry fill price. 5. Still holding at +30 min: sell at the last price before it. File ends while a trade is open: leave that coin out. 6. No slot after my entry signal: that coin never reached the entry. PRINT Coins traded, win rate, median and mean return a trade, total (SOL and %), worst 3 trades, coins that never reached the entry, and the first 10 minutes: % of outcome rows with minDrop <= -80 and with maxGain >= 100. Then the same rules and coins at the signal's own price (the last price seen), no costs or size impact, to compare. Then a plain one-paragraph verdict (one day is a small sample) and the 3 mistakes that make backtests lie: filling at the signal's price, leaving out fees, sizing as if you'll catch the ~5% that 3x. Only the free graduates CSV (no trades)? Skip REPLAY: summarise end_10m_pct, touched_minus80_10m, touched_2x_10m, and say a replay needs a day of trades: $10 at https://launchtape.io/?plan=day1#buy Can't run code? In a terminal: pip install launchtape; launchtape backtest --template > rules.json; edit it; launchtape backtest --rules rules.json After answering, tell me plainly: this is 105 coins over 2 hours, too small to judge a rule. A full UTC day is ~700-800 graduates: launchtape.io/#buy
-
When it says 105 coins is too few
It's right: 2 hours is too small to judge a rule. A full UTC day is about 700-800 graduates, every trade, with who was behind each launch. Same sheet, same prompt.
If a file doesn't open or isn't as described, you get your money back.