๐Ÿ› ๏ธChapter 9 ยท Reference ยท 12 min read

PumpStriker Troubleshooting & FAQ

By Bathyr Devs ยท Published June 24, 2026

Bookmark this page. Almost every issue you'll hit in your first 90 days is below. Search this page (Ctrl+F) for the error message before asking for help.


How to read your logs first

Before you panic, look at the logs. Every error in this bot leaves a fingerprint.

On your local machine: the terminal windows where you ran npm run engine and npm run bot show live logs. Scroll up.

On your VPS (PM2):

pm2 logs --lines 100 # Last 100 lines from both processes pm2 logs pumpstriker-engine # Engine only pm2 logs pumpstriker-bot # Bot only pm2 logs --err # Errors only

Stored log files live in pumpstriker/logs/engine-<date>.log and bot-<date>.log.


Installation issues

โŒ npm install fails with node-gyp errors (Windows)

Cause: You're missing the C++ build toolchain. Fix: Install Visual Studio Build Tools 2022 from visualstudio.microsoft.com/downloads, pick the "Desktop development with C++" workload, reboot, then re-run npm install.

โŒ gyp ERR! find Python

Install Python 3.11 from python.org. On Windows, check "Add Python to PATH" in the installer, then re-open your terminal.

โŒ EACCES: permission denied, mkdir (Linux / Mac)

Do NOT use sudo for npm. Instead:

sudo chown -R $USER ~/.npm rm -rf node_modules package-lock.json npm install

โŒ onnxruntime-node build fails

The ML runtime is optional, the bot runs without it:

npm install --omit=optional

Then set ENABLE_ML_FILTER=0 in .env.


Engine issues

โŒ Engine starts but says Missing HELIUS_KEY

Cause: .env not found or in wrong folder. It must be in the same folder as package.json, named exactly .env (not .env.txt). On Windows, enable View โ†’ File name extensions in File Explorer to confirm.

โŒ โœ— Helius WebSocket FAILED 401 Unauthorized

Wrong or expired Helius key. Log in to helius.dev, confirm your key is active, copy it exactly (no quotes, no spaces, no Bearer), replace in .env everywhere (HELIUS_KEY, HELIUS_RPC_URL, HELIUS_WSS_URL, HELIUS_SEND_URL), and restart the engine.

โŒ Helius WS error: 429 Too Many Requests

Free tier allows 1 concurrent WebSocket. Set ENABLE_HELIUS_WS=0 to use QuickNode instead, or upgrade Helius to the Developer plan ($49/mo).

โŒ Engine boots but 0 tokens spotted in 5 minutes

Possible causeHow to verifyFix
WebSocket disconnected silentlypm2 logs --lines 50, look for โœ“ Helius WebSocket CONNECTEDRestart engine: pm2 restart pumpstriker-engine
QuickNode endpoint expiredConsole at quicknode.com shows endpoint inactiveGenerate a new endpoint, update .env, restart
Solana mainnet is genuinely quietCheck pump.fun, are new tokens appearing?Wait. PumpFun has lulls. Active hours: 02-06 UTC, 14-20 UTC
MIN_SIGNAL_SCORE set too highLook at the engine logs, are tokens being scored at all?Lower threshold to 60 in .env temporarily

โŒ Engine eats 100% CPU / OOM-killed

RAM is too low. If on a local 4 GB laptop, expected, move to a VPS. If on an 8 GB VPS, upgrade to 16 GB. Quick mitigation: raise MIN_SIGNAL_SCORE to 80 (fewer tokens cached for monitoring).


Telegram bot issues

โŒ Bot starts but never DMs me

You never tapped Start on your bot, or TG_CHAT_ID is wrong. In Telegram, search your bot's username and tap Start, verify TG_CHAT_ID matches what @userinfobot says, then pm2 restart pumpstriker-bot.

โŒ Bot says "โš  You are not authorized" when I send a command

Your Telegram user ID doesn't match TG_CHAT_ID. Send @userinfobot again, confirm the Id, update TG_CHAT_ID in .env, and restart the bot.

โŒ Bot doesn't receive signals from engine

Engine and bot are using different BOT_PORT values, OR firewall is blocking localhost. Confirm both .env files have the same BOT_PORT=3748, then test the bot is listening:

curl -X POST http://localhost:3748/signal \ -H 'Content-Type: application/json' \ -d '{"ca":"test","grade":"FIRE","score":80,"name":"Test Signal"}'

The bot terminal should log: [bot] Received signal: test.


Trading issues

โŒ Buy fails: Custom 6062 BuybackFeeRecipientMissing

Token-2022 cashback path. Already fixed in latest code, update:

cd ~/pumpstriker git pull npm install npm run build pm2 restart pumpstriker-engine pumpstriker-bot

โŒ Sell loops forever: Custom 3012 AccountNotInitialized

A previous buy reverted on-chain, so you don't actually own any tokens. Tap ๐Ÿ“Š Positions, find the phantom position, tap Cancel (or wait for the 10-min auto-cleanup sweep).

โŒ Buy returns "insufficient SOL"

Not enough SOL for buy + priority fee + rent. Keep at least 0.05 SOL spare in your wallet at all times.

โŒ Quote times out / Jupiter 429

Hit Jupiter's primary key rate limit. Make sure JUPITER_API_KEY_FALLBACK is set in .env (covered in Chapter 2).

โŒ "Stop loss didn't fire" / position drained

CauseFix
RPC rate limit during the dump, quotes failed, sells couldn't routeAdd HELIUS_KEY_BOT (separate trading lane) per Chapter 2
Slippage too tight, the dump price moved past your allowed slippageUse Auto-curve slippage in Buy/Sell settings (not manual)
TSL not armed yet, trailing stop only arms after first TPExpected behavior. SL was your only floor at that point.

Wallet issues

โŒ Encrypted wallet can't be read after .env change

You rotated TG_BOT_TOKEN. The encryption key is derived from it, so the old wallets.json is unrecoverable with the new token.

  • If you backed up wallets.json: restore from backup, restore the old token, then /import your keys into a freshly-encrypted wallet under the new token.
  • If you wrote down the private key (Chapter 6 Step 3): create a new wallet via /menu, then /import the old private key into it.
  • If neither: funds may be unrecoverable. Always back up wallets.json AND the matching TG_BOT_TOKEN.

โŒ Wallet shows 0 SOL even though I deposited

Wrong wallet address copied, OR the transaction is still confirming. Open the address on solscan.io and verify the deposit arrived, confirm the address shown in Telegram matches Solscan, then tap ๐Ÿ‘› Wallets โ†’ wallet โ†’ Refresh.


VPS issues

โŒ PM2 says process is online but no signals

pm2 logs --lines 100 # Common causes: .env not found (not running from project folder), # port 1002 in use, or WebSocket auth failed (see Helius issues above)

Restart with explicit cwd:

cd ~/pumpstriker pm2 delete all pm2 start "npm run engine" --name pumpstriker-engine --cwd ~/pumpstriker pm2 start "npm run bot" --name pumpstriker-bot --cwd ~/pumpstriker pm2 save

โŒ After VPS reboot, bot didn't auto-start

You forgot to run pm2 startup. Run it, copy the printed sudo line and run it, then pm2 save.


FAQ

Q: Can I run multiple wallets?

Yes, default max is 3. Tap ๐Ÿ‘› Wallets โ†’ โž• Create New up to 3 times. The bot will rotate buys across active wallets if you enable that in Global Settings.

Q: How do I update PumpStriker?

cd ~/pumpstriker git pull npm install npm run build pm2 restart all

Q: Where is my trading history stored?

  • data/bathyr.db, SQLite with every signal and outcome
  • data/positions.json, currently open positions
  • data/orders.json, active TP/SL/TSL orders
  • data/spotted_tokens.csv, every token the engine ever scored

Back these up weekly. They're small (~50 MB after months of use).

Q: Can two computers run the same wallet?

No. Only one process should hold the encrypted wallet at a time. Two engines on the same wallet will double-fire trades and lose to slippage. If you migrate VPS, stop the old one first.

Q: How do I disable Telegram notifications at night?

In Telegram, long-press your bot chat โ†’ Mute โ†’ pick a duration. The bot still runs and trades, you just don't get phone buzzes.

Q: What's the minimum SOL I should fund with?

0.5 SOL to test (~10 buys at 0.05 SOL each). 2-5 SOL for serious operation. Never fund more than you can afford to lose. Memecoins are extremely high-variance.

Q: Can I trade SPL tokens that aren't on PumpFun?

Yes. The bot's Jupiter fallback handles any SPL token. Just paste the contract address:

/check <CA> # safety check first /buy <CA> 0.1 # buy 0.1 SOL worth

Q: What if my VPS provider goes down?

  1. Your trades are unaffected if the VPS dies between buys (positions are on-chain, not in the bot)
  2. But your TP/SL won't fire while the bot is offline
  3. Recovery: spin up a new VPS (Hetzner takes 60 seconds), restore your tarball backup, start PM2

Keep weekly tarball backups of ~/pumpstriker/ somewhere off the VPS.


When all else fails

  1. Re-read the chapter you're stuck on. 80% of issues are missed steps.
  2. Restart everything: pm2 restart all
  3. Full reset (nuclear option):
pm2 delete all cd ~/pumpstriker rm -rf node_modules dist npm install npm run build pm2 start "npm run engine" --name pumpstriker-engine pm2 start "npm run bot" --name pumpstriker-bot pm2 save

This does NOT touch .env or data/, your keys and history are safe. 4. Join the official Telegram โ†’ @BathyrDEV for support, or watch @BathyrHunter on YouTube for video walkthroughs.


You're ready for the trenches ๐Ÿฆ…

You now have everything you need. Read it, install it, run it, trade small until you trust it, then scale up. Good hunting, fam.

"The market doesn't care if you're confident or scared. It cares if you're ready."


๐Ÿ”— Stay connected

ChannelWhere
๐Ÿฆˆ Websitepumpstriker.fun
โœˆ๏ธ Telegram@BathyrDEV
โ–ถ๏ธ YouTube@BathyrHunter
๐• (Twitter)@BathyrDev
๐Ÿฑ GitHubPumpStriker Bot Repo

PumpStriker is a product of BATHYR.

PumpStriker, the self-hosted Solana memecoin striker.

Your keys. Your machine. One-time $350, MIT licensed, no subscription.

See pricing โ†’