One gRPC connection carries you from any starting checkpoint to the live tip and stays there. Ordered, exactly-once, and standard SubscribeCheckpoints on the wire.
meta: {'x-api-key': 'indr_pat_qsVO...','x-inodra-start-checkpoint': '50000000','x-inodra-end-checkpoint': '50100000', // optional}for await (const { cursor, checkpoint }of stream.responses) { index(checkpoint) }
Point a fresh indexer at genesis and let it run to the live tip on one connection. There is no separate archive job to build and no gap to stitch at the seam.
Set a start and an end checkpoint and replay an exact range. You get a clean completion, so a backfill after an incident is reproducible rather than approximate.
Adaptive pacing keeps historical replay flowing steadily instead of bursting and stalling, so a downstream consumer sees a stream it can keep up with.
A checkpoint stream is billed by volume, not by checkpoint count. Ask for only the fields you index and the bill falls with the payload.
A backfill is priced by what you actually pull down.See what every call costs on the pricing page ->
Open from genesis, from last week, or from one checkpoint ago. There is no pruning horizon and no from-now-onwards limitation to work around.
The same connection runs from your start checkpoint to the tip and keeps going. There is nothing to stitch and no gap where the archive ends and the subscription begins.
Checkpoints arrive in strict sequence, no gaps, no duplicates. Every message carries a cursor, so reconnecting is one header away.
A replay is bounded by your monthly credits, not by RPS. Compare every plan ->
Standard SubscribeCheckpoints, so your existing indexer client works unchanged.