Pump.fun Alert Bot
Never miss a launch. Real-time alerts for Pump.fun token launches, graduations, and volume spikes on Solana.
Built for trading bots, Discord alerts, and Telegram notifications. Powered by Strykr PRISM.
Quick Usage
# Get current bonding tokens
./alerts.sh bonding
Get recently graduated tokens
./alerts.sh graduated
Watch for new tokens (poll every 30s)
./alerts.sh watch
Unique Data Source
PRISM is one of the only APIs with real-time Pump.fun bonding curve data:
| Endpoint | Description | Speed |
|---|
/crypto/trending/solana/bonding
| Tokens on bonding curve | 648ms |
/crypto/trending/solana/graduated
| Graduated to DEX | 307ms |
Alert Types
1. New Launch Alert
π NEW PUMP.FUN TOKEN
$DOGWIFCAT
CA: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
π Stats:
β’ Bonding Progress: 12%
β’ Market Cap: $8,450
β’ Holders: 23
β’ Created: 2 min ago
[π Scan] [π Chart] [π° Buy]
2. Graduation Alert
π TOKEN GRADUATED!
$MEMECOIN just graduated to Raydium!
π Final Stats:
β’ Market Cap: $69,000
β’ Total Holders: 1,247
β’ Bonding Time: 4h 23m
Trading now live on Raydium DEX
[π Trade on Raydium]
3. Volume Spike Alert
π VOLUME SPIKE DETECTED
$CATDOG seeing unusual activity
β’ Volume (5m): $45,230 (+340%)
β’ Price: +28% in 10 minutes
β’ New holders: +89
β οΈ Could be coordinated buy - DYOR
[π Scan] [π Chart]
Bot Commands
/start - Subscribe to alerts
/stop - Unsubscribe
/bonding - Current bonding tokens
/graduated - Recent graduations
/scan <token> - Scan specific token
/settings - Configure alert filters
Alert Filters
Configure which alerts you receive:
{
"minMarketCap": 5000, // Minimum MC to alert
"maxMarketCap": 100000, // Maximum MC to alert
"minHolders": 10, // Minimum holder count
"bondingProgress": 20, // Alert when > 20% bonded
"volumeSpike": 200, // Alert on 200%+ volume increase
"enableGraduations": true, // Alert on graduations
"enableNewLaunches": true // Alert on new tokens
}
Integration
Telegram Bot
import { Telegraf } from 'telegraf';
import { PrismClient } from './prism';
const bot = new Telegraf(process.env.BOT_TOKEN);
const prism = new PrismClient();
// Poll every 30 seconds
setInterval(async () => {
const bonding = await prism.pumpfunBonding();
const newTokens = filterNewTokens(bonding);
for (const token of newTokens) {
await bot.telegram.sendMessage(CHANNEL_ID, formatAlert(token));
}
}, 30000);
Discord Bot
import { Client } from 'discord.js';
client.on('ready', () => {
pollPumpfun(client);
});
Environment Variables
PRISM_URL=https://strykr-prism.up.railway.app
TELEGRAM_BOT_TOKEN=xxx
TELEGRAM_CHANNEL_ID=xxx
DISCORD_BOT_TOKEN=xxx
DISCORD_CHANNEL_ID=xxx
Polling Best Practices
- Rate Limiting: Poll max once per 30 seconds
- Deduplication: Track sent alerts in SQLite/Redis
- Batching: Group multiple alerts into one message
- Cooldowns: Don't spam same token within 5 minutes
Built by @NextXFrontier