Skip to main content
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

TopicProto messageSchema fileDescription
sol.dex.tradesTradeEventssolana/trade_event.protoRaw DEX swaps (Raydium, Meteora, Pump.fun, Jupiter routes, etc.)
sol.dex.trades.processedTradeEventssolana/trade_event.protoEnriched with USD / SOL price, router resolution, suspect flags

Tokens

TopicProto messageSchema fileDescription
sol.tokensTokenEventssolana/token_event.protoToken lifecycle events (mint, metadata update, authority change)
sol.tokens.createdTokenEventssolana/token_event.protoFiltered stream of mint-creation events only
sol.tokens.processedTokenEventssolana/token_event.protoTokens enriched with metadata JSON, image, socials

Token-level statistics

TopicProto messageSchema fileDescription
sol.token-pricesTokenPriceEventsolana/token_price_event.protoAggregated price updates (USD + SOL)
sol.token-suppliesTokenSupplyEventsolana/token_supply_event.protoMint supply changes (mint/burn)
sol.token-supplies.processedTokenSupplyEventsolana/token_supply_event.protoSupplies normalized with decimals + USD value
sol.token-market-caps.processedTokenMarketCapEventsolana/token_market_cap_event.protoMarket cap (circulating × price)
sol.token-holdingsTokenHoldingEventsolana/token_holding_event.protoHolder count, top-N concentration
sol.trade-statsTradeStatEventsolana/trade_stat_event.protoTrade counts, volume, unique buyers / sellers

Balances

TopicProto messageSchema fileDescription
sol.balancesBalanceEventssolana/balance_event.protoRaw balance-change events per account
sol.balances.processedBalanceEventssolana/balance_event.protoBalance events with USD + SOL value

DEX pools

TopicProto messageSchema fileDescription
sol.dex.poolsDexPoolEventssolana/dex_pool_event.protoPool create / update / sync events (including CLMM ticks)
sol.dex.pools.processedDexPoolEventssolana/dex_pool_event.protoPool events enriched with liquidity USD + SOL and fee tier

Transfers

TopicProto messageSchema fileDescription
sol.transfersTransferEventssolana/transfer_event.protoAll SPL + native transfers including program-invoked transfers
sol.transfers.processedTransferProcessedEventssolana/transfer_processed_event.protoTransfers enriched with price-at-slot + USD value

Candlesticks

TopicProto messageSchema fileDescription
sol.candlesticksCandlestickEventscandlestick.protoPre-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