Check how far each chain has progressed
/v1/statusShows, for every chain at once, its newest block (latest), the newest block that is safe (safe), the newest block that is final (finalized), and how many seconds old the newest block is (head_age_s). Use it to show a "current block" badge, to pick a block number to start reading from, to check whether a block you hold is already final (compare its number with finalized.number), or to notice that a chain is lagging. Sona checks each chain's newest block every few seconds, so latest can trail the very tip of the chain by a moment.
There is nothing to put in the path or query. You can pass Sona-Deadline-Ms to wait less than the default, and If-None-Match to skip an unchanged answer.
What comes back: data.chains has one member per chain, keyed by chain ID (eip155:1, eip155:143, eip155:5042). Each member is a chain status (kind chain_status) with the chain's name, its latest, safe and finalized blocks (each with number, hash and time) and head_age_s. A chain that does not answer in time is null instead. In that case meta.partial is true and meta.missing names the chain, the reason, and a retry path (/v1/status). meta.finality is none and meta.as_of is empty, because the status is not about one block.
Response
The status of the chains, wrapped in the {data, meta, links} envelope. data.kind is status. The answer is partial, with null for a chain that did not answer, when meta.partial is true.
| Field | Type | Description |
|---|---|---|
| chains | object | The status of each chain, keyed by chain ID. A chain that did not answer in time is |
| kind | string | Always |
Cost
0 credits. The request still counts toward your per-IP rate limit. Each chain has 150 ms to answer, and the whole call takes at most about 250 ms.
Errors
| Status | Code |
|---|---|
| 400 | invalid_query |
| 429 | rate_limited |
| 500 | internal |
| 503 | upstream_unavailable |
| 504 | deadline_exceeded |
400 invalid_query if you add a query string. 429 rate_limited if you send requests faster than your rate limit allows. 504 deadline_exceeded only if you set Sona-Deadline-Ms shorter than the answer needs. A slow or unreachable chain is not an error: it shows up as null in a partial answer.