IPA monitors Telegram groups for crypto token mentions and sends you alerts via a Telegram bot. It detects contract addresses, $TICKER symbols, pump.fun links, DexScreener links, and hypurr.fun links, then enriches each mention with market data from Birdeye and DexScreener.
Telegram groups you follow
|
v
Telethon client (your account reads messages)
|
v
Detection engine (regex + address validation)
|
v
Market data enrichment (Birdeye / DexScreener)
|
v
Alert formatting + filtering (market cap, cooldown, sentiment)
|
v
Telegram bot sends alert to you (with optional Buy/Sell buttons)
git clone https://github.com/zcombinatorio/ipa.git
cd ipa
pip install -e .Copy the example config to ~/.ipa/:
mkdir -p ~/.ipa
cp config.example.toml ~/.ipa/config.tomlEdit ~/.ipa/config.toml and fill in your values:
- Telegram API credentials — get from https://my.telegram.org
- Bot token — create a bot via @BotFather on Telegram
- Solana RPC URL — a Helius, QuickNode, or other Solana RPC endpoint
Optional:
- Birdeye API key — enhanced token data (DexScreener is used as free fallback)
- Solscan API key — address validation (not required for core functionality)
ipa setupThis logs in to your Telegram account (via Telethon) and saves a session file. You only need to do this once.
Security note: The session file in ~/.ipa/ grants access to your Telegram account. Never share it or commit it to git.
ipaOr:
python -m ipaSend /start to your bot on Telegram to claim ownership and start receiving alerts.
In your bot chat:
/add— Add a Telegram group to monitor/list— List monitored chats/remove— Remove a monitored chat
Use /wallet in the bot chat to import a Solana private key. The encryption key is auto-generated on first use. Once configured, alerts include Buy/Sell buttons for one-tap trading via Jupiter.
| Pattern | Example |
|---|---|
| $TICKER symbols | $BONK, $WIF |
| Solana addresses | DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 |
| EVM addresses | 0x1234...abcd |
| pump.fun links | https://pump.fun/... |
| DexScreener links | https://dexscreener.com/solana/... |
| hypurr.fun links | https://app.hypurr.fun/... |
| Bloom bot referrals | https://t.me/BloomSolana_bot?start=ref_..._ca_... |
- Messages from non-whitelisted bots are ignored
- Bearish sentiment messages are skipped (VADER analysis)
- Duplicate alerts within the cooldown window are suppressed
- Market cap filters are applied when configured
- SOL, ETH, BTC, USDC, and other major tokens are not alerted on
src/ipa/
__main__.py # Entry point
config.py # TOML config loader (~/.ipa/config.toml)
db.py # aiosqlite + auto table creation
setup.py # One-time Telegram auth wizard
bot/
app.py # Telegram bot application
onboarding.py # /start + Telethon auth flow
commands.py # /add, /remove, /list, /settings, /status
wallet_cmds.py # /wallet, buy/sell callbacks
callbacks.py # Callback query router
monitor/
monitor.py # Core Telethon listener
events.py # Event processing pipeline
confluence.py # Cross-chat confluence detection
workers.py # Background worker tasks
detection/
patterns.py # Token mention detection (regex)
dex_monitor.py # Birdeye + DexScreener data fetching
sentiment.py # VADER sentiment analysis
notifications/
formatter.py # Alert message formatting
sender.py # Telegram bot message delivery
wallet/
manager.py # Fernet-encrypted wallet storage
execution/
jupiter.py # Jupiter swap execution
utils/
tracker.py # Global found tracker (SQLite)
caches.py # Message, confluence, cross-chat caches
formatting.py # Number formatting, Twitter intents
- Python 3.11+
- Telegram account + bot token
- Solana RPC URL
- Birdeye API key (optional — DexScreener is used as free fallback)