Solana gRPC Stream Topics: Trades, Transfers, Balances, Pools
CoreCast, the Bitquery gRPC service for Solana at corecast.bitquery.io, delivers decoded chain activity as protobuf over six topics: transactions, transfers, dex_trades, dex_orders, dex_pools and balances. You subscribe to one topic per stream and must pass at least one filter (addresses, mints, value thresholds, or markets and pools), which the server applies before sending, so a stream carries only the rows you asked for. Authentication uses the same access token as the GraphQL API, sent as an Authorization header on each stream. This page says what each topic carries and which one answers which question; each topic page has the message schema and a runnable client.
The six topics
| Topic | Each message is | Typical filters | Guide |
|---|---|---|---|
dex_trades | One DEX trade or swap across supported protocols (Pump.fun, Raydium, Orca, Jupiter and more), with both sides, amounts and the trader | program, market, mint, trader | DEX trades |
dex_orders | An order placed, filled or cancelled on protocols that expose orders | program, market, owner | DEX orders |
dex_pools | A pool created or its liquidity changed | program, pool, mint | DEX pools |
transfers | One SOL or token transfer with sender, receiver and mint | senders, receivers, mints, minimum amount | Transfers |
balances | A balance change on an account or token account | owners, accounts, mints | Balance updates |
transactions | A finalized transaction with instructions, logs and status | signers, program ids | Transactions |
Which topic answers which question
| Question | Topic |
|---|---|
| Every trade on one token or one pool, as it lands | dex_trades with a mint or market filter |
| New pools and liquidity moves for a launchpad or DEX | dex_pools with a program filter |
| Wallet in, wallet out, whale alerts | transfers with senders, receivers and a minimum amount |
| Portfolio changes for a set of wallets | balances with owners |
| Everything a program did, including failed calls and logs | transactions with a program id |
| Limit-order style venues (placement and fills) | dex_orders |
Two habits save time. Filter as tightly as the question allows, because an empty filter set is rejected and a loose one costs bandwidth on both ends. And correlate across topics by transaction signature: a dex_trades row and the transfers rows behind it share it.
Try the same rows in the IDE first
Every topic has a GraphQL subscription with the same data, so you can see the shape of a message in the Bitquery IDE on a free account before you write a gRPC client. This is the WebSocket twin of dex_trades filtered to Raydium:
subscription {
Solana {
DEXTrades(
where: { Trade: { Dex: { ProtocolFamily: { is: "Raydium" } } }, Transaction: { Result: { Success: true } } }
) {
Block {
Time
}
Trade {
Dex {
ProtocolName
}
Buy {
Amount
Currency {
Symbol
}
}
Sell {
Amount
Currency {
Symbol
}
}
}
Transaction {
Signature
}
}
}
}
When you move to gRPC, the introduction has a YAML quickstart, authentication covers the token header, and best practices covers reconnects, error handling and filter design. Worked clients live in Pump.fun gRPC streams, LetsBonk gRPC streams and the copy-trading bot.
Frequently Asked Questions
Which Solana gRPC topics does Bitquery offer?
Six: transactions, transfers, dex_trades, dex_orders, dex_pools and balances. Each stream subscribes to one topic and carries decoded protobuf messages for that data type.
Do I have to filter a gRPC stream?
Yes. Every subscription needs at least one filter, such as senders, receivers, owners, program ids, mints, a minimum amount, or a market or pool. Empty filter sets are rejected, and filters are applied on the server so only matching rows are sent.
How do I authenticate to CoreCast?
Create an access token at account.bitquery.io, the same token the GraphQL API uses, and send it as the Authorization header on every stream call. The authentication page shows the header in code.
Is Solana gRPC streaming on the free plan?
The token works on any plan, but whether gRPC streaming is enabled for a workspace and how it is metered depends on the plan; check the introduction page and the plans section, or ask support.
Does Bitquery offer gRPC for chains other than Solana?
Not today. gRPC streaming is Solana only; other chains stream over Kafka and WebSocket subscriptions. Contact sales for a custom gRPC setup on another chain.
Related pages
Ready to run this in production?
Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.