Work and system dataLink to this section
TL;DRLink to this section
- Read accepted Hamster Miner measurements, module health, and observation history without authentication.
- Use process data to distinguish measured work, Oracle acceptance, optimistic progress, and settlement submission state.
- Treat missing coverage and unavailable projections as unknown, not zero work or failed settlement.
- These source-defined endpoints do not establish a live deployment or Mining5 API compatibility.
Endpoints and versionsLink to this section
- Telemetry:
GET /v1/public/telemetryandGET /v1/public/installations/:installationId/telemetry. - Modules:
GET /v1/public/modules. - Observations:
GET /v1/public/installations/:installationId/observations. - Process:
GET /v4/public/process. - Statistics:
GET /v2/public/stats.
Set API_BASE_URL to the API origin supplied for your integration. Shared timestamp, decimal-string and unit rules are in response conventions.
TelemetryLink to this section
Read the latest accepted measurement for the configured public installation or an installation identity you supply. Acceptance here is not proof that its work has settled on Ethereum.
RequestLink to this section
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v1/public/telemetry"
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v1/public/installations/example-installation/telemetry"
ParametersLink to this section
| Parameter | Meaning |
|---|---|
installationId — path string |
Required only on the installation-specific route; 1–128 characters from A–Z, a–z, 0–9, ., _, :, and -. |
The default route uses the configured public installation. Neither handler reads query parameters.
ResponseLink to this section
| Field and type | Meaning |
|---|---|
schemaVersion — integer 1; installationId — string |
Response version and requested installation identity. |
revision — string or null |
Opaque revision of the accepted receipt; null when there is no accepted measurement. |
status — online, stale, or offline |
Receipt-age classification, not hardware connectivity or settlement status. |
observedAt, receivedAt — timestamp or null |
Measurement time and API receipt time. |
softwareVersion — string or null |
Software version reported with the accepted measurement. |
measurement — object or null |
counterEpoch UUID, cumulativeWorkUnits uint256 decimal string, provenance, and coreStatus. |
measurement.provenance — enum |
hardware, simulated, replay, or derived; retain this distinction when displaying work. |
measurement.coreStatus — enum |
IDLE, ACTIVE, or COUNTER_FAULT; this describes measurement state, not the onchain contract. |
The structural schema permits nullable fields independently; the producer returns all measurement metadata as null together when status is offline.
Illustrative response with accepted telemetry, not deployed or observed data:
{
"schemaVersion": 1,
"installationId": "example-installation",
"revision": "MQ",
"status": "online",
"observedAt": "2026-10-03T12:10:00.000Z",
"receivedAt": "2026-10-03T12:10:01.000Z",
"softwareVersion": "1.0.0",
"measurement": {
"counterEpoch": "11111111-1111-4111-8111-111111111111",
"cumulativeWorkUnits": "1",
"provenance": "hardware",
"coreStatus": "ACTIVE"
}
}
Illustrative response without an accepted measurement, not deployed or observed data:
{
"schemaVersion": 1,
"installationId": "example-installation",
"revision": null,
"status": "offline",
"observedAt": null,
"receivedAt": null,
"softwareVersion": null,
"measurement": null
}
Freshness and unavailable statesLink to this section
- A receipt is
stalewhen itsreceivedAtis more than 120 seconds old; at exactly 120 seconds it remainsonline. offlinemeans no accepted measurement exists, including for an unknown but syntactically valid installation identity. This returns HTTP200, not404.- A non-null revision produces a quoted
ETag. These handlers do not evaluateIf-None-Matchor return conditional304responses; they also set no route-specificCache-Controlpolicy. - The revision identifies the receipt, not its age classification. The same revision can therefore appear first as
onlineand later asstale.
ErrorsLink to this section
The installation-specific route returns HTTP 400 with error: "invalid_installation_id" for a malformed identity. Neither route rejects extra query parameters; dependency and capacity failures follow common errors.
ModulesLink to this section
Read the public module snapshots for the configured installation. This is a sanitized health view, not an interface for configuring or controlling the Hamster Miner.
RequestLink to this section
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v1/public/modules"
ParametersLink to this section
This route has no path parameters and reads no query parameters. It always uses the configured public installation.
ResponseLink to this section
| Field and type | Meaning |
|---|---|
schemaVersion — integer 1; installationId — string |
Envelope version and configured installation identity. |
modules — array of objects |
Stored module snapshots; an empty array means no stored snapshots. |
modules[].instanceId, moduleType, driverId — strings |
Module instance, type, and driver identities. |
modules[].moduleVersion — version string; schemaVersion — positive integer |
Module version and module payload schema version, distinct from the envelope version. |
modules[].state — enum |
disabled, starting, ready, degraded, faulted, or stopped. |
modules[].observedAt — timestamp; provenance — enum |
Snapshot time and hardware, simulated, replay, or derived origin. |
modules[].health — object |
The public producer emits only checkedAt, a timestamp. The structural schema also permits optional nullable message and code. |
modules[].data — object |
The public producer emits {}; module-specific data is stripped. |
Sanitization also removes configuration version, enabled flags, and resource details. Do not infer those values from the public schema's generic object shapes.
Illustrative response, not deployed or observed data:
{
"schemaVersion": 1,
"installationId": "example-installation",
"modules": [
{
"instanceId": "example-module",
"moduleType": "example-sensor",
"driverId": "example-driver",
"moduleVersion": "1.0.0",
"schemaVersion": 1,
"state": "ready",
"observedAt": "2026-10-03T12:10:00.000Z",
"provenance": "hardware",
"health": { "checkedAt": "2026-10-03T12:10:00.000Z" },
"data": {}
}
]
}
Freshness and unavailable statesLink to this section
There is no aggregate availability flag or age-based state conversion. Read observedAt and health.checkedAt; a stored ready state is not a guarantee of current connectivity.
The handler sets no ETag, conditional 304 behavior, or route-specific cache policy. An empty modules array is a normal HTTP 200 response, not a dependency-error fallback.
ErrorsLink to this section
The handler performs no query validation and has no route-specific client error. Dependency and capacity failures follow common errors; they are not converted into an empty module list.
ObservationsLink to this section
Page through accepted telemetry observations for an installation in ascending receipt order. These are measurement receipts, not a list of settled rounds or Ethereum transactions.
RequestLink to this section
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v1/public/installations/example-installation/observations?limit=20"
For the next page, pass the returned nextCursor as the cursor query parameter without interpreting or modifying it.
ParametersLink to this section
| Parameter | Meaning |
|---|---|
installationId — path string |
Required; the same 1–128-character identifier syntax as Telemetry. |
cursor — optional query string |
Opaque exclusive cursor: only receipts after it are returned. Omit it for the beginning of the history. |
limit — optional query value |
Defaults to 100; integer inputs are clamped to 1–100. Noninteger or nonnumeric inputs use 100. |
The limit parser first applies JavaScript Number conversion, not a strict decimal-integer grammar. Thus limit=0 or an empty value becomes 1, limit=101 becomes 100, and limit=2.5 uses 100 rather than rounding or returning an error.
The handler reads cursor and limit without enforcing an allowlist or uniqueness for query names. Avoid repeated parameters rather than relying on them as a portable interface.
ResponseLink to this section
| Field and type | Meaning |
|---|---|
schemaVersion — integer 1; installationId — string |
Envelope version and requested installation identity. |
items — array of observations |
Accepted receipts in ascending cursor order, at most the effective limit. |
items[].cursor — string; telemetryId, bootId, counterEpoch — UUID strings |
Pagination identity, telemetry identity, boot identity, and measurement-counter epoch. |
items[].installationId — string; sequence — nonnegative integer |
Receipt's installation identity and telemetry sequence. |
items[].observedAt, receivedAt — timestamps |
Measurement time and receipt time. |
items[].cumulativeWorkUnits — uint256 decimal string |
Cumulative counter value in the stated epoch, not work settled by this receipt. |
items[].provenance — enum; softwareVersion — string |
hardware, simulated, replay, or derived origin and reported software version. |
nextCursor — string or null |
Last returned item's cursor only when another item exists; null at the current end. |
Cursor ordering, installation consistency, and the relationship between nextCursor and the page are producer rules beyond the structural schema. nextCursor: null does not promise that no later observations will arrive.
Illustrative response
This complete one-item page is illustrative, not deployed or observed data.
{
"schemaVersion": 1,
"installationId": "example-installation",
"items": [
{
"cursor": "MQ",
"telemetryId": "22222222-2222-4222-8222-222222222222",
"installationId": "example-installation",
"bootId": "33333333-3333-4333-8333-333333333333",
"sequence": 1,
"observedAt": "2026-10-03T12:10:00.000Z",
"receivedAt": "2026-10-03T12:10:01.000Z",
"counterEpoch": "11111111-1111-4111-8111-111111111111",
"cumulativeWorkUnits": "1",
"provenance": "hardware",
"softwareVersion": "1.0.0"
}
],
"nextCursor": null
}
Freshness and unavailable statesLink to this section
The route has no stale or unavailable response variant. No matching accepted receipts, including for an unknown valid installation identity, produces items: [] and nextCursor: null with HTTP 200.
The handler sets no ETag, conditional 304 behavior, or route-specific cache policy. Receipt timestamps describe the records; a successful request does not imply recent activity.
ErrorsLink to this section
Malformed installation identities return HTTP 400 with error: "invalid_installation_id"; an undecodable observation cursor returns HTTP 400 with error: "invalid_cursor". The cursor must decode to a positive decimal receipt position, but clients should treat returned cursors as opaque.
Out-of-range and noninteger limits are normalized as described above, not rejected. See common errors for dependency and capacity failures.
ProcessLink to this section
Read measurement freshness, optimistic work progress, Oracle validation, and the settlement queue together. An optimistic completed Squeek block is not an Ethereum-confirmed settlement or an SQK reward allocation.
RequestLink to this section
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v4/public/process"
ParametersLink to this section
No path or query parameters are accepted. The route uses the configured public installation and rejects every query parameter, including an empty-valued parameter.
For conditional polling, send the previous response's quoted ETag in If-None-Match.
ResponseLink to this section
| Field and type | Meaning |
|---|---|
schemaVersion — integer 4; installationId — string |
Response version and configured installation identity. |
revision — string; generatedAt — timestamp |
Opaque snapshot revision and generation time. |
measurement — object or null |
Accepted measurement with freshness, timestamps, staleAfterSeconds: 120, counter epoch, uint64 decimal cumulativeWorkUnits, provenance, measurement status, and numeric motion values. |
measurement.rpmMilli, speedMmPerSecond, distanceMm — nonnegative safe integers |
Milli-RPM, millimetres per second, and millimetres; these are JSON numbers, unlike work counters. |
builder — available or unavailable object |
Available: anchor, queued, and projected. Unavailable: status and reason only. |
builder.anchor — object |
Settled frontier: round, cumulative work, block height, current work, work per block, and nullable confirmation timestamp and transaction hash. |
builder.queued — object |
Decimal-string closedRoundCount, closedWorkUnits, and openRoundWorkUnits; the builder projects both closed and open work. |
builder.projected — object |
lifecycle: "optimistic", cumulative work, block height, current work, work per block, nullable first/last completed blocks, and completed-block count. |
oracle — object |
state, nullable reason, nullable latestAcceptedAt, and nullable latestClosure with inclusive round bounds, count, and acceptance time. |
settlementQueue — available or unavailable object |
Available: state, enablement flags, buffered rounds, optimistic projection, incident state, nullable last run, and nullable latest submission. Unavailable: status and reason only. |
settlementQueue.buffered — object |
Nullable first/last round plus decimal-string round count, active-round count, and work units. The queue projects closed rounds only. |
settlementQueue.latestSubmission — object or null |
Submission UUID, lifecycle, previous/new frontier, round counts, expected result, nullable transaction hash, lifecycle timestamps, and nullable outcome code. See the schema for every required field. |
All process round and work quantities are decimal strings. Cumulative projected and anchor work use uint256; round IDs, work-per-block values, and block counters use uint64, with work per block strictly positive.
The structural download does not express all cross-field rules:
- Completed-block bounds exist for a nonzero completed-block count and describe an inclusive suffix ending at the projected block height;
currentWorkremains belowworkPerBlock. - Closure and buffered round counts match inclusive bounds. Submission
roundCountequals the new frontier minus the previous frontier;activeRoundCountcannot exceed that count or16. - Oracle
latestAcceptedAtis null exactly when unavailable; accepted/stale validation has no reason, while blocked/unavailable validation has one. - A queue is blocked exactly when
blockedReasonis non-null. Active queue states match the latest submission lifecycle;emptyhas zero buffered rounds andreadyhas positive buffered rounds, even if those rounds contain zero work. - Submitted, confirmed, and reverted submissions have
submittedAt; terminal lifecycles haveterminalAt; only confirmed submissions haveconfirmedAt. Reverts and supersessions have matching outcome codes; nonterminal submissions have none.
Illustrative response
This complete available response is illustrative, not deployed or observed data. One closed round is accepted and ready; its work is still optimistic relative to the settled anchor.
{
"schemaVersion": 4,
"installationId": "example-installation",
"revision": "example-process-revision",
"generatedAt": "2026-10-03T12:11:00.000Z",
"measurement": {
"freshness": "online",
"observedAt": "2026-10-03T12:10:00.000Z",
"receivedAt": "2026-10-03T12:10:01.000Z",
"staleAfterSeconds": 120,
"counterEpoch": "11111111-1111-4111-8111-111111111111",
"cumulativeWorkUnits": "1",
"provenance": "hardware",
"coreStatus": "IDLE",
"rpmMilli": 0,
"speedMmPerSecond": 0,
"distanceMm": 0
},
"builder": {
"status": "available",
"anchor": {
"settledThroughRound": "0",
"cumulativeWork": "0",
"blockHeight": "0",
"currentWork": "0",
"workPerBlock": "10",
"confirmedAt": null,
"transactionHash": null
},
"queued": { "closedRoundCount": "1", "closedWorkUnits": "1", "openRoundWorkUnits": "0" },
"projected": {
"lifecycle": "optimistic",
"cumulativeWork": "1",
"blockHeight": "0",
"currentWork": "1",
"workPerBlock": "10",
"firstCompletedBlock": null,
"lastCompletedBlock": null,
"completedBlockCount": "0"
}
},
"oracle": {
"state": "accepted",
"reason": null,
"latestAcceptedAt": "2026-10-03T12:10:01.000Z",
"latestClosure": {
"firstRound": "1",
"lastRound": "1",
"roundCount": "1",
"acceptedAt": "2026-10-03T12:10:01.000Z"
}
},
"settlementQueue": {
"status": "available",
"state": "ready",
"settlementEnabled": true,
"reporterEnvironmentEnabled": true,
"buffered": {
"firstRound": "1",
"lastRound": "1",
"roundCount": "1",
"activeRoundCount": "1",
"workUnits": "1"
},
"projected": {
"lifecycle": "optimistic",
"cumulativeWork": "1",
"blockHeight": "0",
"currentWork": "1",
"workPerBlock": "10",
"firstCompletedBlock": null,
"lastCompletedBlock": null,
"completedBlockCount": "0"
},
"incidentOpen": false,
"blockedReason": null,
"lastRun": {
"startedAt": "2026-10-03T12:10:20.000Z",
"finishedAt": "2026-10-03T12:10:30.000Z",
"result": "no_new_rounds"
},
"latestSubmission": null
}
}
Illustrative response without measurement or an available settlement frontier, not deployed or observed data:
{
"schemaVersion": 4,
"installationId": "example-installation",
"revision": "example-unavailable-revision",
"generatedAt": "2026-10-03T12:11:00.000Z",
"measurement": null,
"builder": { "status": "unavailable", "reason": "no_measurement" },
"oracle": {
"state": "unavailable",
"reason": "no_measurement",
"latestAcceptedAt": null,
"latestClosure": null
},
"settlementQueue": { "status": "unavailable", "reason": "oracle_head_unavailable" }
}
Freshness and unavailable statesLink to this section
- Measurement becomes stale more than 120 seconds after receipt. An absent measurement is null; an old measurement remains present with
freshness: "stale". - Builder unavailability reasons are
no_measurement,counter_fault,counter_epoch_unapproved,round_projection_gap, andoracle_head_unavailable. Stale measurement alone does not disable the builder. - Oracle state is
accepted,stale,blocked, orunavailable. Accepted measurement is distinct from accepted closed-round coverage and from settlement. - Queue unavailability reasons are
oracle_head_unavailable,round_projection_gap, andround_ineligible. Available states aredisabled,empty,ready,preparing,submitted,retrying,blocked, andstale. - Queue state gives blocking conditions precedence over disablement, then stale Reporter status, active submission lifecycle, and finally ready/empty. Reporter status is stale when settlement is enabled and no completed run exists, its completion is over 600 seconds old, or a newer run remains unfinished.
HTTP 200 can contain unavailable subviews. The server normally reuses a shared snapshot for up to one second; relevant writes invalidate it, and concurrent readers share a computation.
Responses carry ETag and Cache-Control: public, max-age=0, must-revalidate. A matching If-None-Match returns bodyless HTTP 304; the matcher accepts the exact tag, its weak form, comma-separated candidates, or *.
The revision reflects source and freshness state, not generatedAt alone. A newly generated snapshot can therefore retain the same revision and return 304.
ErrorsLink to this section
Any query parameter returns HTTP 400 with error: "invalid_query". Unavailable builder, Oracle, or queue state is response data, not an HTTP error; dependency and capacity failures follow common errors.
StatisticsLink to this section
Read accepted-round activity, measured distance, lifetime work, and settlement submission statistics over seven or thirty universal days. Activity uses accepted rounds, not the process builder's optimistic open-round work; lifetime settled work is a separate value.
RequestLink to this section
curl --fail-with-body --include \
"${API_BASE_URL:?Set API_BASE_URL}/v2/public/stats?range=7d"
ParametersLink to this section
| Parameter | Meaning |
|---|---|
range — required query enum |
Exactly one 7d or 30d; no default. |
If-None-Match — optional request header |
Previously returned ETag for conditional polling. |
The query must contain exactly one parameter named range. Extra parameters, repeated parameters, missing values, and other range values are rejected.
ResponseLink to this section
| Field and type | Meaning |
|---|---|
schemaVersion — integer 2; installationId, revision — strings |
Response version, configured installation, and opaque revision. |
generatedAt — timestamp; range — enum; timezone — UTC |
Generation time and selected range. |
window — object |
Start/end timestamps, day count 7 or 30, bucketSeconds: 1800, and roundSeconds: 600. |
lifetime — object |
Decimal-string accepted work, observed distance, settled block count, settlement count, and settled work; numeric active-day count and coverage basis points; first observed timestamp. No minted-token amount. |
activity — object |
provenance: "accepted_rounds", coverage counts/basis points, summary aggregates, daily data, and a typical day. |
activity.days — 7 or 30 objects |
Date, coverage counts/basis points, observed work, nullable distance, and exactly 48 half-hour buckets per day. |
activity.days[].buckets[] — object |
Numeric startMinuteUtc, coverage enum, numeric observed-round count 0–3, and nullable decimal-string work. |
activity.typicalDay — 48 objects |
Ordered half-hour slots with total work, numeric observed-day count, and nullable meanWorkMilli; only complete daily buckets contribute. |
records — object of nullable records |
Half-hour/day work, distance, motion, active-window and active-day-streak records; each non-null record has decimal-string value, timestamp occurredAt, and complete/partial coverage. |
blocks — available or unavailable object |
Completion statistics or an unavailability reason. This pinned producer returns completion_boundaries_unavailable. |
rounds — object |
Numeric observed, active, zero-work and missing counts, numeric active-rate basis points, and nullable decimal-string active-work aggregates. |
oracle — available or unavailable object |
Available: coverage boundary, window completeness, submission/outcome counts, rates, and nullable numeric millisecond latency percentiles. Unavailable: reason. |
Universal days run from noon UTC to the next noon and use the first noon's calendar date as their label. Each day's buckets remain in UTC-clock order (0, 30, …, 1410): slots before noon belong to the following calendar date within that universal day.
The structural schema does not express all aggregate relationships:
- Day count and array length match
range; dates are consecutive, the first day's noon equalswindow.startAt, the final day containsgeneratedAt, andwindow.endAtequalsgeneratedAt. - Complete buckets contain three rounds; partial buckets contain one or two. Both have explicit work, including
"0"for observed zero work; missing/future buckets contain no rounds and null work. - Daily totals sum buckets; response totals sum days. Coverage is the floored observed/expected ratio in basis points, or zero when expected count is zero;
completeis true exactly at10000. - Inactive days count only fully covered zero-work days, not missing days. Typical-day means use complete buckets only; work means with a
Millisuffix are scaled by 1000. - Active plus zero-work rounds equals observed rounds; missing rounds equal expected minus observed. Lifetime totals cannot be below selected-range totals.
- Oracle terminal outcomes cannot exceed submission count; outcome rates use submission count, coverage completeness follows its boundary timestamp, and the 90th percentile cannot be below the median.
The complete illustrative response below shows an initialized view with no accepted history at the start of its current universal day. It deliberately uses missing coverage and null aggregates rather than pretending the installation performed zero work throughout the range.
Illustrative response
This complete response is illustrative, not deployed or observed data.
{
"schemaVersion": 2,
"installationId": "example-installation",
"revision": "example-stats-revision",
"generatedAt": "2026-10-03T12:00:00.000Z",
"range": "7d",
"timezone": "UTC",
"window": {
"startAt": "2026-09-27T12:00:00.000Z",
"endAt": "2026-10-03T12:00:00.000Z",
"dayCount": 7,
"bucketSeconds": 1800,
"roundSeconds": 600
},
"lifetime": {
"acceptedWorkUnits": "0",
"observedDistanceMm": "0",
"activeDayCount": 0,
"settledBlockCount": "0",
"settlementCount": "0",
"settledWorkUnits": "0",
"coverageBps": 0,
"firstObservedAt": "2026-10-03T12:00:00.000Z"
},
"activity": {
"provenance": "accepted_rounds",
"coverage": {
"expectedRoundCount": 864,
"observedRoundCount": 0,
"coverageBps": 0,
"complete": false
},
"summary": {
"observedWorkUnits": "0",
"observedDistanceMm": "0",
"activeDayCount": 0,
"inactiveDayCount": 0,
"averageWorkPerActiveDayMilli": null,
"medianWorkPerActiveDay": null,
"averageDistancePerActiveDayMm": null,
"mostActiveDate": null,
"mostActiveDateWorkUnits": null,
"peakWindowStartMinuteUtc": null
},
"days": [
{
"date": "2026-09-27",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-09-28",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-09-29",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-09-30",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-10-01",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-10-02",
"coverage": {
"expectedRoundCount": 144,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"missing","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"missing","observedRoundCount":0,"workUnits":null}
]
},
{
"date": "2026-10-03",
"coverage": {
"expectedRoundCount": 0,
"observedRoundCount": 0,
"coverageBps": 0
},
"observedWorkUnits": "0",
"distanceMm": null,
"buckets": [
{"startMinuteUtc":0,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":30,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":60,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":90,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":120,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":150,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":180,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":210,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":240,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":270,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":300,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":330,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":360,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":390,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":420,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":450,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":480,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":510,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":540,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":570,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":600,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":630,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":660,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":690,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":720,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":750,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":780,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":810,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":840,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":870,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":900,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":930,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":960,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":990,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1020,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1050,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1080,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1110,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1140,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1170,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1200,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1230,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1260,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1290,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1320,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1350,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1380,"coverage":"future","observedRoundCount":0,"workUnits":null},
{"startMinuteUtc":1410,"coverage":"future","observedRoundCount":0,"workUnits":null}
]
}
],
"typicalDay": [
{"startMinuteUtc":0,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":30,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":60,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":90,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":120,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":150,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":180,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":210,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":240,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":270,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":300,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":330,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":360,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":390,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":420,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":450,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":480,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":510,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":540,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":570,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":600,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":630,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":660,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":690,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":720,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":750,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":780,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":810,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":840,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":870,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":900,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":930,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":960,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":990,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1020,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1050,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1080,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1110,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1140,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1170,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1200,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1230,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1260,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1290,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1320,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1350,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1380,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null},
{"startMinuteUtc":1410,"totalWorkUnits":"0","observedDayCount":0,"meanWorkMilli":null}
]
},
"records": {
"mostWorkHalfHour": null,
"mostWorkUtcDay": null,
"maximumDailyDistanceMm": null,
"peakObservedRpmMilli": null,
"peakObservedSpeedMmPerSecond": null,
"longestActiveWindowMinutes": null,
"longestActiveDayStreak": null
},
"blocks": {
"status": "unavailable",
"reason": "completion_boundaries_unavailable"
},
"rounds": {
"observedCount": 0,
"activeCount": 0,
"zeroWorkCount": 0,
"missingCount": 864,
"activeRateBps": 0,
"averageActiveWorkMilli": null,
"medianActiveWork": null,
"p90ActiveWork": null,
"mostActiveWork": null
},
"oracle": {
"status": "unavailable",
"reason": "projection_not_initialized"
}
}
Freshness and unavailable statesLink to this section
There is no top-level status. Missing activity stays explicit in coverage, while blocks and oracle can independently be unavailable in an HTTP 200 response.
The block schema permits completion_boundaries_unavailable or insufficient_history; the pinned producer always returns the former. Oracle reasons are projection_not_initialized and insufficient_history; an available Oracle object can still have completeForWindow: false.
The server normally caches each range for 30 seconds. While any statistics computation is active, a request can receive an older cached result for its range; if no cached result exists for that range, it receives database_busy instead.
Responses carry ETag and Cache-Control: public, max-age=0, must-revalidate. Matching If-None-Match returns bodyless HTTP 304, using the same exact/weak/list/* matching as Process; a returned tag may describe a reused or older cached result, not a fresh recomputation.
Read generatedAt and coverage rather than treating receipt time as data freshness. A newly computed statistics revision includes its window end/generation time, so it can change even when no new measurements arrive.
ErrorsLink to this section
- HTTP
400,error: "invalid_query": missing, repeated, extra, or invalid query parameters. - HTTP
503,error: "database_busy": a statistics computation is already active and this range has no cached result. CarriesRetry-After: 2andCache-Control: no-store. - HTTP
503,error: "public_stats_rebuilding": required statistics projections are incomplete. CarriesRetry-After: 2andCache-Control: no-store.
Failures while computing a replacement are not turned into successful empty statistics. See common errors for other dependency and capacity failures.
SourceLink to this section
Based on system/API source 9e38b931. Schema downloads describe response structure; the cross-field and producer rules above also apply. This is not deployment evidence or Mining5 compatibility; see source and release scope.
Related pagesLink to this section
- Public API
- Settlement and activity
- Miner NFT data
- Use the public API
- The Hamster Miner
- Source and release scope