Skip to main content
Bravado’s Market Data layer streams realtime prediction-market data over WebSockets, so you consume live trades and order books through Bravado infrastructure instead of connecting to each venue’s socket yourself. Trade and order-book feeds are served from wss://partner-api.bravadotrade.com:

Live Trades

A realtime stream of fills across every market — no filter and no allowlist — each already enriched server-side with the trader’s name and wallet address.

Order Books

Live order-book snapshots and updates for outcome tokens on Polymarket and Predict.fun. Subscribe to multiple assets over one socket per venue.

Live Combos

One frame per Polymarket combo settlement, with the combo’s legs. History is served by the Data API.

UMA resolution

How Polymarket markets settle through UMA’s Optimistic Oracle: proposals, disputes and outcomes, over REST and as a stream, with the same Market Data credential.

Mempool Fills

The low-latency tier: fills decoded from the Polygon mempool, ~1–2s ahead of the venue feed, with the full pending→settled→reverted lifecycle and the owner wallet behind each proxy. Partner tier, separate feed token.
Market Data is one product and one Console endpoint. Its credential (stream.read, paid plan) opens every feed above except Mempool Fills, which is provisioned separately during onboarding.
Live order books support Polymarket and Predict.fun. The enriched trade feed currently covers Polymarket. See venue order books for the shared message format.

Why stream through Bravado

The venue’s own socket is public, so this is not about access. It is about not rebuilding the same plumbing every prediction-market application needs.

Ultra-low-latency: the mempool feed

For latency-sensitive consumers — market makers, execution engines, signal — Bravado operates a mempool-sourced fills feed in addition to the standard trade feed. Fills are decoded directly from the Polygon public mempool and delivered ~1–2 s before the venue’s own real-time feed reports them (measured against Polymarket RTDS: earlier on ~100% of trades, ~1.5–2 s median). Each fill carries:
  • The full pending → mined → settled lifecycle — including the negative states (reverted / dropped / replaced), so you learn when a trade didn’t land, not just when it did.
  • The controlling wallet (owner EOA) behind the trading proxy, inline on every fill — not just the proxy address.
  • Exact on-chain economics from the settlement calldata, before the trade is confirmed.
The mempool feed is a partner tier — token-gated and provisioned during onboarding. The standard Live Trades feed uses a Market Data credential and mirrors the venue’s own push feed. See the Mempool Fills feed — contact Bravado to enable it.

What you can build

  • Live tickers and tapes. Render a running feed of fills across the market, no polling.
  • Depth and price displays. Drive an order-book widget or a best bid/ask readout straight from the socket.
  • Signal and discovery. Watch flow across every market and react to it in realtime.
  • Enriched activity. Every trade arrives with the trader’s wallet, so you can cross-reference Data API (PnL, positions, history) for the wallets you see trading.

Feeds

Create an account in Console, select an eligible paid plan with WebSockets access, and create a credential with stream.read. Sign the connection with HMAC. Usage belongs to the organisation that issued the key. The low-latency Mempool Fills feed is a partner tier — contact Bravado during onboarding to enable it.

Historical data and custom delivery

Wallet trade history and PnL are available through Data API. REST price history and bounded volume series are described in historical data coverage. For historical L2 events, Parquet extracts, OHLCV, open-interest series or a market catalog integration, contact us with your markets and date range. We can scope delivery from available archives and develop additional datasets. Coverage and delivery dates are agreed per dataset; these are not unrestricted self-service history endpoints.

Health and diagnostics

Each feed exposes a plain HTTP status endpoint you can poll from a health check or dashboard:
The trade-feed status reports whether the upstream source is connected, how many trades it has emitted, the size of the recent buffer, and the current connected-client count.