Skip to main content
Kuest exposes a WebSocket gateway for low-latency market and user updates.

Endpoints

  • Production: wss://ws-subscriptions-clob.kuest.com/ws/{market|user}

Channels

ChannelUse caseAuth
marketPublic market data (order book, price changes, tick size, best bid/ask, last trade).None
userPrivate order and trade updates scoped to your API key.Required

Subscribe

Send a subscription payload immediately after opening the socket.
FieldTypeDescription
typestringmarket or user.
assets_idsstring[]Token IDs to receive market events for (market channel only).
marketsstring[]Condition IDs to receive user events for (user channel only).
authobjectL2 API credentials for the user channel.
custom_feature_enabledbooleanEnable additional market data (best_bid_ask, new_market, planned market_resolved).
Example (market):
{
  "type": "market",
  "assets_ids": ["<token_id>"],
  "custom_feature_enabled": true
}
Example (user):
{
  "type": "user",
  "markets": ["<condition_id>"],
  "auth": {
    "apikey": "<uuid>",
    "secret": "<base64-secret>",
    "passphrase": "<hex-passphrase>"
  }
}

Update subscriptions

To remove subscriptions, send an unsubscribe payload:
{
  "operation": "unsubscribe",
  "assets_ids": ["<token_id>"],
  "markets": ["<condition_id>"]
}

Payload conventions

  • All numeric values are strings (prices, sizes, timestamps).
  • owner, trade_owner, and order_owner are rewritten to the caller API key.
  • book.hash uses sha1(orderbook_summary_json) with the hash field zeroed.
  • price_change.hash currently uses the internal order ULID.

Availability

  • Available: book, price_change, tick_size_change, last_trade_price, best_bid_ask (requires custom_feature_enabled), new_market (requires custom_feature_enabled), order, trade.
  • Planned: market_resolved (requires custom_feature_enabled), trade status RETRYING (TBD).
See the User channel and Market channel pages for event schemas.