prediction.watch
ActiveTool of Syenite
Registers a persistent background monitor for a specific Polymarket market that fires alerts when user-defined conditions are met. Supported conditions (at least one required): oddsThresholdPct (fire when implied probability crosses a target level), oddsMovePct (fire when probability moves by a delta% within a windowMinutes window), liquidityDropPct (fire when liquidity falls by a percentage from baseline), resolutionApproachingHours (fire when the market closes within N hours), and volumeSpikeMultiple (fire when 24h volume exceeds baseline by a multiple). Requires either slug or conditionId to identify the market (both returned by prediction.trending and prediction.search); optionally provide webhookUrl to receive POST payloads when conditions fire. Triggered alerts flow through alerts.check; use the returned watch ID with alerts.remove to stop monitoring. Does not place or cancel orders.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"conditions"
],
"properties": {
"slug": {
"type": "string",
"description": "Polymarket market slug"
},
"conditions": {
"type": "object",
"properties": {
"oddsMovePct": {
"type": "object",
"required": [
"delta",
"windowMinutes"
],
"properties": {
"delta": {
"type": "number",
"description": "Minimum probability shift to trigger (percentage points, e.g. 5)",
"exclusiveMinimum": 0
},
"windowMinutes": {
"type": "number",
"description": "Time window to measure the move over (minutes)",
"exclusiveMinimum": 0
}
},
"description": "Alert on a significant odds move within a time window"
},
"liquidityDropPct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Alert when liquidity drops by this percentage"
},
"oddsThresholdPct": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Alert when YES probability crosses this threshold (0-100)"
},
"volumeSpikeMultiple": {
"type": "number",
"description": "Alert when volume exceeds this multiple of the 24h average (e.g. 3 = 3x spike)",
"exclusiveMinimum": 1
},
"resolutionApproachingHours": {
"type": "number",
"description": "Alert when resolution is within this many hours",
"exclusiveMinimum": 0
}
},
"description": "At least one condition required"
},
"webhookUrl": {
"type": "string",
"format": "uri",
"description": "Optional HTTPS webhook for alert delivery"
},
"conditionId": {
"type": "string",
"description": "Polymarket condition ID"
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Syenite
https://github.com/syenite-ai/syenite
1/7 registries