What is Streams?
Streams is a blockchain data streaming and ETL service. It provides developers with a reliable, efficient, and intuitive way to stream blockchain data in real-time.
How is Streams different from Webhooks?
While both Streams and Webhooks are designed to provide real-time blockchain data, they serve different purposes and have distinct features.
Webhooks is a no-code template-based Web3 webhooks tool. It allows you to set up alerts for specific conditions or events on the blockchain that, when met, deliver payloads to your webhook destination. This is particularly useful for monitoring smart contract events, integrating real-time wallet activity event-driven logic into your workflows, and more.
Streams is a robust and fully customizeable data streaming service. It provides a continuous, real-time or historical stream of blockchain data directly to your systems. This includes blocks with transactions, receipts, logs, and more. Streams also offers a unique reverse RPC approach, ensuring guaranteed data delivery. It comes with a user-friendly dashboard for managing streams, viewing basic statistics, controlling errors, and more. Additionally, Streams includes a transformation layer, allowing you to tailor the data to your specific needs before it's delivered.
What support does Streams offer?
Streams provides comprehensive support through our dedicated support team. You can reach out to us via Support for any queries or issues.
How much does Streams cost?
Streams pricing is based on API credits consumed by your data streams. The number of credits consumed depends on:
- Network — Different blockchains have different block production rates
- Dataset Type — More complex datasets (like traces) consume more credits than basic datasets (like blocks)
Use the API Credits Calculator to estimate your monthly costs based on your specific configuration. You can monitor your usage and costs in the Streams dashboard and billing page.
Note: Legacy pricing was based on data volume delivered. Contact your account manager for information about your specific pricing plan.
Features and Usage
How Can I Use Streams?
Users can interact with Streams via the UI on your Quicknode Dashboard or via API, allowing you to integrate, manage, and monitor Streams programmatically.
How Do I Retrieve Metrics?
Metrics are displayed on your Stream's metric tab. This page will display performance metrics about your stream including:
- Data Sent: The total amount of data sent to your Stream over a time period. Displayed in bytes, transactions, and number of webhook requests.
- Throughput: The amount of data that can be sent to your Stream over a given time period
- Latency: The amount of time it takes for your Stream data to be delivered
- Error: The number of errors or retries over a time period
This data can be filtered over a certain time period (e.g., last 15 mins, last hour, day, etc.)
What Do Logs Provide?
Logs provide insight into your Streams operations. If you incur an error, such as a 404 (due to an incorrect Webhook, S3), it will be displayed here. You will also receive warning messages such as retries.
How Do I Modify the Dataset of an Existing Stream?
You cannot update the Dataset (e.g., block) of an existing stream because the dataset determines the underlying data pipeline configuration. If you need a different dataset type, create a new stream with the desired dataset. Once the new stream is verified and working correctly, you can pause or delete the original stream.
How Do I Modify an Existing Active Stream?
Click the toggle button in the upper-right corner of your specific Stream from Active to Paused. Stream configurations that can be updated include:
- Data range (stream start and end)
- Payload details (enable compression and modify batch size)
- Destination details (reconfigure your destination URL. Note the new URL can only be updated on the same type of destination)
- Stream retries (set Stream retry handling, including a retry wait period (e.g., 2 seconds) and pause the Stream after a set amount of retries)
- Security (rotate authentication tokens to new ones in the event your API URL may be compromised)