Check how current the x402 data is
/v1/chains/{chain}/x402/statusShows how far Sona's x402 data on a chain has got and what it does not cover. Use it to show a "data as of" note next to x402 numbers, or to check that the data is current before you rely on it.
What you can pass. {chain} is eip155:143, eip155:5042 or eip155:8453, the chains with x402 data. There is no query string.
What comes back: data (kind x402_status) has four parts. indexer is what Sona's x402 indexer reports: progress_block is the newest block it has read, is_ready says it has caught up with the chain, and progress_age_s is how many seconds old that block is. engine is the analysis on top of it: watermark_block is the newest block whose payments are served, about 10 blocks behind progress_block and refreshed every 30 seconds, watermark_time is the time Sona uses for it, and lag_blocks is the distance between the two. registry_version and rules_version name the facilitator registry and the genuine-volume rules in use. rows counts the payments held, in total and per tier, and the USDC mints behind the bridge_funded signal. coverage lists the known limits of the data, each with a stable code and a sentence. Monad has five, and Base adds history_starts (the day its indexing starts) and payment_rows_pruned (the 90 days its payment rows are kept). meta.finality is none and meta.as_of is empty, because the status is not about one block.
Path parameters
| Name | Type | Description |
|---|---|---|
chainRequired | string | The chain, as a CAIP-2 chain ID. Only Monad, |
Response
How current the x402 data is, wrapped in the {data, meta, links} envelope. data.kind is x402_status.
| Field | Type | Description |
|---|---|---|
| chain | string | eip155:143eip155:5042eip155:8453 |
| coverage | array of objects | The five known limits of the data, always in the same order. |
| engine | object | The analysis on top of the indexer. |
| indexer | object | What the x402 indexer, which reads the chain, reports. |
| kind | string | Always |
| registry_version | string | The version of the facilitator registry in use. Empty before the first load. |
| rows | object | How many rows the analysis holds. |
| rules_version | string | The version of the genuine-volume rules in use. Empty before the first load. |
Cost
1 credit. The time limit is 5 seconds.
Errors
| Status | Code |
|---|---|
| 400 | invalid_queryinvalid_id |
| 404 | unsupported_chain |
| 429 | rate_limitedcredits_exhausted |
| 500 | internal |
| 503 | upstream_unavailable |
| 504 | deadline_exceeded |
400 invalid_query if you add a query string. 400 invalid_id for a malformed chain ID, 404 unsupported_chain for a chain without x402 data. 503 upstream_unavailable when the x402 data source does not answer, 504 deadline_exceeded when it is too slow.