Data and methodology
Providers, rate limits, caching, partial results, the health indicator and how errors are shown.
Providers#
| Provider | Used for | How it is reached |
|---|---|---|
| GeckoTerminal | Market data, candles | ZK OS relay |
| DexScreener | Market data fallback | ZK OS relay |
| Blockscout | Holders, transfers, address info | ZK OS relay, or directly from your browser when the relay is blocked |
| Robinhood Chain RPC | Logs, balances, single reads | ZK OS read-only relay |
The relay only allows read requests. Any method that would write to the chain is rejected.
Rate limits and queueing#
- At most 3 requests at a time per provider, with a small gap between them.
- Identical requests in flight are merged.
- When a provider replies "Too Many Requests", ZK OS waits for the time it asks for, plus a random delay, and retries.
- Chain requests are sent one at a time, not bundled, because the public RPC answers a rate-limited bundle in a format that cannot be parsed.
Caching#
| Data | Cache time |
|---|---|
| Market data | About 45 seconds |
| Past transfers, creation block, first funder | 1 hour (history does not change) |
Only public chain data is cached.
Partial results#
When some requests fail, the tool shows what did load with a banner: "Some data could not be loaded (N of M requests)" and a Retry failed button.
Health indicator#
Four dots in the menu bar show Blockscout, GeckoTerminal, DexScreener and the RPC. Click them to see each provider's status and the time of its last error.
How errors are shown#
A plain message ("The chain data provider is busy. Retrying…"), an automatic retry after a short countdown, and the technical details behind a folded Details toggle.
Last updated 2026-09-28

