GET /v1/stream/orders
Filter parameters
Apply filters to receive only the events relevant to your strategy. Omit a parameter to receive all values for that dimension.| Parameter | Type | Description |
|---|---|---|
traders | string | Comma-separated wallet addresses. Only events where the taker or a maker matches will be delivered. |
tags | string | Comma-separated market tags (e.g. crypto,sports). |
series | string | Comma-separated series slugs (e.g. nba-2026,btc-up-or-down-5m). |
min_usdc / max_usdc | float | Filter by USDC value of the taker order. |
min_shares / max_shares | float | Filter by share quantity of the taker order. |
min_price / max_price | float | Filter by execution price (0–100). |
format | string | Set to json for structured JSON objects. Omit for the default compact array format. |
Output formats
The stream supports two formats. Choose based on your throughput and parsing needs.- Compact array (default)
- JSON (?format=json)
The default format serializes each transaction as a nested array. It is more compact and faster to transmit than equivalent JSON objects — ideal for high-frequency feeds.The array positions map as follows:
Use the parser utilities to convert the compact array into a structured object.
| Index | Field |
|---|---|
[0] | Transaction hash |
[1] | Timestamp |
[2] | Market array (id, question, slug, start_date, end_date, icon, neg_risk, event_slug, series_slug, tags, outcome_1, outcome_2, group_item_title, event_title, event_icon) |
[3] | Taker order array (side, trader array, outcome, token_id, usdc, shares, fee, fee_rate_bps) |
[4] | Array of maker order arrays (same structure as taker) |
Parsing the compact format
The SDK parsers convert a raw compact array into the same shape as the JSON format response. Here is the complete parser code for both languages:Connect and process events
Instantiate the client
Create a
PolyEdgeClient with your API key. The SDK handles authentication via the X-PolyEdge-Key header on every request.Open the stream
Call
streamOrders() / stream_orders() with your filters. The Node.js SDK uses eventsource-client which auto-reconnects on dropped connections.Process each event
Each yielded
order object is already parsed by the SDK. Access order.market, order.takerOrder, and order.makerOrders directly.The SSE event name sent by the PolyEdge API is
order. The SDK already filters on this event name for you, so non-order events (heartbeats, etc.) are silently dropped.