Skip to main content

How to Get Started with Streams for QuickAlerts Users

Updated on
Feb 05, 2025

5 min read

Overview

QuickNode’s Streams is the next-generation blockchain data streaming service, offering powerful enhancements over QuickAlerts. Streams supports every QuickAlerts use case (e.g., real-time alerts, token transfers, NFT tracking) while adding historical data backfilling, server-side transformations, multiple destinations, and more.

If you're already using QuickAlerts, this guide will help you transition to Streams. We'll cover the benefits of Streams, how to set up a Stream, and provide templates to help you get started.

What You Will Do


  1. Understand Streams and its capabilities
  2. Compare QuickAlerts and Streams
  3. Get Streams templates for existing QuickAlerts Expressions

What You Will Need


  • Access to your QuickNode account
  • Basic understanding of blockchain data (e.g., logs, transactions)
  • A destination endpoint for Streams (e.g., webhook, PostgreSQL database, S3-storage)

What is Streams?

Streams is a powerful blockchain data streaming and ETL service by QuickNode. Designed for both real-time and historical data processing, it simplifies building robust blockchain-based applications by automating data pipelines and supporting multi-chain integration.

Key Capabilities of Streams


  • Real-Time and Historical Data: Access live blockchain data with the ability to backfill historical events.
  • Server-Side Filtering and Transformation: Use JavaScript-based filtering to customize and preprocess data before delivery.
  • Multi-Destination Support: Deliver data to webhooks, databases (e.g., PostgreSQL, Snowflake), S3-compatible storage, or custom APIs via Functions.
  • Reorg Handling: Automatically handle blockchain reorganizations to ensure data consistency.
  • Cost Efficiency: Pay only for processed data with built-in compression to reduce bandwidth usage.
  • Decoding EVM Data: Easily decode EVM data (e.g., logs, transactions) with the built-in EVM decoder.
  • Integration with Functions: Combine with QuickNode Functions for enriching data or triggering external services, without the need for complex infrastructure.

For more details, explore the Streams Documentation and Streams Guides.

QuickAlerts vs. Streams

QuickAlerts has served as a reliable alerting tool for event-driven workflows, but Streams provides broader technical advantages. Below, we compare the two services to help you understand the differences and benefits of migrating to Streams.

Feature Comparison

FeatureStreamsQuickAlerts
Data ScopeReal-time + historical dataReal-time event triggers only
Delivery GuaranteesGuaranteed delivery with retries and termination notificationsBest-effort delivery
DestinationWebhooks, Databases, S3, FunctionsWebhooks only
Multi-Chain SupportSolana, Bitcoin, and an expanding list of EVM chains (view full list)36 chains (view full list)
Cost EfficiencyPay only for processed dataPay per alert
Data TransformationServer-side filtering/transformsLimited to event conditions
Reorg HandlingBuilt-inNot applicable
Decoding EVM DataBuilt-inNot applicable
REST API SupportYesYes
State ManagementIntegrates with Key-Value Store for data persistenceStateless

Use Case Comparison

Use CaseQuickAlerts SupportStreams Support
Real-Time Token Transfers (e.g., USDC)
NFT Mint/Sale Alerts
Wallet Balance Changes
Gas Price Threshold Alerts
Contract Event Triggers
DAO Governance Proposals
Cross-Chain Activity Tracking
Historical Data Analysis
ETL Pipelines for Analytics
Real-Time Dashboards
Compliance Monitoring
Multi-Chain Data Consolidation
Serverless API Triggers
Custom Data Transformations
Large-Scale Data Export

Transitioning to Streams

Transitioning to a new service might seem overwhelming, but it's not always as complicated as it seems. Follow these steps to seamlessly adopt Streams and expand your blockchain monitoring workflows.

1. Analyze Your Existing QuickAlerts Configurations

Review your current QuickAlerts rules, focusing on the following details:


  • Event types (e.g., ERC-20 transfers, NFT minting events)
  • Delivery methods (e.g., webhook URLs)
  • Conditions and filters applied

2. Explore Streams Templates and Resources

Review our Streams resources to see if any serve as a direct replacement for your QuickAlerts and meet your needs:


  • Streams Templates: Streams supports JavaScript-based server-side filtering, allowing for precise and customizable data extraction. We have some Streams templates on our dashboard to help you get started. Visit Streams in your User Dashboard.
  • Streams Guides: Browse a variety of tutorials and guides designed to help you configure Streams for common use cases. Visit our Streams Guides.
  • Sample Filter Functions: Check out sample filter functions to see how Streams can be used for different use cases. Access the Streams Sample Filter Functions.

Streams Templates

3. Create a New Stream or Use QuickShare URLs

QuickShare URLs

To simplify the transition, we have created QuickShare URLs that automatically prefill the correct settings in Streams for some of the existing QuickAlerts expressions. Simply select the corresponding expression and use the provided QuickShare URL to set up your Stream instantly.

The network, dataset, and filter settings will be preconfigured, allowing you to create a Stream with a single click. If you want to manually create your Stream, continue with Manual Configuration section.

QuickAlerts ExpressionQuickShare URLDatasetTest Block
OpenSea NFT SalesUse QuickShareReceipts21730090
Uniswap Token Pair / Pool CreatedUse QuickShareReceipts21732124
DEX SwapsUse QuickShareReceipts21732124
Tether (USDT) Liquidity AddedUse QuickShareReceipts21724417
ENS RegisteredUse QuickShareReceipts21732744
Whale AlertsUse QuickShareBlock with Receipts21725869
Gas Used in a BlockUse QuickShareBlock with Receipts21725869
Track Flash Loans on AaveUse QuickShareReceipts21732000

Manual Configuration

If you’d like to manually configure your Stream, navigate to the QuickNode Streams dashboard and click Create Stream.

Stream Range Configuration

In the Stream range section, follow this configuration:


  • Network selection: Select the chain (i.e., Ethereum) and network (i.e., Mainnet) you want to stream data from.
  • Stream at a specific block: If you want to stream data at a specific block, click the toggle switch and enter the block number. Otherwise, leave it unchecked to stream data from the latest block.
  • Stop at a specific block: If you want to stop streaming data at a specific block, click the toggle switch and enter the block number. Otherwise, leave it unchecked to stream data until it's paused or stopped.
  • Set latest block delay: If you want to delay the stream by a certain number of blocks, click the toggle switch and enter the number of blocks. Otherwise, leave it unchecked to stream data immediately. This can be useful to reduce the risk of reorgs in real-time streamed data.
  • Restream on reorg: If you want Streams to automatically handle reorgs, click the toggle switch. Otherwise, leave it unchecked.
Stream Dataset Configuration

In the Stream dataset section, follow this configuration:


  • Dataset selection: Select the dataset (i.e., Block, Receipts, Transactions) you are interested in streaming. Check the Streams Data Sources documentation for more details.
  • Batch messages: If you want to stream data in batches, click the toggle switch and enter the number of messages per batch. Otherwise, leave it unchecked to stream data per block.

Then, enter a sample block number to preview the raw data payload. This will help you understand the structure of the data and how it can be filtered and processed. After, click Modify the payload before streaming to customize the data payload before it's delivered to your destination. You can use JavaScript to filter, transform, or enrich the data before it's sent.

For inspiration, revisit the resources mentioned in the Explore Streams Templates and Resources section.


Estimated Data Volume and Cost

Check the payload optimizations, estimated data volume, and estimated cost on the sidebar. This will help you understand the data processing requirements and costs associated with your Stream.

Stream Destination Configuration

In the Stream destination section, select your destination and test your Stream before creating it.

Destination selection: Select the destination you want to stream data to such as webhook, S3-compatible storage, PostgreSQL, Snowflake, or QuickNode Functions.

4. Test Your Stream

After configuring the destination, click Check Connection to verify the connection details. If the connection is successful, click Send Payload to send a test payload to the destination.

If everything is configured correctly, you should see a success message and the test payload will be sent to the destination. Then, click Create a Stream to start streaming data.

Conclusion

Transitioning from QuickAlerts to Streams lets you handle all existing workflows and unlock advanced blockchain data capabilities.

By following the steps outlined in this guide, you can seamlessly transition to Streams and leverage its powerful features for your blockchain applications. If you have any questions, feel free to use our dedicated channel on Discord or provide feedback using the form below. Stay up to date with the latest by following us on Twitter and our Telegram announcement channel.

Additional Resources


We ❤️ Feedback!

Let us know if you have any feedback or requests for new topics. We'd love to hear from you.

Share this guide