polymarket-whale-watcher
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 186 GitHub stars
Code Warn
- network request — Outbound network request in src/dashboard.py
Permissions Pass
- Permissions — No dangerous permissions requested
This tool is an AI-powered surveillance agent that monitors Polymarket prediction markets for large "whale" trades. It uses a connected LLM to autonomously research detected anomalies and generates an information asymmetry score for each trade.
Security Assessment
The overall risk is rated as Medium. The tool does not request dangerous local system permissions or execute arbitrary shell commands. However, it does make outbound network requests in the dashboard component to fetch live market data. While no hardcoded secrets were flagged in the automated scan, users should be aware that the tool inherently deals with cryptocurrency wallet addresses, interacts with external APIs (like Polymarket, Twitter, and web searches), and requires an external LLM API key (such as Google Gemini) to function. You must provide and manage these API keys securely.
Quality Assessment
The project appears active and is freshly maintained with recent repository pushes. It enjoys a solid level of community trust with 186 GitHub stars, indicating that developers are finding it useful. There is a minor discrepancy in its health checks: the README displays an MIT license badge, but the repository lacks a formal license file, which technically leaves the legal terms of use undefined.
Verdict
Use with caution—ensure you understand the security implications of supplying external API keys and cryptocurrency data to this agent.
AI-powered whale trade surveillance for Polymarket — real-time monitoring of 700+ markets, 14 autonomous research tools, 7-step deep analysis with information asymmetry scoring.
🐋 Polymarket Whale Watcher
AI-Powered Whale Trade Intelligence for Polymarket Prediction Markets
Real-time monitoring of 700+ markets · 14 autonomous research tools · Multi-step deep analysis · Signal accuracy tracking
Quick Start | How It Works | Sample Report | Configuration | Dashboard
What It Does
Whale Watcher continuously monitors 700+ active Polymarket markets across three volume tiers, detects large trades with anomalous patterns, and deploys an LLM agent with 14 autonomous research tools to conduct multi-step deep investigations. Each whale trade undergoes a structured 7-step analysis pipeline — from trader profiling and cross-market position mapping to information gap assessment — producing an Information Asymmetry Score that quantifies the likelihood of non-public information advantage.
Live Demo
Terminal Output — Real-time whale detection and analysis$ python -m src.main run
============================================================
WHALE WATCHER STARTED
============================================================
Monitoring: 765 markets
Interval: 10 seconds
Min Trade Size: $10,000 USD
Price Range: 0.1 - 0.9
============================================================
Tiered monitoring: Tier1=8 (>500K), Tier2=198 (>10K), Tier3=559 (>1K)
[23:41:12] WHALE TRADE DETECTED!
Amount: $9,600.00 USDC
Side: BUY Yes
Price: 0.7142
Market: US x Iran diplomatic meeting by June 30, 2026?
Generating analysis report...
Round 1: LLM requested 3 tool call(s)
→ search_web("US Iran diplomatic meeting June 2026")
→ search_twitter("US Iran meeting diplomacy")
→ get_wallet_transfers("0xceza...rn132")
Round 2: LLM requested 2 tool call(s)
→ search_web("Islamabad Iran talks Witkoff April 2026")
→ search_twitter("POLYMARKET Iran meeting odds fading")
Round 3: LLM requested 1 tool call(s)
→ search_web("Iran FM Araghchi 3 phase deal proposal")
Analysis complete after 3 round(s)
Information Asymmetry Score: 0.32 (LOW)
Trader Credibility: MEDIUM (#1733, PnL: $84K)
Verdict: Thesis continuation / loss recovery — HOLD/PASS
Report saved: reports/20260504/...
Sample Report — 7-Step Deep Analysis (click to expand)
Each whale trade generates a comprehensive markdown report with structured multi-step analysis:
Full example: docs/examples/sample_report.md
Report Structure
======================================================================
# Whale Trade Analysis Report
======================================================================
┌─ Trade Summary ─────────────────────────────────────────────────────┐
│ Market, trade size, direction, price, odds, time, trader rank │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 2: Trade Signal Analysis ─────────────────────────────────────┐
│ Trader profile: rank, PnL, avg size, large trade ratio │
│ Domain expertise detection, trade timing analysis │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 3: Event-Related Position Analysis ───────────────────────────┐
│ Cross-market positions, roll-forward detection │
│ Loss recovery patterns, hedge identification │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 4: Market Long/Short Analysis ────────────────────────────────┐
│ Top 5 bulls & bears with rankings and PnL │
│ Smart money consensus assessment │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 5: Information Gap Analysis ──────────────────────────────────┐
│ Public information audit (web, Twitter, Telegram) │
│ Market pricing efficiency check │
│ Non-public information evidence search │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 6: Historical Pattern ────────────────────────────────────────┐
│ Trader's past bets on related events │
│ Strategy pattern recognition (laddering, hedging, etc.) │
└─────────────────────────────────────────────────────────────────────┘
┌─ Step 7: Information Asymmetry Assessment ──────────────────────────┐
│ Score (0–1), trader credibility, evidence, reasoning │
│ Multi-factor summary table with signal strength │
│ Recommended action: BUY / HOLD / PASS │
└─────────────────────────────────────────────────────────────────────┘
Example Summary Table
| Factor | Assessment | Signal |
|---|---|---|
| Trader Rank/PnL | Rank #1733, $84K PnL | Moderate |
| Trade Size vs. Normal | ~$9.6K vs. avg $10K | Routine — neutral |
| Related Position | Heavy loser on May 15 market (-$6.5K) | Suppresses signal |
| Domain Expertise | Iran geopolitics specialist | Supportive |
| Public Info Coverage | Extensive public news | Reduces asymmetry |
| Smart Money Bulls | Rank #278 also long | Modest support |
| Overall | Thesis continuation, not insider signal | Low-Medium |
Daily Briefing — Automated intelligence summary
Daily briefings are generated at 10:00 AM local time and emailed automatically.
Full example: docs/examples/sample_briefing.md
Includes:
- High-confidence signals (IAS >= 60%) with full analysis summaries
- Fallback: top 5 signals by score if none reach the threshold
- Abnormal price volatility alerts
- Historical signal performance — win rate and ROI by confidence tier
Quick Start
One-Click Setup
git clone https://github.com/chaoleiyv/polymarket-whale-watcher.git
cd polymarket-whale-watcher
chmod +x setup.sh && ./setup.sh
The setup script will:
- Check Python 3.10+ is installed
- Create a virtual environment
- Install all dependencies
- Create
.envfrom template
Then add your API key and start:
# Add your Gemini API key (the only required key)
echo "GEMINI_API_KEY=your_key_here" >> .env
# Activate the environment and run
source .venv/bin/activate
python -m src.main run
Get a free Gemini API key: https://aistudio.google.com/apikey
Docker
docker build -t whale-watcher .
docker run --env-file .env -v ./data:/app/data -v ./reports:/app/reports whale-watcher
How It Works
flowchart LR
A[Polymarket API] --> B[Market Fetcher]
B --> C[700+ Tiered Markets]
C --> D[Trade Monitor]
D --> E{Whale\nTrade?}
E -->|No| D
E -->|Yes| F[Anomaly Detector]
F --> G{Score >= 0.65?}
G -->|No| D
G -->|Yes| H[LLM Analyzer]
H --> I[14 Research Tools]
I --> J[Signal + Report]
J --> K[Resolution Tracker]
K --> L[Dashboard + Email]
Pipeline
| Stage | What Happens |
|---|---|
| 1. Market Selection | Fetches all active markets from Polymarket Gamma API, classifies into 3 tiers by 24h volume, adds token launch markets. Refreshes every 15 minutes. |
| 2. Trade Monitoring | Parallel async tasks per market (700+), polls official Polymarket data-api for new taker BUY trades, deduplicates by transaction hash. Connection pool: 50 connections, 120s timeout. |
| 3. Whale Pre-filter | Price range 0.10–0.90, $5K hard floor, dynamic threshold scaled by volume ($5K–$100K), conviction check (must pay above mid), resolution window 6h–90d. |
| 4. Anomaly Scoring | 5-factor model (max 1.0): base confidence (0.50) + premium ratio (0.20) + signal cleanliness (0.10) + depth ratio (0.10) + cluster tier (0.10). Threshold: >= 0.65. |
| 5. LLM Investigation | Builds rich context (trade + trader profile + event positions + market top holders + historical signals). LLM autonomously selects tools for up to 3 rounds. Produces structured 7-step analysis with information asymmetry score (0–1). |
| 6. Signal Tracking | Resolution tracker checks every 30 min, validates signal correctness, computes theoretical ROI. Daily briefings at 10:00 AM, emailed to recipients. |
Features
| Feature | Description |
|---|---|
| Tiered Market Monitoring | 700+ markets across 3 tiers: Tier1 (>$500K, 15s), Tier2 (>$10K, 60s), Tier3 (>$1K, 300s) |
| 5-Factor Anomaly Detection | Premium ratio, signal cleanliness, depth ratio, cluster signals, base confidence |
| 7-Step Deep Analysis | Trade signal → Event positions → Long/short mapping → Info gap → Historical pattern → Asymmetry score |
| 14 Autonomous Research Tools | Web, Twitter, Telegram, crypto, DeFi, stocks, on-chain, legislation |
| Cross-Market Position Analysis | Detects roll-forwards, hedges, and loss recovery patterns across related markets |
| Signal Accuracy Tracking | Auto resolution checking every 30 min, win rate stats by confidence tier |
| Daily Briefings | 10:00 AM automated summary with high-confidence signals, emailed to recipients |
| Real-time Email Alerts | Instant notifications for high information-asymmetry signals (>= 60%) |
| Web Dashboard | FastAPI-based signal performance dashboard with ROI breakdowns |
14 LLM Research Tools
The LLM agent autonomously selects and chains these tools during its multi-round investigation:
| Category | Tools | Use Case |
|---|---|---|
| Social & Sentiment | search_twitter · search_telegram · search_web |
Public sentiment, insider chatter, news coverage |
| Crypto & DeFi | get_crypto_price · get_crypto_market_overview · get_protocol_tvl · get_token_unlocks · get_protocol_revenue |
Token prices, TVL, unlocks, protocol health |
| Financial Data | get_stock_price · get_stock_news · get_economic_data |
Equities, ETFs, macro indicators |
| On-Chain | get_wallet_transfers · get_contract_info |
Wallet activity, contract deployments |
| Legislation | get_bill_status · get_recent_legislation |
US bills, regulatory actions |
Sample Report
Every whale trade produces a structured multi-step report. Here's a condensed view:
======================================================================
# Whale Trade Analysis Report
======================================================================
Trade Summary
Market: US x Iran diplomatic meeting by June 30, 2026?
Size: $9,600 USDC | Direction: BUY Yes (71.4%) | Trader: #1733
Step 2: Trade Signal Analysis
→ Mid-tier trader, $84K PnL, Iran geopolitics specialist
→ Trade size ($9.6K) matches avg ($10K) — routine, not exceptional
Step 3: Event-Related Position Analysis ← KEY FINDING
→ Losing -$6,508 on earlier "May 15 meeting" market (15.5% odds)
→ This trade is a thesis roll-forward, not a fresh insider bet
Step 4: Market Long/Short Analysis
→ Biggest Yes holder is a chronic loser (PnL: -$5.5M) — red flag
→ One elite trader (Rank #278) also long — modest support
Step 5: Information Gap Analysis
→ All supporting info widely reported in mainstream media
→ Market at 69.5% — already fairly priced
Step 6: Historical Pattern
→ "Timeline ladder" strategy across multiple Iran-related deadlines
Step 7: Information Asymmetry Assessment
→ Score: 0.32 (LOW) | Credibility: MEDIUM
→ Verdict: Thesis continuation / loss recovery — HOLD/PASS
======================================================================
Full report: docs/examples/sample_report.md
Configuration
Copy .env.example to .env and configure:
Required
| Variable | Description | Get It |
|---|---|---|
GEMINI_API_KEY |
LLM API key for analysis | Google AI Studio |
Optional (enhances analysis quality)
Data Source API Keys| Variable | Description | Get It |
|---|---|---|
TAVILY_API_KEY |
Web search (primary) | tavily.com |
SERPER_API_KEY |
Web search (fallback) | serper.dev |
TWITTER_API_KEY |
Twitter sentiment search | twitterapi.io |
POLYGON_API_KEY |
Stock/ETF/forex data | polygon.io |
FRED_API_KEY |
Economic indicators | FRED |
ETHERSCAN_API_KEY |
On-chain wallet analysis (Polygon V2) | etherscan.io |
CONGRESS_API_KEY |
US legislation data | congress.gov |
TELEGRAM_API_ID / TELEGRAM_API_HASH |
Telegram channel monitoring | my.telegram.org |
| Variable | Default | Description |
|---|---|---|
LLM_MODEL |
gemini-3-flash-preview |
Model name (any OpenAI-compatible) |
LLM_BASE_URL |
Google AI endpoint | OpenAI-compatible API base URL |
LLM_TEMPERATURE |
0 |
LLM temperature |
| Variable | Default | Description |
|---|---|---|
MIN_TRADE_SIZE_USD |
10000 |
Minimum trade size to consider |
MIN_PRICE / MAX_PRICE |
0.10 / 0.90 |
Price range filter |
FETCH_INTERVAL_SECONDS |
10 |
Default polling interval |
| Variable | Default | Description |
|---|---|---|
FULL_MARKET_SCAN |
true |
Enable tiered monitoring (all active markets) |
TIER1_VOLUME_MIN |
500000 |
Tier 1 volume threshold |
TIER2_VOLUME_MIN |
10000 |
Tier 2 volume threshold |
TIER3_VOLUME_MIN |
1000 |
Tier 3 volume threshold |
TIER1_POLL_INTERVAL |
15 |
Tier 1 polling interval (seconds) |
TIER2_POLL_INTERVAL |
60 |
Tier 2 polling interval (seconds) |
TIER3_POLL_INTERVAL |
300 |
Tier 3 polling interval (seconds) |
| Variable | Default | Description |
|---|---|---|
EMAIL_ENABLED |
false |
Enable email notifications |
EMAIL_SENDER |
— | Sender email address |
EMAIL_PASSWORD |
— | Sender email password (app password) |
EMAIL_RECIPIENT |
— | Comma-separated recipient emails |
Commands
# Core
python -m src.main run [--debug] # Start monitoring
python -m src.main check-markets --limit 20 # View trending markets
# Analysis
python -m src.main test-analyze <market_id> # Test LLM on a specific market
# Reports
python -m src.main briefing --today # Generate today's briefing
python -m src.main briefing --date 2026-04-17 # Briefing for a specific date
# Dashboard
python -m src.main dashboard --port 8000 # Start web dashboard
# Maintenance
python -m src.main migrate # Migrate legacy JSON to SQLite
Dashboard
python -m src.main dashboard
# Open http://localhost:8000
The dashboard shows:
- Overall signal statistics (total signals, win rate, avg ROI)
- Performance breakdown by confidence tier
- Top best/worst signals by theoretical ROI
- Paginated signal history
Architecture
┌──────────────────────────────┐
│ Polymarket Gamma API │
│ (all active markets) │
└──────────────┬───────────────┘
│
┌──────────────▼───────────────┐
│ Market Fetcher │
│ Tier1: >$500K (15s poll) │
│ Tier2: >$10K (60s poll) │
│ Tier3: >$1K (300s poll) │
└──────────────┬───────────────┘
│
┌────────────────────▼────────────────────┐
│ Trade Monitor (async, 700+) │
│ Official Polymarket data-api │
│ Per-market parallel tasks │
│ Pool: 50 connections, 120s timeout │
└────────────────────┬────────────────────┘
│
┌────────────────────▼────────────────────┐
│ Pre-filter + Scoring │
│ $5K+ size, 0.10-0.90 price, conviction │
│ 5-factor anomaly score >= 0.65 │
└────────────────────┬────────────────────┘
│
┌────────────────────▼────────────────────┐
│ LLM Analyzer — 7-Step Pipeline │
│ 14 tools · up to 3 rounds │
├──────────┬────────┬────────┬────────────┤
│ Twitter │ Web │ DeFi │ On-Chain │
│ Telegram │ Search │ Crypto │ Legislation│
└──────────┴───┬────┴────────┴────────────┘
│
┌──────────────▼─────────────────────────┐
│ Signal Storage (SQLite) │
│ → Resolution Tracker (every 30min) │
│ → Daily Briefing (10:00 AM + email) │
│ → Email Alerts (IAS >= 60%) │
│ → Dashboard (FastAPI) │
└────────────────────────────────────────┘
Project Structure
src/
├── config/settings.py # Environment configuration (Pydantic)
├── models/ # Data models
│ ├── market.py # Market, TrendingMarket
│ ├── trade.py # TradeActivity, WhaleTrade, TraderRanking
│ ├── decision.py # TradeRecommendation, LLMDecision
│ └── anomaly_signal.py # AnomalySignal (stored signal)
├── services/ # Business logic
│ ├── market_fetcher.py # Polymarket Gamma API (tiered market selection)
│ ├── trade_monitor.py # Per-market parallel monitoring (official API)
│ ├── anomaly_detector.py # 5-factor anomaly scoring
│ ├── llm_analyzer.py # LLM with tool-use (14 tools, 3 rounds)
│ ├── tools.py # Tool registry
│ ├── resolution_tracker.py # Market resolution checking
│ ├── stats_engine.py # Performance statistics
│ ├── daily_briefing.py # Daily summary generation + email
│ ├── twitter_search.py # Twitter API search
│ ├── telegram_search.py # Telegram channel monitoring
│ ├── web_search.py # Tavily/Serper/DuckDuckGo search
│ ├── coingecko.py # Crypto prices and market data
│ ├── defillama.py # DeFi TVL, revenue, token unlocks
│ ├── fred.py # FRED macroeconomic data
│ ├── polygon.py # Stock/ETF prices and news
│ ├── etherscan.py # On-chain data (Polygon, Etherscan V2)
│ └── congress.py # US legislation data
├── prompts/ # LLM system prompts
│ ├── whale_analyzer.py # Whale trade analysis prompt
│ └── volatility_analyzer.py # Price volatility analysis prompt
├── db/database.py # SQLite signal storage
└── main.py # CLI entry point (Typer)
Disclaimer
This system is for research and educational purposes only. Prediction market trading involves significant risk. The information asymmetry scores and analyses are AI-generated estimates — not financial advice. Always conduct your own research and verify independently before making any trading decisions.
MIT License · Built with Polymarket API + Gemini
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found