Skip to main content
WSS
appId
type:userPassword

App-level auth: pass appId as a query parameter on connect. Required for all connections. Browsers are admitted by an Origin on the app's allowed origins; servers by the apiKey scheme instead.

x-app-api-key
type:httpApiKey

Optional server-to-server auth on the handshake; any supplied key must be valid and replaces the Origin check. Without a key, an allowed Origin is required even when the app has requireApiKey for REST. WebSocket key enforcement is currently deferred. Needed for the app-events channel and for the firehose channel on the orderbook socket. Never send from a browser.

jwt
type:http

User-level auth: send { action: 'authenticate', token } after connected (a token query param still works but is deprecated). Required for user-specific events (orders, balances). Same JWT as the REST API.

Connection acknowledged
type:object

Sent immediately after successful connection. Includes userId if JWT was provided on connect.

User authenticated
type:object

Confirms successful mid-session authentication

Heartbeat
type:object

Application-level heartbeat event for connection liveness

Authenticate user mid-session
type:object

Upgrade connection to user-level auth. Uses the same JWT as the REST API. Supports re-authentication for token refresh or user switch.