Skip to content

zcombinatorio/ipa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPA — Personal Telegram Token Monitor

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.

How It Works

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)

Setup

1. Clone and install

git clone https://github.com/zcombinatorio/ipa.git
cd ipa
pip install -e .

2. Configure

Copy the example config to ~/.ipa/:

mkdir -p ~/.ipa
cp config.example.toml ~/.ipa/config.toml

Edit ~/.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)

3. Authenticate Telegram

ipa setup

This 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.

4. Run

ipa

Or:

python -m ipa

Send /start to your bot on Telegram to claim ownership and start receiving alerts.

5. Add chats to monitor

In your bot chat:

  • /add — Add a Telegram group to monitor
  • /list — List monitored chats
  • /remove — Remove a monitored chat

6. Wallet (optional)

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.

What Gets Detected

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_...

What Gets Filtered

  • 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

Project Structure

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

Requirements

  • Python 3.11+
  • Telegram account + bot token
  • Solana RPC URL
  • Birdeye API key (optional — DexScreener is used as free fallback)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages