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 every EVM chain ChainStream indexes. Topic naming uses the {chain} prefix — substitute eth, bsc, base, polygon, optimism, arbitrum, avalanche, or zksync for the network you want to consume.
For end-to-end connection details, SASL credentials, and SDK examples see Access Methods → Kafka Streams → EVM Streams . For the authoritative Protobuf definitions see github.com/chainstream-io/streaming_protobuf/evm .
Partitioning
All EVM topics are partitioned by one of:
Token address (bytes20) — for token-centric topics (tokens, dex.trades, dex.pools, candlesticks, token-prices, token-supplies, token-market-caps, trade-stats, token-holdings)
Account address (bytes20) — for account-centric topics (balances, v1.transfers.proto)
Events for the same address land on the same partition in block order — safe to scale consumers horizontally by partition.
Topic matrix
{chain} ∈ eth | bsc | base | polygon | optimism | arbitrum | avalanche | zksync (see the chain availability matrix in EVM Streams ).
DEX trades
Topic Proto message Schema file Description {chain}.dex.tradesTradeEventsevm/trade_event.protoRaw DEX swaps emitted as they are confirmed {chain}.dex.trades.processedTradeEventsevm/trade_event.protoSame events enriched with USD / native price, suspect flags, and dedupe
Tokens
Topic Proto message Schema file Description {chain}.tokensTokenEventsevm/token_event.protoToken lifecycle events (create, update, migrate) {chain}.tokens.createdTokenEventsevm/token_event.protoFiltered stream of token-creation events only {chain}.tokens.processedTokenEventsevm/token_event.protoTokens enriched with description, image, social links
Token-level statistics
Topic Proto message Schema file Description {chain}.token-pricesTokenPriceEventevm/token_price_event.protoAggregated price updates (USD + native) {chain}.token-suppliesTokenSupplyEventevm/token_supply_event.protoCirculating + total supply changes {chain}.token-supplies.processedTokenSupplyEventevm/token_supply_event.protoSupplies with decimal normalization + USD value {chain}.token-market-caps.processedTokenMarketCapEventevm/token_market_cap_event.protoMarket cap (circulating × price) {chain}.token-holdingsTokenHoldingEventevm/token_holding_event.protoHolder count, top-N concentration {chain}.trade-statsTradeStatEventevm/trade_stat_event.protoTrade counts, volume, buyers / sellers
Balances
Topic Proto message Schema file Description {chain}.balancesBalanceEventsevm/balance_event.protoRaw balance-change events per account {chain}.balances.processedBalanceEventsevm/balance_event.protoBalance events enriched with USD + native value
DEX pools
Topic Proto message Schema file Description {chain}.dex.poolsDexPoolEventsevm/dex_pool_event.protoPool create / update / sync events {chain}.dex.pools.processedDexPoolEventsevm/dex_pool_event.protoPool events enriched with liquidity USD + native, fee tier
Transfers
Topic Proto message Schema file Description {chain}.v1.transfers.protoTransfersMessageevm/transfers_message.protoAll token + native transfers (ERC-20 / ERC-721 / ERC-1155 / native) {chain}.v1.transfers.processed.protoTransfersMessageevm/transfers_message.protoTransfers enriched with price at block-time + USD value
Candlesticks
Topic Proto message Schema file Description {chain}.candlesticksCandlestickEventscandlestick.protoPre-aggregated OHLC across multiple resolutions
Example consumer
from confluent_kafka import Consumer
from streaming_protobuf.evm.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([ "eth.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 EVM Streams guide for JavaScript and Go equivalents.
Next
Solana Kafka Topics Topic list for Solana
Tron Kafka Topics Topic list for Tron
Kafka Streams overview Connection, auth, partition model
EVM Streams guide Field definitions and consumer examples