Overview
Webhooks let you subscribe to real-time events from Polymarket (like trades, PnL changes, volume milestones, and price spikes) delivered directly to your server as HTTP POST requests. Instead of polling the API, webhooks push data to you the moment something happens. Deliveries are event-driven, evaluated inline as on-chain activity is ingested rather than on a polling cycle.Base URL
All webhook management requests use the same base URL as the REST API:Setting Up Your First Webhook
1
Create an account
Sign up at struct.to/dashboard and create an organisation.
2
Generate an API key
Navigate to the API Keys section in your dashboard and create a new key.
3
Prepare your endpoint
Set up an HTTP endpoint on your server that accepts POST requests and returns a
200 status code. Your endpoint must be publicly accessible.4
Create a webhook subscription
Register your endpoint with the event you want to listen to. Each subscription targets a single event with its own filters — create one subscription per event:
5
Test your webhook
Send a test payload to verify connectivity:
Available Events
Trader Events
Market & Event Metrics
Volume Milestones
Spikes
Market Lifecycle
Asset Prices
Filtering
Webhooks support granular filters so you only receive the events you care about. Filters can be passed when creating or updating a webhook:- Wallet address: track specific traders
- Market / condition ID: target specific markets
- Event slug: filter by event
- USD thresholds: minimum/maximum value bounds
- Probability range: 0.0 to 1.0
- PnL bounds and volume minimums
one_shot to fire once and then delete the subscription automatically. See Fire-and-Delete.
Verifying Payloads
If you provide asecret when creating your webhook, each delivery includes an X-Webhook-Signature header (HMAC-SHA256 of the raw body) you can use to verify the payload originated from Struct.