Our reads.
Including the failed ones.
Every call we make to the outside world lands here, successful or not. If something is broken you will see it before we do — and a call that returned 200 OK with nothing useful in it is recorded as its own kind of failure, because that is the one that otherwise passes unnoticed.
Read log
no reads recordedDeclared sources
| Figure | Source | Free | You can check it |
|---|---|---|---|
| Tokenised RWA value | Chainlink feeds + token contracts, on chain | yes | yes |
| Value locked on chain | api.llama.fi | yes | yes |
| Transactions and addresses | robinhoodchain.blockscout.com | yes | yes |
| Canonical token addresses | reference-data-directory · Chainlink | yes | yes |
| Live pool figures | api.dexscreener.com | yes | yes |
What we check before showing a price
| Order | Guard | Verdict if it fires |
|---|---|---|
| 1 | Last block older than 120 seconds | chain_stalled |
| 2 | Timestamp in the future | future_clock |
| 3 | US equity markets closed | market_closed |
| 4 | Older than the feed heartbeat | stale |
| 5 | Oracle reports itself paused | paused |
Where we are substituting something
There is no sequencer uptime feed on this chain. The canonical way to check an L2 before trusting a price is a Chainlink uptime feed, and the directory for this network does not contain one. What we read instead is the age of the latest block, and we refuse any price if it is over 120 seconds old.
That is a substitute, and calling it a sequencer check would be dressing it up as the thing it replaces. It is labelled last block age here, in the database, and everywhere else.
