{
"type": "subscribe",
"channel": "markets"
}{}{
"type": "channel_data",
"channel": "markets",
"contents": {
"isSnapshot": true,
"markets": {
"1": {
"marketDisplayName": "BTC-USD",
"marketId": 1,
"status": "ONLINE",
"baseAsset": "BTC",
"quoteAsset": "USD",
"tickSize": "0.01",
"stepSize": "0.0001",
"minOrderSize": "0.0001",
"maxOrderSize": "10000",
"oraclePrice": "94500.00",
"markPrice": "94500.50",
"lastTradePrice": "94498.00",
"fundingRate": "0.0001",
"nextFundingRate": "0.00012",
"nextFundingAt": 1712349600,
"priceChange24h": "0.025",
"volume24h": "1234.5678",
"trades24h": 4242,
"openInterest": "312.4567",
"initialMarginFraction": "0.05",
"maintenanceMarginFraction": "0.03",
"type": "PERPETUAL"
},
"2": {
"marketDisplayName": "ETH-USD",
"marketId": 2,
"status": "ONLINE",
"baseAsset": "ETH",
"quoteAsset": "USD",
"oraclePrice": "3050.00",
"markPrice": "3050.25",
"lastTradePrice": "3049.80",
"fundingRate": "0.00005",
"nextFundingRate": "0.00007",
"nextFundingAt": 1712349600,
"type": "PERPETUAL"
}
}
}
}Markets
Endpoint:
wss://api.arcus.xyz/v1/ws— one socket multiplexes every channel and RPC request. Click Connect, then send the example subscribe message below to start receiving data.
Global channel — no id required. Streams full per-market metadata for all listed markets.
Snapshot-only channel: every message is a full map of all markets keyed by marketId (same shape on subscribe and on every periodic re-emission, no partial diffs). Clients replace their entire markets view on each message.
Cadence: ~5s periodic snapshot, plus an immediate snapshot when a new funding rate is applied (~hourly) so the just-applied fundingRate propagates without waiting for the next periodic snapshot.
Field coverage today: marketDisplayName, marketId, baseAsset, quoteAsset, status (always ONLINE today — dynamic state changes not yet plumbed), static config (tick/step/min/max sizes, margin fractions, fees), oraclePrice, fundingRate, nextFundingRate, and nextFundingAt are populated. priceChange24h is the fractional change in the mark price over the trailing 24h (not the oracle price): a per-market ring holds the first mark price seen each minute over a rolling 1441-minute window, and the value is (currentMark - oldestMark) / oldestMark. volume24h, high24h, low24h, and trades24h are populated by the rolling-24h aggregator (in-memory ring of the last 1440 closed 1m candles per market) and refresh every ~10s. High/low use only closed candles with at least one trade (gap-fill buckets are excluded). openInterest is the total size of all open long positions per market (equals total short), in base asset units, refreshed from a periodic snapshot (default ~60s) so it may lag real time. openInterestCap (present only while a cap is active) is the operator-set maximum open-interest USD notional, refreshed on the same cadence.
{
"type": "subscribe",
"channel": "markets"
}{}{
"type": "channel_data",
"channel": "markets",
"contents": {
"isSnapshot": true,
"markets": {
"1": {
"marketDisplayName": "BTC-USD",
"marketId": 1,
"status": "ONLINE",
"baseAsset": "BTC",
"quoteAsset": "USD",
"tickSize": "0.01",
"stepSize": "0.0001",
"minOrderSize": "0.0001",
"maxOrderSize": "10000",
"oraclePrice": "94500.00",
"markPrice": "94500.50",
"lastTradePrice": "94498.00",
"fundingRate": "0.0001",
"nextFundingRate": "0.00012",
"nextFundingAt": 1712349600,
"priceChange24h": "0.025",
"volume24h": "1234.5678",
"trades24h": 4242,
"openInterest": "312.4567",
"initialMarginFraction": "0.05",
"maintenanceMarginFraction": "0.03",
"type": "PERPETUAL"
},
"2": {
"marketDisplayName": "ETH-USD",
"marketId": 2,
"status": "ONLINE",
"baseAsset": "ETH",
"quoteAsset": "USD",
"oraclePrice": "3050.00",
"markPrice": "3050.25",
"lastTradePrice": "3049.80",
"fundingRate": "0.00005",
"nextFundingRate": "0.00007",
"nextFundingAt": 1712349600,
"type": "PERPETUAL"
}
}
}
}Full markets state delivered as the subscribe response. Same shape as the periodic MarketsUpdate — the markets channel is snapshot-only.
Periodic re-snapshot of all markets. Replaces the client's full markets view; there are no partial diffs on this channel.
Was this page helpful?