How a reading is computed
The method isma-breadth/1, named in every record.
The counts check each other:
Routes
There is no Spot or HIP-4 series: those paths answer
404 with error_code unsupported_for_venue.
Plans and credits
Breadth above the moving average comes with the Build, Pro, Scale and Enterprise plans. A Free key receives403 with error_code forbidden, the datatype (breadth_ma), the required_plans and an upgrade_url. A refused request is not charged. Each request costs 1 credit, whatever its number of buckets.
Request parameters
n is required on every route: 5, 20, 50 or 200. There is no default, because the lengths answer different questions, a 5-day and a 200-day reading of the same venue often point opposite ways, and each length starts on its own date. A missing or other value returns 400 with error_code invalid_parameter and the accepted valid_values.
/current takes n only and returns the newest one-minute reading. Any window parameter returns 400, naming the history route. The history route also accepts:
A page holds the buckets whose open is in
[start, end], oldest first. Set both start and end when paging, because the default window moves with the clock, and keep paging while meta.has_more is true. The cursor is opaque: it is not a calculated_at value, so do not reuse the paging logic of breadth above session VWAP.
Example response
/current returns one record as an object in data, with meta.count of 1.
Response fields
Read the number correctly
A bucket carries its last reading. Each bucket holds the reading as of its end, and the bucket still forming holds the reading as of the newest settled minute, about 4 minutes behind now./current is that newest minute. Percentages are never averaged across buckets; to reduce resolution, pick a longer interval.
Null is not zero. value_pct and the quartiles are null when nothing is eligible. Carry the null through as a gap.
coverage_ratio is not a quality score. It depends on n, because younger perps are excluded at longer lengths, and it falls as perps delist, because delisted perps stay candidates. It is not comparable with the coverage_ratio of breadth above session VWAP.
A final reading can still be rebuilt. is_final means the candles behind the reading are final. If those candles are rebuilt, or a listing reaches the candidate list late, the reading can change.
A 503 is retryable. While a series is still being prepared, or when many history pages below 1h are requested at once, the route answers 503 with error_code upstream_unavailable and Retry-After. Retry after the delay.
Available history
Each length starts on its own date, n days after the venue’s first candle day. A window that ends before its length’s start returns an empty page withmeta.coverage_from and meta.notice; a window that straddles it is served from it.
Each start is 00:00 UTC. In
GET /v1/capabilities, the row’s available_from is the n=5 start, and its notes give the others.
Access
Each venue’s start date, plans and page limit come fromGET /v1/capabilities, followed by the SDK, CLI and MCP names for the same data. Send 0xArchive-Version: 2026-10-01 for the current response contract; see API conventions.
Stream it live
There is no WebSocket channel for this series. Poll/current once a minute at most; a new reading appears each minute.