TRADE channel streams the market’s public trade tape
alongside the book.
How it works
- One connection, many markets. Open a single WebSocket and subscribe to as many markets as you need (up to a per-connection cap, see limits). Open more connections to scale past the cap. An account can hold up to 20 simultaneous connections (200 subscriptions each). Close connections you no longer need to stay under the limit; dropped or unresponsive connections are cleaned up automatically within about 90 seconds and stop counting against it.
- One subscription per
(market, channel). Each subscription you create gets a server-assignedsubscriptionId. Every frame for that subscription carries the id, and you route incoming frames to your local book by it. - Snapshot, then deltas. The first frame for a book subscription is a full
SNAPSHOT. After that you receiveDELTAframes carrying only the levels that changed. Apply them in order; the sequencing contract guarantees you never have to reconcile a gap yourself. - Optional trade tape. Subscribe with
channels: ["TRADE"](or["BOOK", "TRADE"]) to also receive oneTRADEframe per fill on the market, from the moment you subscribe. Available on Polymarket, Kalshi and ProphetX; Limitless has no public trade feed, so trade subscribes there are rejected withUNSUPPORTED_CHANNEL.
Prices and sizes
Every market is normalized to one scale:
A
Level is { price, size }. You receive separate bids and asks arrays
on a snapshot, and a flat list of changes on a delta where each change is
{ side, price, size } and size: 0 means that price level is now gone.
Step 1: Use your API key
WebSocket connections authenticate with the same signed API key you use for the REST API. There is no separate stream credential. You sign the handshake with your private key during the upgrade; see Authentication. ParlayX issues API keys. If you don’t have one yet and are interested in using this service, reach out to us.Step 2: Identify the markets you want
Each market you stream is described by aMarketStream, a small object keyed
on venue. You build it from venue-native identifiers you already have, or
that you get from the Markets API or
the venue’s List Markets:
Polymarket, ProphetX and Limitless each address one outcome per entry, so you
reach the other outcome by subscribing to its own id as a second entry. On
Limitless the two are views of one shared orderbook, the NO book being the
exact complement of the YES book, and both stream accurately. Kalshi is not
like this: one ticker is one YES-priced book, and only the
YES side is
subscribable.Step 3: Connect and subscribe
Open the WebSocket, wait for theWELCOME frame, then send a SUBSCRIBE. The
Quickstart walks through a complete, runnable example
end to end. The full wire contract (every frame, the sequencing guarantees,
limits, errors, and disconnects) lives in the
WebSocket API reference, starting with
authentication.