GET /stream
Public WebSocket stream (legacy)
Public WebSocket stream (legacy).
operationId: connectStream
Not reachable through CCXT. WebSocket transport and token minting. Covered by the CCXT Pro channel map, not by a REST unified method.
Authentication: none declared, and the contract declares no document-level default — this operation carries its own signature in the request body. See the description above.
Legacy public-only WebSocket endpoint. Prefer GET /ws which also supports per-account channels. No token is required. Token auth was removed from this endpoint in ENG-3128 — the token store was per-instance, so a token minted on one instance was unknown to another during a rolling deploy and the upgrade failed with a spurious 401. The upgrade is served unauthenticated on purpose: this channel carries only public market data (trades, book, stats) and never per-account data. security being absent above is therefore accurate, and this sentence used to contradict it. Unlike /ws, the protocol is a single untagged subscribe message listing channels:
{"subscribe": ["trades:*", "book:BTC-USDX-PERP", "stats"]}Channels: trades:* / trades:{market_id}, book:* / book:{market_id}, stats.
Parameters
token
query
string
Yes
—
Short-lived token from POST /ws-tokens
Responses
101
— (no schema declared)
Switching Protocols — WebSocket upgrade.
Example
curl -X GET 'https://exchange.nexus.xyz/api/exchange/stream'import requests
response = requests.get("https://exchange.nexus.xyz/api/exchange/stream")
response.raise_for_status()
print(response.json())const response = await fetch("https://exchange.nexus.xyz/api/exchange/stream", {
method: "GET",
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
console.log(await response.json());Generated from eng/apps/exchange/api/openapi.json (spec 0.9.36). Do not edit by hand — regenerate with python3 product/docs/tools/api-reference/generate.py. Hand-authored context lives in the Guides pages.
Last updated

