Overview
Moralis Streams can be created, monitored, updated, paused, and resumed at any time - either programmatically or via the Moralis dashboard. This gives you full control over how streams behave in production and allows you to safely manage changes without deleting or recreating streams.Stream States
Each stream has a lifecycle state that indicates whether it is actively delivering events.Supported statuses
| Status | Description |
|---|---|
active | Stream is live and delivering webhooks |
paused | Stream is temporarily disabled |
error | Stream encountered a configuration or delivery error |
terminated | Stream was automatically stopped after 24 hours in error state |
Listing Streams
You can retrieve all streams associated with your account to inspect their configuration and status.- Webhook URL
- Enabled chains
- Status
- Filters and ABI configuration
- Region and delivery settings
Updating Stream Configuration
Streams can be updated at any time to reflect changes such as:- Webhook URL updates
- Adding or removing chains
- Adjusting filters or ABIs
- Changing stream behavior
Pausing and Resuming Streams
Streams can be paused without deleting them. This is useful for:- Maintenance windows
- Incident response
- Temporary traffic reduction
Pause a stream
Resume a stream
Stream Regions
Each stream runs in a specific region to optimise webhook delivery latency. Available regions include:us-east-1us-west-2eu-central-1
Error Handling
If a stream enters theerror state:
- The stream stops delivering events
- A status message is provided explaining the issue
- Configuration must be corrected before resuming
- Invalid ABI definitions
- Invalid filters
- Unreachable webhook endpoints
Terminated State
If a stream remains in theerror state for 24 hours, it is automatically terminated.
A terminated stream:
- Does not send webhooks
- Does not process new blocks
- Drops all events that occur after termination
- Cannot be automatically resumed
Best Practices
- Pause streams instead of deleting them when troubleshooting
- Monitor stream status regularly in production
- Keep webhook URLs and regions aligned with your deployment setup
- Use descriptive stream tags to identify purpose and ownership

