Skip to main content

Overview

The /ws/v1/markets endpoint streams real-time market data. No authentication is required.
Four subscription types are available:

Activity feed

Subscribe to trade activity for a prediction event. Optionally filter by a specific market.

Subscribe

To filter activity to a specific market within the event:
Room names: activity:<eventId> or activity:<eventId>:<marketId>

Events received

buy_order — A buy order was filled.
sell_order — A sell order was filled.
quantity is floored. createdAt and updatedAt are ISO 8601 strings.

Unsubscribe

For a market-specific subscription:

Price updates

Subscribe to price changes for all markets in a prediction event.

Subscribe

Room name: prices:<eventId>

Events received

price_update — A market price changed. The data field contains the full event snapshot. Example (trimmed):

Unsubscribe

Orderbook updates

Subscribe to order book snapshots for specific markets. Snapshots reflect the current state of bids and asks.

Subscribe

To receive orderbook data in a specific currency:
marketIds supports up to 10 markets per subscription. The currency field accepts USD or NGN.
Room names: orderbook:<marketId> or orderbook:<marketId>:<currency>

Events received

orderbook_update — The order book snapshot was updated.

Unsubscribe

For USD (default):
For NGN:

User trades

Subscribe to a specific user’s trade activity across all markets. Receives buy_order and sell_order events whenever the user’s orders are filled, regardless of the market engine (CLOB or AMM). To get a user’s ID from their tag, use the Lookup user endpoint.

Subscribe

Room name: user_trades:<userId>

Events received

buy_order / sell_order — The user’s order was filled.

Unsubscribe

Full example