Skip to main content
The Firm Realtime WebSocket is a single persistent connection that delivers every firm-scoped domain event — trader onboarding, account lifecycle, orders, fills, positions, trades, balances, risk breaches, and footprint signals — as it happens. It is the lowest-latency way to keep an integration in sync with Tradara without polling.
This stream is for prop firm integrators (firm API keys) and staff dashboards (session JWT). It is not the trader terminal stream and does not carry market data.

When to use it

The type strings on the stream are identical to webhook event_types — anything you can subscribe to via POST /v1/firm-control/webhooks is also emitted here.

What you get

  • One socket per firm scope. Open the connection, send scope.set, and receive a filtered firehose of everything that scope covers.
  • Three subscription tiers — firm, user, account — translated server-side into NATS wildcards. Add an optional entity filter to narrow further (e.g. only trades).
  • Sequenced events. Every envelope carries a JetStream seq; persist the highest you’ve processed and pass it as ?last_seq= on reconnect for replay.
  • ~24h retention in the JetStream buffer. Gaps longer than that require HTTP hydration.
  • Stable envelope (schema: ws.firm.v1) across every domain — one parser handles all event types.

High-level flow

Endpoints

The optional ?last_seq=<uint> query parameter requests replay from a specific JetStream sequence — use it after close code 4002 or any reconnect where you want exactly-once continuity within the retention window.

Source of truth

The machine-readable contract is the AsyncAPI document at tradara-core/services/firm-ws/api/asyncapi.yaml. When this site disagrees with the spec, the spec wins. The FirmEventType enum there is the canonical list of event type values.

Next steps

Connect & authenticate

Headers, URL, and close codes.

Subscription scopes

Pick firm, user, or account and optionally filter by entity.

Try it: playground

Open a live WebSocket session generated from the AsyncAPI spec.

Event catalog

All 40+ event types grouped by domain.

Examples

wscat, Node, and Python.