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 Trades
PREVIEWReturns a chronological fill feed for HIP-4 outcome markets. Each row is a single fill carrying price, size, side (BID = user bought, ASK = user sold), and one of seven directions:
- BUY, SELL: regular taker matches. These are the only directions that flow into OHLCV candles.
- SETTLEMENT: payout when the outcome resolved. Size = position cleared, price = 1 on the winning leg or 0 on the losing leg.
- SPLIT_OUTCOME: user minted both Yes+No legs by depositing $1 of the quote token.
- MERGE_OUTCOME: user redeemed Yes+No legs back to $1 of the quote token.
- MERGE_QUESTION: user redeemed a full set of question outcomes back to $1 (multi-outcome only).
- NEGATE_OUTCOME: converted a Yes-leg holding into a No-leg holding for the *other* outcomes under the same question (multi-outcome only).
Filters compose additively. At least one of coin, outcome_id, question_id, or user is required. Defaults to the last 24 hours when no time range is specified.
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=....
For candle aggregates of the BUY/SELL subset, see /v1/hyperliquid/outcomes/ohlc. fee_token shows +<coin_number> on zero-fee fills (Hyperliquid wire-format quirk).
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 |
question_id query | string · uint64 | HIP-4 question id (UInt64). Groups multi-outcome questions (e.g. World Cup). Binary single-outcome markets have no question id. Single value or array of values* (separate multiple values with ,)*Plan restricted. e.g. 32 |
user query | string · evm-address | Filter by address Single value or array of values* (separate multiple values with ,)*Plan restricted. e.g. 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 |
direction query | Enum · 7 | Restrict by outcome direction tag. BUY/SELL are taker matches; SETTLEMENT is the resolution payout; the four *_OUTCOME/MERGE_QUESTION tags are HIP-4 collateral reshapes. Omit for all seven.Single value or array of values* (separate multiple values with ,)*Plan restricted. BUYSELLSETTLEMENTSPLIT_OUTCOMEMERGE_OUTCOMEMERGE_QUESTIONNEGATE_OUTCOME e.g. BUY |
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": [ { "block_num": 1036093214, "timestamp": "2026-06-15 06:00:23", "transaction_hash": "0x40163a5290e2756e418f043dc1871e00005152382be59440e3dee5a54fe64f58", "transaction_id": 218233422822675, "event_index": 347, "user": "0xfc0a9d73b4382348bac7f4f600439bc61bb00271", "side": "ASK", "direction": "SETTLEMENT", "price": 1, "size": 428, "notional": 428, "start_position": "428.0", "closed_pnl": 75.00065, "fee": 0, "fee_token": "USDC", "order_id": 469409912004, "client_order_id": "", "twap_id": 0, "crossed": true, "outcome": { "outcome_id": 329, "outcome_name": "Recurring", "question_id": null, "question_name": null, "status": "settled", "settle_fraction": 1, "coin": "#3290", "side_index": 0, "side_label": "Yes" } } ] }