Solana Mainnet
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpSolanaOtherPull a block stream in one command
Set $SF_API_TOKEN to a key from your dashboard, then run this against Solana Mainnet.
grpcurl -H "authorization: Bearer $SF_API_TOKEN" \-d '{"start_block_num": -100, "final_blocks_only": true}' \mainnet.sol.streamingfast.io:443 \sf.firehose.v2.Stream/Blocks
Streams the 100 most recent blocks from Solana Mainnet. Firehose reads a negative start_block_num as an offset back from chain head, so no head lookup is needed.
Drop vote transactions to cut ~80% of the stream
Consensus votes are the bulk of Solana traffic. The solana-common package exposes a blocks_without_votes module that strips them before the data reaches you, so following chain head moves roughly 80% less output than the raw block stream — for most indexing work, none of it is data you would have used.
Account updates stream separately
Solana Accounts is not a separate chain — it is a stream of account state changes on Solana, carrying sf.solana.type.v1.AccountBlock instead of blocks. It has its own Substreams endpoint, listed with the endpoints below.
Providers & endpoints
StreamingFast
streamingfast.io- Substreams
mainnet.sol.streamingfast.io:443 - Firehose
mainnet.sol.streamingfast.io:443 - Solana Accounts
accounts.mainnet.sol.streamingfast.io:443
Pinax
pinax.network- Substreams
solana.substreams.pinax.network:443 - Firehose
solana.firehose.pinax.network:443