Documentation Index
Fetch the complete documentation index at: https://docs.chainstream.io/llms.txt
Use this file to discover all available pages before exploring further.
Authoritative list of Kafka topics published for Solana. All topics use the sol. prefix.
For end-to-end connection details, SASL credentials, and SDK examples see Access Methods → Kafka Streams → Solana Streams. For the authoritative Protobuf definitions see github.com/chainstream-io/streaming_protobuf/solana.
Partitioning
- Mint address (32-byte pubkey, base58-encoded) — for token-centric topics (
tokens, dex.trades, dex.pools, candlesticks, token-prices, token-supplies, token-market-caps, trade-stats, token-holdings)
- Account address — for account-centric topics (
balances, transfers)
Events for the same mint or account land on the same partition in slot order.
Topic matrix
DEX trades
| Topic | Proto message | Schema file | Description |
|---|
sol.dex.trades | TradeEvents | solana/trade_event.proto | Raw DEX swaps (Raydium, Meteora, Pump.fun, Jupiter routes, etc.) |
sol.dex.trades.processed | TradeEvents | solana/trade_event.proto | Enriched with USD / SOL price, router resolution, suspect flags |
Tokens
| Topic | Proto message | Schema file | Description |
|---|
sol.tokens | TokenEvents | solana/token_event.proto | Token lifecycle events (mint, metadata update, authority change) |
sol.tokens.created | TokenEvents | solana/token_event.proto | Filtered stream of mint-creation events only |
sol.tokens.processed | TokenEvents | solana/token_event.proto | Tokens enriched with metadata JSON, image, socials |
Token-level statistics
| Topic | Proto message | Schema file | Description |
|---|
sol.token-prices | TokenPriceEvent | solana/token_price_event.proto | Aggregated price updates (USD + SOL) |
sol.token-supplies | TokenSupplyEvent | solana/token_supply_event.proto | Mint supply changes (mint/burn) |
sol.token-supplies.processed | TokenSupplyEvent | solana/token_supply_event.proto | Supplies normalized with decimals + USD value |
sol.token-market-caps.processed | TokenMarketCapEvent | solana/token_market_cap_event.proto | Market cap (circulating × price) |
sol.token-holdings | TokenHoldingEvent | solana/token_holding_event.proto | Holder count, top-N concentration |
sol.trade-stats | TradeStatEvent | solana/trade_stat_event.proto | Trade counts, volume, unique buyers / sellers |
Balances
| Topic | Proto message | Schema file | Description |
|---|
sol.balances | BalanceEvents | solana/balance_event.proto | Raw balance-change events per account |
sol.balances.processed | BalanceEvents | solana/balance_event.proto | Balance events with USD + SOL value |
DEX pools
| Topic | Proto message | Schema file | Description |
|---|
sol.dex.pools | DexPoolEvents | solana/dex_pool_event.proto | Pool create / update / sync events (including CLMM ticks) |
sol.dex.pools.processed | DexPoolEvents | solana/dex_pool_event.proto | Pool events enriched with liquidity USD + SOL and fee tier |
Transfers
| Topic | Proto message | Schema file | Description |
|---|
sol.transfers | TransferEvents | solana/transfer_event.proto | All SPL + native transfers including program-invoked transfers |
sol.transfers.processed | TransferProcessedEvents | solana/transfer_processed_event.proto | Transfers enriched with price-at-slot + USD value |
Candlesticks
| Topic | Proto message | Schema file | Description |
|---|
sol.candlesticks | CandlestickEvents | candlestick.proto | Pre-aggregated OHLC across multiple resolutions |
Example consumer
from confluent_kafka import Consumer
from streaming_protobuf.solana.trade_event_pb2 import TradeEvents
consumer = Consumer({
"bootstrap.servers": "kafka.chainstream.io:9093",
"security.protocol": "SASL_SSL",
"sasl.mechanism": "SCRAM-SHA-512",
"sasl.username": "<your-username>",
"sasl.password": "<your-password>",
"group.id": "my-consumer",
"auto.offset.reset": "latest",
})
consumer.subscribe(["sol.dex.trades.processed"])
while True:
msg = consumer.poll(1.0)
if msg is None or msg.error():
continue
events = TradeEvents.FromString(msg.value())
for trade in events.Trades:
print(trade)
See the Solana Streams guide for Go and JavaScript equivalents.
Next
EVM Kafka Topics
Topic list for Ethereum, BSC, Base, Polygon and more
Tron Kafka Topics
Topic list for Tron
Kafka Streams overview
Connection, auth, partition model
Solana Streams guide
Field definitions and consumer examples