Перейти до основного вмісту

stream-app - Block Streaming

stream-app delivers an ordered sequence of Bitcoin and Ethereum blocks via gRPC streaming - designed for bulk ingestion across large block ranges.

Use it when you need to:

  • Backfill an indexer database from genesis or any arbitrary start height
  • Populate a data warehouse with full chain history
  • Process historical blocks for analytics or research
  • Receive new confirmed blocks after reaching the chain tip

Do not use it for: raw mempool data, transaction broadcasting, address queries, or balance lookups. Those are separate apps.


How it works​

  1. Authenticate with your X-API-Key
  2. Open a gRPC stream specifying start_height (and optional end_height and format)
  3. Receive ordered blocks as a continuous stream
  4. After reaching the chain tip, new confirmed blocks arrive automatically

Confirmation depth​

stream-app does not deliver blocks immediately as they are mined. It waits for a confirmation threshold:

NetworkConfirmation depth
Bitcoin~6 blocks
Ethereum~50 blocks

This prevents delivering blocks that may be reorganized. Your indexer receives only finalized blocks.


Formats​

FormatDescriptionBest for
jsonStandard JSON, human-readableCompatibility, debugging
messagepackBinary MessagePack encodingHigh-volume ingestion, lower CPU

MessagePack blocks are significantly smaller and faster to deserialize. For backfilling millions of blocks, MessagePack is recommended.


Resumability​

If the connection drops, reconnect with the last successfully processed block_height. The stream resumes from that point without data loss.

Store your checkpoint (last processed height) in your database before committing each block.


Supported networks​

NetworkChain IDStatus
Bitcoin mainnet-Available
Ethereum mainnet1Available

Additional networks are planned. Join the waitlist to be notified.


Transport​

ProtocolNotes
gRPCPrimary - bidirectional streaming, backpressure support
WebSocketFallback - for environments where gRPC is not available

Billing​

stream-app uses traffic-based billing - you are charged per GB of data delivered.

Plans:

  • Free - limited GB per month, rate-limited
  • PAYG / traffic - per GB, no minimum
  • Subscription / traffic - fixed monthly GB allowance

Usage is tracked in real time in the dashboard.


Next steps​


Related reading: How to Backfill a Bitcoin Indexer · gRPC vs JSON-RPC for Block Streaming