Stream Stats
The exchange’s live stats for each subscribed market, complete on subscribe and again whenever they change.
/wsAuthorization
UDX-Access-KeyAPI key · headerrequiredOpaque API key ID.
UDX-Access-TimestampAPI key · headerrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignatureAPI key · headerrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
statsDeliver one market's complete current stats.
typestringrequiredIdentifies a market stats frame.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgStatsPayloadrequiredOne market's stats.
Show propertiesHide properties
statsMarketStatsUpdaterequiredThe exchange's live figures for a market.
Show propertiesHide properties
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
open_intereststringrequiredContracts held long, which equals contracts held short.
last_pricestringPrice of the most recent trade on any day. Absent until the market has traded.
dayMarketDayStatsrequiredTrading activity in the current trade day. Prices are absent until the market trades in the day.
Show propertiesHide properties
openstringPrice of the day's first trade.
highstringHighest trade price of the day.
lowstringLowest trade price of the day.
volumestringrequiredContracts traded in the day.
notionalstringrequiredDollars traded in the day.
updated_atstring<date-time>requiredWhen the exchange last updated these figures.
permission_deniedThe caller lacks required access.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
channel_unavailableThe channel's upstream source cannot serve the operation right now. Retry with backoff; the connection stays usable.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
internal_errorAn unexpected failure left connection state safe to continue.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
Channel Bindings
wsmethodGETheadersUDX-Access-KeystringrequiredOpaque API key ID.
UDX-Access-TimestampstringrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignaturestringrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
Sec-WebSocket-ProtocolstringrequiredNegotiated dated WebSocket API version.
stats
{
"type": "stats",
"sid": 5,
"seq": 3,
"msg": {
"stats": {
"ticker": "UDX-EXAMPLE-MARKET",
"open_interest": "1200",
"last_price": "0.54",
"day": {
"open": "0.51",
"high": "0.56",
"low": "0.5",
"volume": "840",
"notional": "445.2"
},
"updated_at": "2026-01-01T00:00:00.000000Z"
}
}
}permission_denied
{
"type": "error",
"sid": 7,
"msg": {
"code": "permission_denied",
"detail": "the market is no longer visible to this member",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}channel_unavailable
{
"type": "error",
"sid": 7,
"msg": {
"code": "channel_unavailable",
"detail": "current market data is unavailable for this subscription",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}internal_error
{
"type": "error",
"sid": 7,
"msg": {
"code": "internal_error",
"detail": "the subscription could not be continued",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}