Skip to content
Alchemy Logo

Replay and recovery

This API is in private preview. Target September 2026; timing is subject to change.

For the sequencing and recovery model, see timestamps, cursors, and replay.

  1. Persist the cursor after processing each message on a replay-capable stream.
  2. On disconnect, reconnect with exponential backoff and jitter.
  3. Resubscribe, supplying the last persisted cursor in each replay-capable subscription object. Complete-snapshot streams resubscribe without a cursor.
  4. Deduplicate overlapping messages using the identity documented for that stream — per-market sequence for book diffs, block height or round for block streams, and the event identity fields where a stream provides them.
  5. For stateful snapshot-and-diff streams, a message with isSnapshot: true replaces local state for that market.
Was this page helpful?