polymarket-whale-watcher

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • 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 Uyari
  • network request — Outbound network request in src/dashboard.py
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
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.
SUMMARY

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.

README.md

🐋 Polymarket Whale Watcher

AI-Powered Whale Trade Intelligence for Polymarket Prediction Markets

Python 3.10+
License: MIT
Polymarket
Gemini


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


pipeline

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:

  1. Check Python 3.10+ is installed
  2. Create a virtual environment
  3. Install all dependencies
  4. Create .env from 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
LLM Settings
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
Whale Detection Tuning
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
Tiered Market Monitoring
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)
Email Alerts
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

Yorumlar (0)

Sonuc bulunamadi