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 afromSlot 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 afromSlot 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.
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 chosenfromSlot. 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!
matchMints transaction filter flag, so a mint-filtered replay returns the same set of transactions the live stream would have delivered.
Quickstart
- gRPC
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
Reconnection After Brief Disconnection
Reconnection After Brief Disconnection
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.).Bootstrap with Recent Context
Bootstrap with Recent Context
Start your application with recent context from the last few minutes:
Testing with Recent Data
Testing with Recent Data
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