GET /api/transparency/history
Returns the most recent N snapshot rows in reverse-chronological order (newest first). Useful for charting trends, replaying the last few minutes of network state, or sparkline-rendering compute spend over time.
Auth
None. Public, rate-limited.
Query parameters
| Param | Type | Default | Max | Notes |
|---|---|---|---|---|
n | integer | 60 | 1287 | How many snapshots to return. 1287 ≈ 1.16 hours at the 4-Zeqond cadence. |
Request
curl https://YOUR-FRAMEWORK/api/transparency/history?n=120
Response · 200 OK
{
"ok": true,
"count": 120,
"snapshots": [
{
"zeqond_number": "2289003912",
"captured_at": "2026-05-10T13:08:32.412Z",
"in_circulation": "15440687",
"foundation_pot": "294813",
"compute_spend_total_24h": "189230"
/* …same fields as /now, abbreviated for the list response */
}
/* …119 more rows, oldest last */
]
}
The list response strips one heavy field (drip_rate_zqt_per_zeqond)
to keep payloads under ~30 KB at n=1287. Use /now for the full
field set on the single most recent row.
Errors
| Status | Code | Cause |
|---|---|---|
400 | n_out_of_range | n < 1 or n > 1287. |
429 | RATE_LIMITED | Quota. |
Charting
For a live chart, poll once on page load with n=60 (last ~3 minutes)
then call /now every 4 Zeqonds and append each new row. The dashboard
at /transparency/ does exactly this — see its source for an example.
Related
GET /api/transparency/now— single latest row, full fieldsGET /api/transparency/snapshot/:zeqond(coming soon) — historic point lookup