Skip to content
Reading path Source 9e38b931

Public APILink to this section

TL;DRLink to this section

  • Read measurements, settlement and Miner NFT data with public GET requests; no API key or wallet is required.
  • HTTP 200 can contain unavailable data, not an empty result or a zero balance.
  • This source snapshot supports Mining4 integration, not the separate Mining5 contract source.

In this sectionLink to this section

Use the API base URL supplied for your approved environment. This reference does not designate a current public service endpoint; browser requests must pass that environment's CORS origin policy.

  • Use the public API Start with an HTTP request, inspect the response and handle pagination without a private SDK.
  • Work and system data Read telemetry, module snapshots, observations, process state and statistics.
  • Settlement and activity Read confirmation-safe onchain state, settlement history and public events.
  • Miner NFT data Read economy state, owner portfolios, owner activity and token metadata.

Each endpoint reference keeps its request, parameters, response, freshness and errors together. Complete JSON Schemas describe nested fields, required properties, nullable values and response variants; endpoint notes explain additional relationships and source limitations.

Response conventionsLink to this section

  • Check the route version and schemaVersion; do not interpret a v3 response as v4.
  • Keep large integer counters, IDs and amounts as decimal strings or BigInt, not floating-point numbers.
  • Preserve installation, release, contract and source identities alongside the data. A recent generatedAt does not mean the indexed chain has advanced.
  • Branch on the resource's availability fields before using its values. Process subobjects can be unavailable independently; telemetry uses offline, stale and online rather than the chain-response union.
  • Use API values for display. Verify the deployment, read current ownership and simulate before signing a transaction.
Units and timestamps
Value Meaning
schemaVersion Numeric response contract version.
Decimal-string counters and IDs Exact nonnegative integers unless the endpoint specifies a narrower range.
generatedAt, observedAt, receivedAt, activity timestamps ISO-8601 timestamps with an offset.
genesisTimestamp, roundDuration, onchain event blockTimestamp Decimal-string Unix seconds or durations in seconds, not milliseconds.
SQK amounts, supply and cap 18-decimal SQK base units; 1000000000000000000 base units is 1 SQK.
Collection publicPriceBaseUnits ETH price in wei, not SQK.
blockHeight, completedBlockHeight, nextMergeBlock, cooldownBlocks Squeek/Core block heights or counts.
safeThroughBlock, indexedThroughBlock, ethereumBlockNumber, source blockNumber Ethereum block heights.
rpmMilli Thousandths of a revolution per minute.
speedMmPerSecond, distanceMm Millimetres per second and millimetres.
coverageBps Basis points, 0–10000, not a percent or work count.
Using the response schemas

The linked schemas use JSON Schema draft 2020-12 and resolve all $ref references within the downloaded file. They describe response structure; endpoint notes also specify ordering, cross-field relationships and other semantic constraints.

Enable the standard date, date-time and uuid format checks in your validator. Register uint64-decimal and uint256-decimal as canonical unsigned decimal strings from zero through 2^64 - 1 and 2^256 - 1, respectively; a string-length check alone does not enforce these bounds.

ErrorsLink to this section

An HTTP failure has an error string, not the endpoint's successful response shape. For example, this illustrative HTTP 400 body means the query must be corrected:

{"error":"invalid_query"}
HTTP failure codes
HTTP status and error Handling
400 invalid_query Correct the endpoint's parameters, owner, page size or release scope.
400 invalid_token_id Use a canonical token ID from 1 through 9999.
400 invalid_installation_id Correct the installation identifier.
400 invalid_cursor Restart pagination in its original scope.
403 cors_origin_not_allowed Use an approved browser origin; credentials do not bypass CORS.
503 indexer_busy The indexer-backed read could not obtain admission; retry later.
503 database_busy A database-backed read could not obtain capacity or access.
503 database_unavailable The database connection failed; retain the error state.
503 public_stats_rebuilding The statistics projection is not ready; do not show an empty history as success.
504 request_timeout The server deadline expired; distinguish this from a client timeout.
500 internal_error An unexpected server failure; retain the error state and bound retries.

All four 503 errors above include Retry-After: 2 and Cache-Control: no-store. Respect the delay and bound retries; the 400, 403, 500 and 504 paths do not promise those headers.

HTTP 200 with an unavailable payload is a valid read result, not an HTTP failure. Use that endpoint's reason and retain unavailable state rather than inventing zero balances or empty history.

HTTP 304 has no JSON body: reuse the body saved with the matching ETag, only on endpoints that support conditional requests. Invalid JSON, a schema mismatch or a transport timeout is an error, not valid empty data.

SourceLink to this section

Based on system/API source 9e38b931. Downloadable response schemas describe this snapshot, not a deployment attestation; see source and release scope.