Skip to main content

Solana Transactions gRPC Stream

The transactions gRPC Stream provides real-time transaction data across the Solana blockchain.


Overview

Subscribe to live Solana transactions with filtering by program or signer. Each event includes parsed instructions (IDL), balance updates, program logs, and execution status. Data is in protobuf format — use bitquery-corecast-proto to parse.

Configuration

To subscribe to transactions, configure your stream as follows:

stream:
type: "transactions"

Available Data

The transactions stream provides comprehensive transaction information including:

  • Transaction details: Slot, signature, status, fees
  • Account information: Signers, accounts, program IDs
  • Balance updates: Pre/post balances for all accounts
  • Parsed instructions: IDL-parsed program calls with arguments and logs
  • Program execution: Success/failure status and error messages

Sample Data Structure

Here's an example of the data structure you'll receive:

{
"Block": {
"Slot": 370030401
},
"Transaction": {
"Index": 455,
"Signature": "2gyW9NtqCRwsGGWoeJkGGQNPrQfcDT2dBQxUKXXVcC7QQbNBey9DtQLNkCRn7yU5N1H8YcFQESTC6KbQ7n1HyTwj",
"Status": {
"Success": true,
"ErrorMessage": ""
},
"Header": {
...
],
"Accounts": [
...
]
},
"TotalBalanceUpdates": [
{
"PreBalance": 82844277367,
"PostBalance": 82844272367,
"AccountIndex": 0
},
...
],
"ParsedIdlInstructions": [
{
"Index": 0,
"Depth": 0,
"CallerIndex": -1,
"ExternalSeqNumber": 1,
"InternalSeqNumber": 0,
"Program": {
"Address": "Vote111111111111111111111111111111111111111",
"Parsed": true,
"Name": "vote",
"Method": "TowerSync",
...
},
"Accounts": [
{
"Address": "C616NHpqpaiYpqVAv619QL73vEqKJs1mjsJLtAuCzMX6",
"IsSigner": false,
"IsWritable": true
},
{
"Address": "ETcW7iuVraMKLMJayNCCsr9bLvKrJPDczy1CMVMPmXTc",
"IsSigner": true,
"IsWritable": true
}
],
"Logs": [
"Program Vote111111111111111111111111111111111111111 invoke [1]",
"Program Vote111111111111111111111111111111111111111 success"
],
"Data": ...
}
]
}
}

Key Points

  • Parsed instructions: IDL-parsed program calls with structured arguments and account names
  • Balance tracking: Complete pre/post balance changes for all accounts
  • Program logs: Execution logs showing program invocation and success/failure
  • All programs: Captures transactions from all Solana programs, not just DEX

Filtering Options

The filter options are defined in the request.proto file. You can filter transactions using the following filters:

message SubscribeTransactionsRequest {
AddressFilter program = 1;
AddressFilter signer = 2;
}

Available filters:

  • program: Filter by program address (e.g., Vote, Token, System)
  • signer: Filter by signer's address

Schema Reference

Python Installation

For Python development, install the protobuf package:

pip install bitquery-corecast-proto

NPM Package

npm install bitquery-corecast-proto

This package includes all necessary protobuf definitions without requiring manual downloads.