Skip to main content
Never miss a beat: LaserStream’s Historical Replay ensures you can recover from disconnections and backfill missing data from the last 48 hours of blockchain activity.

What is Historical Replay?

Historical Replay is LaserStream’s feature that lets you replay recent blockchain data by setting a fromSlot starting point. This is useful for handling disconnections and ensuring data continuity in real-time apps.

How Far Back You Can Replay

You can replay up to ~48 hours of history (~691,200 slots at Solana’s current ~250ms slot time — the exact slot count shifts as network slot time changes), regardless of which commitment level you subscribe with. Pass a fromSlot within that window and LaserStream streams forward from there to the present. Older replays return finalized data. LaserStream keeps roughly the last ~20 minutes of slots in memory; anything older is served from a historical store that holds finalized blocks only. So when you replay a fromSlot older than ~20 minutes, the data reflects the finalized chain — you won’t see forked or dropped slots or intra-slot account updates in that range, even on a processed or confirmed subscription. Slots within the last ~20 minutes carry true commitment semantics, including forks and intra-slot account updates.
Limited Time Window: Historical replay only covers the last ~48 hours. You cannot replay data from arbitrary points in the past.

Handle Disconnections

Recover data lost during brief disconnections (up to 48 hours)

Bootstrap Applications

Start applications with recent context from the last 48 hours

Analyze Recent Events

Review recent transactions and account changes

Test with Recent Data

Use real recent data for testing and development

Check Replay Availability

Call SubscribeReplayInfo to check the earliest slot available for replay. If your saved slot falls outside the replay window, your application can recover the missing history separately or resume from a newer slot. Start a new subscription with your chosen fromSlot. Availability can change between requests.

How It Works

1

Specify Starting Point

Use the fromSlot parameter to set your replay starting point (must be within the last ~48 hours, ~691,200 slots at current network speed)
2

Stream Historical Data

LaserStream delivers all events from your specified slot forward
3

Catch Up to Real-Time

Historical data streams until you reach the current slot
4

Continue Live Streaming

Seamlessly transition to real-time data streaming
Automatic Reconnection: The LaserStream SDK handles reconnections and replay automatically. No additional code required!
Replay honors the matchMints transaction filter flag, so a mint-filtered replay returns the same set of transactions the live stream would have delivered.

Quickstart

Get started with LaserStream from your Helius Dashboard. Mainnet requires a Business or Professional plan; Devnet is available on Developer and above. See Plans & Pricing for details.

Configuration Options

number
required
The slot number to start replaying from, as a u64. Must be within the replay window (last ~48 hours from the current slot, ~691,200 slots at current network speed), at any commitment level.Example: currentSlot - 1000Important: If you pass a slot older than the window, LaserStream rejects the request with Operation was attempted past the valid range.

Use Cases

When your application reconnects after a short disconnection (under 48 hours), you can use Historical Replay to ensure no data is missed. getCurrentSlot calls the Helius RPC; lastProcessedSlot is kept in memory below — persist it however suits your app (Redis, Postgres, a file, etc.).
Start your application with recent context from the last few minutes:
Use recent historical data for testing (limited to last 48 hours):

Next Steps

LaserStream gRPC

Learn more about gRPC streaming capabilities and features

Get Started

Enable LaserStream from your Helius Dashboard and start streaming.

SDK Documentation

View the complete SDK docs

Contact Support

Get help with your implementation