Polymarket Spread Sniper
by @prysm96
Snipe mispriced Polymarket markets by comparing AMM price vs live CLOB orderbook midpoint. Buys the underpriced side when edge > 3% on liquid markets. Exits...
export SIMMER_API_KEY=sk_live_...Dry run (SIM mode β safe, no real money)
python spread_sniper.pyLive trading
python spread_sniper.py --liveShow open positions with P&L
python spread_sniper.py --positionsP&L summary (realized + unrealized)
python scripts/spread_pnl.pyP&L history log
python scripts/spread_pnl.py --history
All settings can be overridden via environment variables or tuned from the Simmer dashboard.
| Setting | Env Var | Default | Description |
|---------|---------|---------|-------------|
| Min edge | SIMMER_SPREAD_MIN_EDGE | 0.03 | Min AMM/CLOB divergence to trade (3%) |
| Min volume | SIMMER_SPREAD_MIN_VOLUME | 5000 | Min 24h volume in USD |
| Max position | SIMMER_SPREAD_MAX_POSITION | 5.00 | Max USD per trade |
| Max trades/run | SIMMER_SPREAD_MAX_TRADES | 3 | Max new trades per scan |
| Min price | SIMMER_SPREAD_MIN_PRICE | 0.10 | Never buy below 10Β’ |
| Max price | SIMMER_SPREAD_MAX_PRICE | 0.90 | Never buy above 90Β’ |
| Max hours | SIMMER_SPREAD_MAX_HOURS | 24 | Skip markets resolving >24h out |
| Max CLOB spread | SIMMER_SPREAD_MAX_CLOB_SPREAD | 0.05 | Skip illiquid books (bid-ask > 5Β’) |
| Daily spend cap | SIMMER_SPREAD_DAILY_MAX | 100.00 | Max USD deployed per day |
| Take-profit | SIMMER_SPREAD_TP_PCT | 0.60 | Exit when 60% of entry edge captured |
| Time-stop | SIMMER_SPREAD_TS_PCT | 0.50 | Exit when 50% of market window elapsed |
| Market exclude | SIMMER_SPREAD_EXCLUDE | *(68 keywords)* | Comma-separated keywords to skip |
clawhub install polymarket-spread-sniper