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

TopicProto messageSchema fileDescription
{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

TopicProto messageSchema fileDescription
{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

TopicProto messageSchema fileDescription
{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

TopicProto messageSchema fileDescription
{chain}.balancesBalanceEventsevm/balance_event.protoRaw balance-change events per account
{chain}.balances.processedBalanceEventsevm/balance_event.protoBalance events enriched with USD + native value

DEX pools

TopicProto messageSchema fileDescription
{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

TopicProto messageSchema fileDescription
{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

TopicProto messageSchema fileDescription
{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