Skip to main content
Solana targets 400ms block time, with actual throughput of ~4,000 TPS and theoretical peak of 65,000 TPS. The extremely high message volume places high demands on consumer processing capacity. Schema Repository: github.com/chainstream-io/streaming_protobuf/solana

Message Types Overview

Solana Streams provides the following message types:

Block-Level Data

Solana uses Slot rather than traditional block number as the timeline identifier.
In Solana’s shred stream, Block Header may be incomplete, only the Slot field is guaranteed correct.

Transaction-Level Data

Core Transaction Fields

Instructions

Transactions contain multiple Instructions, which is the core of Solana’s execution model:
A Solana transaction can contain multiple Instructions, each calling different programs.

Transfer Data

TransferEvents provides Solana transfer information (Topic: sol.transfers).

TransferEvent Structure

Transfer Core Fields

Token Metadata (TokenEvent)

Token events use common TokenEvents (Topic: sol.tokens), containing:

SolanaExtra Specific Fields

Solana tokens include additional metadata fields:

Balance Updates Layered Mechanism (Solana-specific)

This is an important characteristic of Solana stream data, balance updates are provided at two levels:
Immediate balance changes after each instruction execution, reflecting the direct impact of single-step operations.
This enables developers to track both fine-grained fund flows and final states.

DEX Data

TradeEvents provides DEX trade data (Topic: sol.dex.trades), using common TradeEvent structure.

Trade Core Fields

DApp Info

DexPoolEvent - Liquidity Pools


Solana Chain Characteristics

Slot Mechanism

Solana uses Slot rather than traditional block number as timeline identifier:

Message Packaging

Transactions are packaged in small batches, each Kafka message contains no more than 250 transactions.

Block Header Completeness

In Solana’s shred stream, Block Header may be incomplete, only the Slot field is guaranteed correct. Other fields may be empty or inaccurate.

High-Throughput Processing Recommendations

Due to Solana’s extremely high throughput, we recommend:
  1. Sufficient processing capacity: Ensure consumers have adequate CPU and memory
  2. Parallel processing: Use multi-threading/coroutines for parallel message processing
  3. Efficient parsing: Optimize Protobuf parsing code
  4. Batch writes: Use batch database writes if persistence is needed

Topic → Message Type Mapping


Code Examples

Python Example: Consume Solana DEX Trades

Go Example: High-Performance Consumption


Concepts & Integration Guide

Kafka Streams integration basics

EVM Streams

EVM chain data streams

TRON Streams

TRON network data streams

WebSocket Real-time Data

WebSocket integration