Back to home

    Technical Details

    ClydeScan's current product is Reward Farmer, an automated Polymarket liquidity reward farming bot. This page documents the wider trading infrastructure it runs on, including the earlier directional and arbitrage strategies that stack was originally built for.

    Status, 2026: Reward Farmer is the only strategy running. The 3 strategies described below are retired: their code and research remain in the stack, but none of them are scheduled or trading. They are documented here as engineering history and because the execution, risk and monitoring layers they produced are what Reward Farmer runs on today. For what is live right now, see our live results.

    Retired strategy mechanics

    Each of these targeted a specific information gap with defined parameters and risk controls. All are retired; none are trading.

    Flash, Live Match Alpha

    5–20%+
    Scan: Every 20 secondsMax position: $150 USDCTime exit: 4 hours

    Mechanism: PandaScore / GRID live feed → score change detection → combinatorial probability model → instant execution

    • Fetches active esports markets from Polymarket (CS2, Dota 2, LoL, Valorant, Overwatch)
    • Polls live match data every 20 seconds from PandaScore and GRID APIs
    • Fuzzy-matches Polymarket markets to live matches via team name and slug comparison
    • Extracts current score: maps won per team + best-of format
    • Calculates win probability using binomial distribution over remaining maps
    • Adjusts for in-map round state with ±15% multiplier
    • Trades only when score changed from cached state (market hasn't caught up)
    • 5-minute cooldown per market after trading to prevent thrashing

    Sentinel, Insider Detection

    ~10%
    Scan: Every 30 secondsMax position: $200 USDCTime exit: 72 hours

    Mechanism: Wallet profiling → 10-point composite suspicion scoring → position mirroring at 10% size

    • Monitors all recent trades on Polymarket's CLOB in real time
    • Profiles each wallet: trade count, account age, markets traded, total volume
    • Composite suspicion score (0–10): brand new wallet (0–2 pts), large trade size ≥$5K–$25K (1–3 pts), niche market <$100K volume (1–2 pts), single-market concentration (1–2 pts), extreme odds (1 pt)
    • Minimum score threshold: 7/10 to trigger a trade
    • Mirrors insider position at 10% of their bet size, capped at $200
    • Confidence mapped directly from score: 7 → 7, 10 → 10

    Logical Arbitrage

    5–15%
    Scan: Every 5 minutesMax position: $300 USDCTime exit: 48+ hours

    Mechanism: LCMM pre-filter → Claude AI validation → VWAP edge calculation → modified Kelly execution

    • LCMM (Linear Constraint Market Model) pre-filter eliminates 80% of markets in milliseconds
    • Groups markets by event; detects YES+NO pairs deviating from $1.00
    • Identifies exhaustive sets with >5% deviation and 2-market price mismatches
    • Claude AI validates remaining candidates for logical contradictions
    • VWAP-based edge calculation with execution probability estimation
    • Modified Kelly sizing: quarter-Kelly with 25% bankroll cap for arbitrage execution risk
    • Minimum 48-hour resolution window to avoid late-stage illiquidity

    Resolution Timing

    10%+
    Scan: Every 5 minutesMax position: $300 USDCTime exit: 72 hours

    Mechanism: Resolution window detection → Claude confidence assessment → extreme probability entry

    • Finds markets with endDate in past 48 hours (resolution window)
    • Claude assesses if outcome is determined with confidence ≥8
    • Trades at extreme probability spreads, expected payout ~$0.99 vs entry price
    • Automatic exit at resolution or when price hits extremes ($0.99 or $0.01)

    Overreaction Fading

    4–8%
    Scan: Every 5 minutesMax position: $150 USDCTime exit: 6 hours

    Mechanism: Price snapshot recording → volatility spike detection → Claude sentiment classification → mean reversion fade

    • Records price snapshots every 5-minute scan cycle
    • Detects >8% moves in 60-minute windows
    • Claude classifies each move as overreaction vs. legitimate news shift
    • Fades the direction: buys NO if YES surged, assumes ~50% mean reversion
    • Concentration limit: max 1 trade per event category per cycle to prevent correlated losses
    • Price filter: only trades when price is between $0.10–$0.90

    Whale Signal

    ~5%
    Scan: Every 5 minutesMax position: $200 USDCTime exit: 24 hours

    Mechanism: Whale wallet tracking → quality gates → position mirroring → coordinated exit

    • Tracks vetted whale wallet addresses with profitable trading history
    • Monitors live trades fetched every 5 minutes
    • Quality gates: trade size ≥$2,000, market liquidity ≥$5,000, price drift <5%
    • Mirrors positions at 100% size (capped at $200 USDC)
    • Daily whale discovery scan at 6am UTC finds new profitable wallets
    • Weekly score decay reduces stale whale ratings

    Weather Arbitrage

    15%+
    Scan: Every 5 minutesMax position: $200 USDCTime exit: 50 hours

    Mechanism: Dual forecast comparison (NOAA + Open-Meteo) → normal distribution probability → quarter-Kelly sizing

    • Fetches NOAA hourly forecast + Open-Meteo as independent cross-check
    • Converts forecast to probability using normal distribution (calibrated: ~2°F std dev at 24h)
    • Calculates expected value of YES/NO using probability vs. market price
    • Verifies both models agree within ±5°F, skips if divergent
    • Quarter-Kelly position sizing based on probability edge
    • Forecast horizon: 1–48 hours to resolution
    • Per-strategy daily loss cap: $50
    • Max entry price: $0.15 (only trades underpriced outcomes)

    FedWatch, Rate Decision Arb

    10%+
    Scan: Every 5 minutesMax position: $200 USDCTime exit: 168 hours (1 week)

    Mechanism: CME FedWatch futures probabilities → Polymarket Fed market matching → institutional vs. retail gap detection → edge execution

    • Fetches CME FedWatch implied probabilities from federal funds futures (institutional money)
    • Matches Polymarket markets to Fed outcomes: cut, hold, or hike
    • Trades when CME implies ≥70% and Polymarket prices at a significant discount
    • Confidence scales with CME probability: 70%+ → 7, 80%+ → 8, 90%+ → 9
    • Max entry price: $0.40, only trades underpriced outcomes
    • CME data cached 5 minutes; represents consensus of institutional futures traders
    • Max 2 trades per scan cycle
    • Profit target: 30%, stop loss: -20%

    Execution Pipeline

    From market data to executed trade, four concurrent layers process opportunities in real time.

    Detection Layer

    • Flash: 20-second esports scan cycle via PandaScore/GRID APIs
    • Sentinel: 30-second wallet monitoring on Polymarket CLOB
    • Deep Analysis: 5-minute full market scan across 200+ active markets
    • All three tiers run concurrently via AsyncIO scheduler

    Validation Layer

    • LCMM pre-filter eliminates ~80% of candidates in milliseconds (no AI cost)
    • Claude Sonnet for rapid screening, Claude Opus for deep analysis
    • Multi-layer reasoning: logical consistency, confidence scoring, edge estimation
    • Minimum confidence threshold: 6/10 (configurable per strategy)

    Execution Layer

    • Modified Kelly criterion with execution probability weighting
    • VWAP slippage simulation for realistic fill price estimation
    • Book depth verification: 15–50% of depth depending on strategy
    • CLOB API limit orders with depth-aware sizing
    • Duplicate market prevention across all strategies
    • Global cap: 50 concurrent positions

    Monitoring Layer

    • Position check every 60 seconds via dedicated monitor process
    • Exit triggers: profit target, stop loss, time limit, resolution
    • Daily loss limit: portfolio halt at -$2,000 (configurable)
    • Per-strategy loss caps (e.g. weather: $50/day)
    • Emergency kill switch via Telegram (/kill) or dashboard toggle
    • Real-time Telegram alerts on trades, exits, errors, and daily reports

    Risk Management Deep Dive

    Every trade passes through multiple risk gates before execution.

    Kelly Criterion Sizing

    Quarter-Kelly with execution probability adjustment. For arbitrage strategies, position size accounts for the probability that both legs fill correctly. Never risks more than 25% of bankroll on a single trade.

    Daily Loss Limits

    Portfolio-wide hard stop at -$2,000 daily P&L. Weather strategy has an independent $50 daily cap. When hit, all scanning halts until the next UTC day.

    Position Caps

    Hard limit of 50 concurrent open positions. Per-strategy caps range from $150 (Flash, Overreaction) to $300 (Logical Arb, Resolution). Duplicate market prevention ensures only one position per market across all strategies.

    Depth-Aware Sizing

    Position size adapts to order book liquidity, never takes more than 15% of available book depth (configurable per strategy from 10–50%). VWAP simulation ensures realistic fill prices.

    Parameter Versioning

    Every strategy has version-controlled parameters stored in the database. Create new versions with changelogs, view full history, and restore any previous version with one click. 60-second runtime cache refresh.

    Strategy Cooldowns

    Per-market cooldowns prevent duplicate analysis (2 hours for Logical Arb, 5 minutes for Flash). Per-strategy cooldowns after consecutive losses prevent tilt-trading.

    Tech Stack

    Python
    React
    TypeScript
    Supabase
    Claude AI
    Docker
    Fly.io
    Polymarket CLOB API
    PandaScore API
    GRID API
    NOAA API
    Open-Meteo API
    Telegram Bot API