Install
openclaw skills install polymarket-monitorMonitor Polymarket prediction markets and alert when odds cross a threshold. Use when a user wants to track any Polymarket market probability, set up recurri...
openclaw skills install polymarket-monitorSet up ongoing monitoring for any Polymarket prediction market with threshold-based alerts.
Search the Gamma API for active markets matching the user's topic:
curl "https://gamma-api.polymarket.com/events?search=<topic>&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.
Use the bundled script to fetch current prices for one or more markets:
python3 scripts/check_markets.py <conditionId1> [conditionId2 ...]
Output: JSON with question, yes_prob (0–1 float), and url per market.
Show the user the markets found and their current probabilities before setting up monitoring.
Create a cron job that runs every N minutes (default: 30) with sessionTarget: "isolated" and payload.kind: "agentTurn". The agent task should:
web_fetch using the Gamma API (conditionId endpoint)outcomePrices[0] as the Yes probabilitymessage tool (channel=slack, target=<user_id>)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/<conditionId>
Parse tokens array: find outcome=="Yes" and use its price as probability (0–1).
If any exceeds <threshold> (e.g. 0.70):
Send Slack DM to <user_slack_id> with: market question, current %, and Polymarket URL.
If none exceed threshold, do nothing.
Markets:
- <question>: https://clob.polymarket.com/markets/<conditionId> | https://polymarket.com/event/<slug>
Tell the user:
cron remove <id>)outcomePrices is always ["yes", "no"] — first value is Yes