Skip to main content
After the connected frame, the client picks one subscription scope by sending a scope.set control message. The server translates it into a NATS subject pattern and begins forwarding matching events. Sending another scope.set replaces the current subscription.

Tiers

Optional entity filter

Add "entity": "<name>" to narrow delivery to one entity family inside the chosen scope. Useful for high-volume dashboards that only need part of the firehose. Common values: users, relationships, accounts, orders, fills, positions, trades, balances, stats, risk, ip_logs, devices, fingerprints, hedge. See the event catalog for the full list.

Examples

Firm-wide (high volume)

One trader, all accounts

Single account drill-down

Trader’s trades only (entity filter)

Server confirmation

Errors

Common error reasons:
  • user not in firm scope — user_id belongs to a different firm.
  • account not in firm scope — account_id is not provisioned for this firm.
  • missing user_id / missing account_id — required field absent for the chosen scope.
  • unknown scope — value not in firm, user, account.

NATS subject tiers

Clients never subscribe to NATS directly. The server maps each scope to a wildcard subject:The subscription field in scope.confirmed echoes the resolved pattern. Use it to debug delivery scope against the AsyncAPI document.