Polymarket Monitor
by @xmeir-dev
Monitor Polymarket prediction markets and alert when odds cross a threshold. Use when a user wants to track any Polymarket market probability, set up recurri...
clawhub install polymarket-monitorπ About This Skill
name: polymarket-monitor description: Monitor Polymarket prediction markets and alert when odds cross a threshold. Use when a user wants to track any Polymarket market probability, set up recurring price checks, or get notified when a market's Yes/No probability exceeds a specific percentage. Covers searching for markets by topic, fetching current odds, and setting up cron-based alerts via Slack or other channels.
Polymarket Monitor
Set up ongoing monitoring for any Polymarket prediction market with threshold-based alerts.
Workflow
1. Find the market(s)
Search the Gamma API for active markets matching the user's topic:
curl "https://gamma-api.polymarket.com/events?search=&limit=10&active=true"
Parse the response to find relevant markets. For each, note:
conditionId β needed to fetch pricesquestion β market titleoutcomePrices β current Yes/No probabilities (JSON string)See references/api.md for full API details.
2. Check current odds
Use the bundled script to fetch current prices for one or more markets:
python3 scripts/check_markets.py [conditionId2 ...]
Output: JSON with question, yes_prob (0β1 float), and url per market.
3. Report current state
Show the user the markets found and their current probabilities before setting up monitoring.
4. Set up the cron alert
Create a cron job that runs every N minutes (default: 30) with sessionTarget: "isolated" and payload.kind: "agentTurn". The agent task should:
1. Fetch each market via web_fetch using the Gamma API (conditionId endpoint)
2. Parse outcomePrices[0] as the Yes probability
3. If any market exceeds the threshold: send a Slack DM alert via the message tool (channel=slack, target=
Use delivery.mode: "none" to suppress default cron delivery β the agent handles its own alerting.
Template cron task message:
Check these Polymarket markets. For each, fetch:
https://clob.polymarket.com/markets/
Parse tokens array: find outcome=="Yes" and use its price as probability (0β1).
If any exceeds (e.g. 0.70):
Send Slack DM to with: market question, current %, and Polymarket URL.
If none exceed threshold, do nothing.Markets:
: https://clob.polymarket.com/markets/ | https://polymarket.com/event/
5. Confirm setup
Tell the user:
cron remove )Notes
outcomePrices is always ["yes", "no"] β first value is Yesπ Tips & Best Practices
outcomePrices is always ["yes", "no"] β first value is Yes