# Polymarket Sports Arbitrage Scanner **Priority:** HIGH — D J's top money-making project **Assigned:** Glitch (build) → Hawk (review) → Jinx (QA) **Created:** 2026-02-26 ## Overview Build a scanner that compares odds from D J's existing odds aggregation database (Postgres on VPS) against Polymarket sports market prices to find arbitrage opportunities. ## Architecture ``` [D J's VPS Postgres] ──→ Scanner ──→ [Polymarket API] ──→ Compare ──→ [Telegram Alerts] (odds from books) (market prices) (find arb) (notify D J) ``` ## Phase 1: Polymarket Sports Markets Reader (BUILD NOW) - Fetch all active sports markets from Polymarket Gamma API - Parse market structure: teams, outcomes, prices, liquidity, close time - Store in local SQLite for comparison - Telegram alerts when opportunities found - **No DB dependency** — this phase uses only Polymarket public API ### Key APIs - Gamma API: `https://gamma-api.polymarket.com/markets?active=true&closed=false` - CLOB API: `https://clob.polymarket.com/` (order book depth, best bid/ask) - Filter for sports: tags contain "Sports", "NFL", "NBA", "NHL", "MLB", "Soccer", etc. ## Phase 2: Odds DB Integration (AFTER D J provides PG access) - Connect to D J's Postgres on VPS (read-only) - Map book odds → implied probability - Compare implied prob vs Polymarket price - Flag when: `book_implied_prob > polymarket_price + fee + margin` ## Phase 3: Backtesting - Historical odds vs Polymarket resolution - Win rate, ROI, optimal thresholds ## Phase 4: Auto-execution (Future) - Place bets via Polymarket CLOB API - Position sizing, bankroll management ## Technical Notes - Polymarket Data API is public, no auth for reads - kch123 wallet analysis shows sports arb is proven ($9.37M P&L) - kch123's edge: ~30-60s detection window, negligible for pre-game bets - Reference: `data/investigations/polymarket-15min-arb.md` (different strategy but same platform) - Existing scanner: `projects/crypto-signals/scripts/polymarket_arb_scanner.py` (15-min crypto, reuse patterns) ## Constraints - Python (match existing infra) - Telegram alerts (same pattern as CoinEx trader) - Systemd timer (5-15 min interval) - Zero AI tokens — pure Python - Paper trade first, log all opportunities ## Deliverables 1. `projects/crypto-signals/scripts/polymarket_sports_scanner.py` 2. Systemd service + timer 3. Telegram alert integration 4. Local SQLite for market history 5. Unit tests