Data Streaming & Real-Time Feeds
Stream real-time blockchain data with Tatum using gRPC and WebSocket subscriptions, or perform high-performance structured queries using gRPC request-response.
Data Streaming vs. gRPC Queries
Tatum provides two distinct ways to interact with gRPC. It is important to choose the right one based on your chain and use case:
- Data Streaming (Push): Best for real-time events. The server pushes data to you as it happens on-chain. (e.g., Solana gRPC)
- Structured Querying (Pull): Best for fetching specific state. You request data (like a balance or validator list), and the server responds. (e.g., Cosmos gRPC)
What is data streaming?
Data streaming lets your app receive updates as they happen on-chain. Instead of repeatedly polling for new data, your client keeps a persistent connection and the network pushes events immediately.
This model is essential for apps that need up-to-the-second state, such as trading infrastructure, DeFi backends, indexers, wallet APIs, monitoring systems, and real-time analytics.
gRPC Solutions on Tatum
gStreaming (Push)
This is a live event stream for blocks, transactions, and account updates. It uses a persistent connection to "push" data to your client.
- Key features: compact binary transport, strongly typed schema via Protocol Buffers, bidirectional streaming, and backpressure-aware long-lived connections
- Best for: high-frequency backend services, indexers, ingestion pipelines, and systems where low latency and high throughput are critical
With streaming, your service handles only meaningful updates and can react closer to chain time.
Looking for Solana gRPC?
Tatum provides Solana gRPC streaming for real-time access to blocks, transactions, and on-chain events with low latency and high throughput.
👉 Check Solana gRPC
Structured Queries (Pull)
Structured queries use gRPC for request-response interactions (Unary RPCs). This provides a more structured, typed, and efficient alternative to standard JSON-RPC.
- Key features: Protobuf-based query services, strongly typed request/response messages, and efficient binary transport.
- Best for: Reading balances, delegations, staking data, and governance state.
Looking for Cosmos gRPC?
Tatum provides Cosmos gRPC for request-response queries to read balances, delegations, validators, staking data, governance state, or other module-backed chain data with a typed API.
👉 Check Cosmos gRPC
Event Subscriptions
Event subscriptions let you declare what you care about (for example an address, contract, or event type) and receive updates as they happen. Your app only processes events that match your filters.
What are Event Subscriptions?
Persistent, bidirectional connections for real-time event delivery. Subscribe to specific addresses, transaction types, or contract events and receive updates as they occur on-chain.
- Key features: address and contract-level filtering, event-focused payloads, and reconnect-friendly subscription semantics
- Best for: real-time dashboards, wallet frontends, DeFi interfaces, and moderate-volume backends
WebSocket Event Subscriptions
WebSocket subscriptions are designed for clients that prefer a standard web protocol and event-level filtering without managing gRPC tooling. They are especially useful for browser-based applications and lightweight real-time interfaces.
WebSocket subscriptions are not yet publicly available in this section.Use gRPC Data Streams for production real-time ingestion today.
Choosing the Right Solution
| RPC | gRPC (Streaming) | gRPC (Unary/Query) | WebSocket | |
|---|---|---|---|---|
| Protocol | HTTP/1.1 | HTTP/2 + Protobuf | HTTP/2 + Protobuf | WS (TCP upgrade) |
| Model | Pull (Polling) | Push (Stream) | Pull (Request) | Push (Subscription) |
| Data format | JSON | Binary | Binary | JSON / binary |
| Latency | High (poll-based) | Lowest | Low | Low |
| Streaming | No | Bidirectional | No | Bidirectional |
| Filtering | None | Schema-level | By Query Parameter | Address / event |
| Best for | Simple queries | HFT, indexers, pipelines | Staking, Gov, Balances | Dashboards, wallets, DeFi UI |
| Reconnect handling | Stateless, trivial | Keep-alive + backpressure | Standard Retry Logic | Subscription ID-based |
| Parsing | Raw | Raw | Strongly Typed (Proto) | Raw + filtered |
Production checklist
Before shipping a streaming workload to production, validate:
- Reconnection with exponential backoff
- Replay or checkpoint strategy after disconnects
- Idempotent consumers (duplicate-safe processing)
- Monitoring for stream lag, error rate, and throughput
- Capacity planning for peak burst traffic
Updated 4 days ago