Skip to main content
Four channel types, one envelope. Every message arrives wrapped in:
{"type": "data", "channel": "dist:fomc-2026-04-29", "data": { ... }}

Channel types

ChannelSubscribe toDescriptionTier
distdist:fomc-2026-04-29Cross-venue probability distribution for all outcomesFree
bookbook:fomc-2026-04-29:holdNormalized orderbook updates for one outcomePro
tradetrade:fomc-2026-04-29:holdTrade executions for one outcomePro
snapshotsnapshot:fomc-2026-04-29Full state reset every 60s for all outcomesPro

Distribution

Shows the market-implied probability for every outcome in an event, combining data from both venues.
{
  "event_key": "fomc-2026-04-29",
  "seq": 312,
  "published_ts": 1773892530947,
  "outcomes": [
    {
      "outcome": "hold",
      "label": "Fed maintains rate",
      "kalshi_prob": 0.945,
      "poly_prob": 0.955,
      "prob": 0.9479,
      "kalshi_depth_usd": 4714197.04,
      "poly_depth_usd": 1965879.48
    }
  ],
  "total_kalshi_depth_usd": 4784397.57,
  "total_poly_depth_usd": 2104564.65,
  "reference": {
    "source": "binance",
    "symbol": "BTCUSDT",
    "spot_bid": 68641.30,
    "spot_ask": 68641.31,
    "spot_mid": 68641.30,
    "futures_mark": 68723.51,
    "funding_rate": -0.00002124,
    "volume_24h": 951752117.03,
    "ts": 1774246512319
  }
}
FieldDescription
probCombined probability, weighted by each venue’s liquidity. Kalshi at 94.5% with 4.7M USD depth + Polymarket at 95.5% with 2.0M USD depth = 94.79%.
kalshi_prob / poly_probEach venue’s YES mid-price (best bid + best ask) / 2. Null if that venue has no data.
kalshi_depth_usd / poly_depth_usdTotal USD within +/-5c of mid on each venue. Shows how much liquidity backs each probability.
referenceExternal reference data (e.g., Binance spot/futures for crypto events). Only present on enriched feeds. See crypto feed for field details.

Book update

Normalized orderbook updates from both venues. Prices are contract prices (0-1), sizes are absolute quantities. Derived fields like best bid/ask, mid, spread, and depth are pre-computed on every update.
{
  "event_key": "fomc-2026-04-29",
  "outcome": "hold",
  "venue": "polymarket",
  "token": "yes",
  "venue_id": {
    "condition_id": "0x36e8ca2...",
    "token_id": "63586620628..."
  },
  "seq": 4217,
  "exchange_ts": 1773892530351,
  "received_ts": 1773892530360,
  "published_ts": 1773892530363,
  "update_type": "delta",
  "levels": [
    {"side": "bid", "price": "0.955", "size": 8300.00},
    {"side": "ask", "price": "0.965", "size": 0}
  ],
  "best_bid": "0.955",
  "best_ask": "0.965",
  "mid": "0.960",
  "spread": "0.010",
  "bid_depth_usd": 47141.97,
  "ask_depth_usd": 23456.78,
  "reference": { ... }
}
FieldDescription
venue_idIdentifiers to execute on the venue. Kalshi: market ticker. Polymarket: condition ID + token ID.
update_type”snapshot” = full book replacement. “delta” = only changed levels. Size of 0 = level removed.
levelsPrice levels with side (bid/ask), price (0-1), and size (absolute quantity after this update).
best_bid / best_ask / mid / spreadPre-computed from full cross-token book state, not just the levels in this update.
bid_depth_usd / ask_depth_usdTotal USD within +/-5c of mid on bid and ask sides.
referenceExternal reference data for enriched feeds. Only present on crypto events. Omitted for macro.

Trade

Every trade execution from both venues, including the specific contract traded, price, quantity, and a venue-provided trade ID.
{
  "event_key": "fomc-2026-04-29",
  "outcome": "hold",
  "venue": "kalshi",
  "token": "no",
  "action": "buy",
  "venue_id": {"market_ticker": "KXFEDDECISION-26APR-H0"},
  "seq": 89,
  "exchange_ts": 1773892530000,
  "received_ts": 1773892530008,
  "published_ts": 1773892530010,
  "price": "0.06",
  "qty": 136.00,
  "trade_id": "a4d77927-dafe-5bde-53ed-80f6129cfd19",
  "reference": { ... }
}

Timestamps

Every book and trade message carries four timestamps (Unix ms) for end-to-end latency decomposition.
FieldDescription
exchange_tsWhen the exchange says the event occurred. Null if not provided by the venue.
received_tsWhen we read the raw message off the venue WebSocket.
published_tsWhen the normalized message was published internally.
gateway_tsWhen the gateway sent the message to your WebSocket.