Quickstart
Preview Polymarket activity with recent trade events for a market token. Swap in any token, condition, or event type from the endpoint catalog below.
1curl 'https://api.pinax.network/v1/polymarket/markets/activity?token_id=53342136288932702007624506186417846874594504126387502748453102780630218207922&event_type=trade&limit=10&page=1' \2 -H 'Authorization: Bearer <YOUR_JWT>' \3 -H 'Accept: application/json'
Outcome OHLCV
PREVIEWReturns OHLCV candles for one or more outcome legs over the requested interval. Provide either coin (full Hyperliquid coin identifier, e.g. #1730) or outcome_id (UInt64); both accept CSV for batched grid views. With outcome_id, the side selector resolves to side_index 0 (yes, default), 1 (no), or returns both (both).
Trade-side fields (buy_volume, sell_volume) carry the directional split: buy_volume counts taker buys of this leg, sell_volume counts taker sells. Composition events (SPLIT_OUTCOME, MERGE_OUTCOME, MERGE_QUESTION, NEGATE_OUTCOME) and SETTLEMENT payouts are excluded from candles by design; query them via /v1/hyperliquid/outcomes/trades for the raw stream.
When multiple legs are requested, each timestamp bucket is paginated as a unit — the response contains every requested leg's candle for the most recent limit distinct timestamps.
Every row embeds the compact outcome leg context (outcome_id, outcome_name, question_id, question_name, status, settle_fraction, coin, side_index, side_label). For full outcome metadata call /v1/hyperliquid/outcomes?outcome_id=....
Optional parameters
| Name | Type | Description |
|---|---|---|
coin query | string | Outcome coin (#<outcome_id*10 + side_index>). Side index = 0 or 1. Bare digits accepted (auto-prefixed). Discover via /v1/hyperliquid/outcomes.Single value or array of values* (separate multiple values with ,)*Plan restricted. e.g. #1720 |
outcome_id query | string · uint64 | HIP-4 outcome id (UInt64). One outcome has two side coins, #<id*10> and #<id*10+1>.Single value or array of values* (separate multiple values with ,)*Plan restricted. e.g. 172 |
side query | Enum · 3 | yes (default) returns candles for the side at side_index=0, no for side_index=1, both returns both legs interleaved. Only used in combination with outcome_id; ignored when coin is provided explicitly.yesnoboth |
interval query | Enum · 8 | The interval* for which to aggregate price data (1-minute, 5-minutes, 10-minutes, 30-minutes, hourly, 4-hours, daily or weekly). *Plan restricted. 1m5m10m30m1h4h1d1w |
start_time query | Datetime | UNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...). |
end_time query | Datetime | UNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...). |
limit query | integer | Number of items* returned in a single request. *Plan restricted. |
page query | integer | Page number to fetch. Empty data array signifies end of results. |
Response
200 OK{ "data": [ { "timestamp": "2026-06-16 15:00:00", "interval_min": 60, "open": 0.09562, "high": 0.09732, "low": 0.09525, "close": 0.09688, "buy_volume": 4521.32, "sell_volume": 2814.71, "gross_volume": 7336.03, "net_volume": 1706.61, "transactions": 18, "outcome": { "outcome_id": 173, "outcome_name": "Argentina", "question_id": 32, "question_name": "2026 World Cup Champion", "status": "live", "settle_fraction": null, "coin": "#1730", "side_index": 0, "side_label": "Yes" } } ] }