Events become application views
Production uses Envio HyperIndex to ingest contract events. Historical synchronization and realtime ingestion feed event and checkpoint records into PostgreSQL. Realtime ingestion uses a separate RPC path from the API’s verification provider. The API verifies event and checkpoint block hashes against its own RPC, then commits the projected views and cursor together in a database transaction protected by an advisory lock. This prevents concurrent projection from advancing an inconsistent cursor.Reorganizations and recovery
A chain reorganization can invalidate previously observed events. The projector reconciles against canonical blocks and replays the affected history. Offchain account data is separate from chain-derived projections and is preserved through recovery. Do not infer final account balances by counting events in a browser. Use the validated views and contract-backed verification endpoints where appropriate.Measure freshness
GET /v1/system/status exposes actual index progress. Envelopes can also include a block number andindexingStatus of live, syncing, or behind.
The current freshness threshold marks views behind when indexed time lags by more than 15 seconds. This is a diagnostic threshold, not a guaranteed service-level agreement. Provider outages, catch-up, or reorg recovery can increase lag.
For a transaction, wait for the relevant event to be indexed. A fresh global cursor alone does not replace checking that transaction’s receipt.