ticker channel pushes a contract’s 24-hour rolling statistics about once per second. Each frame carries the same fields as one entry of the REST ticker response, so you can drive a market header or watchlist row from the stream alone. This is a public channel and requires no authentication.
To track every contract at once with a lighter payload, use the allMarkets channel instead.
Subscribing
string
required
The contract ID to track, as a decimal string. Subscribe once per contract.
Push message format
Field reference
string
The contract ID this frame describes.
string
Most recent trade price (raw integer string).
string
Baseline price 24 hours ago — the earliest trade inside the window.
string
lastPx − openPx, signed (raw integer string).string
Percentage change over the window, signed, to four decimal places. Already a percentage — do not rescale it. Returns
"0" when openPx is 0.string
Highest trade price within the window.
string
Lowest trade price within the window.
string
Traded volume over the window in base units (raw integer string).
int64
Number of trades within the window.
int64
Start of the window in Unix milliseconds, or the earliest trade for a contract listed less than 24 hours ago.
string
Current funding rate per funding interval, signed, as a raw fixed-point integer with a scale of 1e8 (
1e8 = 100%). The true rate is fundingRate / 1e8; display percent is fundingRate / 1e6. Returns "0" if never published.int64
Unix millisecond timestamp at which the current funding rate was set.
0 if never set.string
Current mark price (raw integer string), from the same source as
marketState. "0" if never published.string
Current oracle (index) price (raw integer string), from the same source as
marketState. "0" if never published.int64
Frame send time in Unix milliseconds.
Consuming the stream
1
Replace, do not accumulate
Every frame is a full snapshot of the rolling window, not a delta. Overwrite your local ticker state on each frame.
2
Expect roughly one frame per second
Within a single push cycle, all contracts share the same window endpoints, so values across contracts are directly comparable.
3
Convert raw values
Apply the contract’s
priceScale and qtyScale from configs before display. priceChangePct is already a percentage.