Skip to main content

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