Skip to main content

Indexer Design

Design Aptos indexers as replayable systems. The Transaction Stream feed supplies ordered chain data; GraphQL serves read models derived from that data.

ConcernRecommendation
Schema designStore raw transaction version, event index, account address, object address, and Move type strings needed for replay/debugging.
Event processingDecode only the modules/events the product owns; persist unknown raw metadata for later migration.
IdempotencyUse transaction version plus event index as a natural unique key.
BackfillRun bounded ranges, publish ingestion lag, and keep live processing independent from historical repair jobs.
tip

Make every processor safe to re-run from an older cursor. Operational recovery is much easier when duplicate delivery is a normal path.