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