Polymarket-skills polymarket-monitor
git clone https://github.com/mjunaidca/polymarket-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/mjunaidca/polymarket-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/polymarket-monitor" ~/.claude/skills/mjunaidca-polymarket-skills-polymarket-monitor && rm -rf "$T"
polymarket-monitor/SKILL.mdPolymarket Monitor
Monitor live Polymarket prediction markets for price changes, volume spikes, and spread movements. Outputs structured JSON alerts when thresholds are crossed. All endpoints are read-only and require no API keys.
Prerequisite: This skill uses token IDs from the
polymarket-scanner skill. Run scan_markets.py first to discover markets and obtain token IDs.
Quick Start
All scripts require the Python venv at
/home/verticalclaw/.venv.
Monitor Multiple Markets for Price Alerts
source /home/verticalclaw/.venv/bin/activate && python polymarket-monitor/scripts/monitor_prices.py \ --token-id "<TOKEN_ID_1>" \ --token-id "<TOKEN_ID_2>" \ --interval 30 \ --threshold 5.0
This polls every 30 seconds and prints a JSON alert whenever a token's midpoint moves more than 5% from its baseline.
Watch a Single Market Live
source /home/verticalclaw/.venv/bin/activate && python polymarket-monitor/scripts/watch_market.py \ --token-id "<TOKEN_ID>" \ --interval 15
Prints a JSON snapshot every 15 seconds with price, spread, and order book depth.
Scripts
monitor_prices.py
Polls multiple tokens at a set interval and emits JSON alerts when price changes exceed a threshold.
Arguments:
— CLOB token ID to monitor (repeatable, at least one required)--token-id ID
— Polling interval in seconds (default: 30, minimum: 5)--interval N
— Percentage change to trigger an alert (default: 5.0)--threshold N
— Stop after N polls (default: unlimited, use for non-interactive runs)--max-polls N
— Number of recent prices to average for baseline (default: 1, meaning compare to last poll)--baseline-window N
Output: One JSON object per line for each alert:
{ "type": "price_alert", "token_id": "...", "timestamp": "2026-02-26T12:00:00Z", "current_price": 0.65, "baseline_price": 0.60, "change_pct": 8.33, "direction": "up", "spread": 0.02, "poll_number": 5 }
Non-alert polls print a status line to stderr so the agent knows monitoring is active.
watch_market.py
Continuously monitors a single market, printing a JSON snapshot each interval with price, spread, volume, and order book summary.
Arguments:
— CLOB token ID to watch (required)--token-id ID
— Snapshot interval in seconds (default: 15, minimum: 5)--interval N
— Stop after N snapshots (default: unlimited)--max-polls N
Output: One JSON object per line per snapshot:
{ "type": "market_snapshot", "token_id": "...", "timestamp": "2026-02-26T12:00:00Z", "midpoint": 0.55, "best_bid": 0.54, "best_ask": 0.56, "spread": 0.02, "bid_depth": 15000.0, "ask_depth": 12000.0, "last_trade_price": 0.55, "last_trade_side": "BUY", "poll_number": 1 }
Data Flow
- Run
to find markets and get token IDspolymarket-scanner/scripts/scan_markets.py - Pass token IDs to
for multi-market alertingmonitor_prices.py - Or pass a single token ID to
for detailed single-market trackingwatch_market.py
Monitoring Guide
For recommended thresholds by market type and advanced monitoring strategies, see
references/monitoring-guide.md.