Rabbitstream vs. Yellowstone gRPC Comparison: Choosing Your Stream
Decide which stream is right for your application based on required speed and data completeness.
Flow of information
The difference in speed between Yellowstone gRPC and RabbitStream comes down to where in the Solana validator's data pipeline the information is extracted.

Solana Validator Steps (The Pipeline)
Gossip: Leader receives transactions.
Shredding: Leader breaks data into packets (Shreds) for network broadcast.
Execution: Transactions are run to determine the final outcome and generate meta (logs, fees, errors).
Geyser Hook: The validator makes the final, processed data available to plugins.
Yellowstone gRPC Flow
Extraction Point: Data is extracted after it RPC processes the transaction, which is Step 4 (Geyser Hook), after execution.
Latency: Slower than shreds as the transaction is processed to generate the inner instructions, meta, logs and all the other fields.
Data Completeness: Includes full transaction
meta, logs, and final status.Best For: Reliable indexing and analytics requiring full transaction context.
Rabbitstream Flow
Extraction Point: Data is extracted before it is processed by the RPC, which is Step 2 (Shredding), before execution.
Latency: Ultra-Low (Fastest). Minimal delay from the leader.
Data Completeness: Missing all
metadata, logs, and final execution status.Best For: Sniping and time-critical alerts where speed is the only priority.
Response structures
While both Rabbitstream and Yellowstone gRPC use the same gRPC subscription method, the content within the streamed transaction is different. This key difference is entirely the meta field. Yellowstone gRPC delivers data after being processed, this having a complete meta field with logs, fees, and final balances. RabbitStream, however, delivers data captured at the high-speed Shred level (pre-execution by the RPC), meaning the valuable meta data is not available. This side-by-side comparison illustrates the trade-off between ultra-low latency and full transaction context.

The following section denotes the detailed response structures. Please note, that the transactions received are in raw format, we have parsed them just for understanding. Also, this is a sample transaction, some parts of it may have been trimmed down for better visibilty, but the structure is the same.
{
"transaction":
{
"signature": "4AEcrAwHWXwBkYpU4W9CHYnrUvMTqE9CfWTBsxyKtsn6Hsx1Dfp6rxq1MPwZuE23WZsFo73hCZZDiCAXyPH9RgyY",
"isVote": false,
"transaction": {
"signatures": "4AEcrAwHWXwBkYpU4W9CHYnrUvMTqE9CfWTBsxyKtsn6Hsx1Dfp6rxq1MPwZuE23WZsFo73hCZZDiCAXyPH9RgyY",
"message": {
"header": {
"numRequiredSignatures": 1,
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 8
},
"accountKeys": [
"2ETSuPGkPp6Daj2gPFicaSA6c6BstWdBw1wJ18d655Ho",
"5LoakVf9eoQf8tFArvBsX3k8EHB2eDe9nWWN2CcJwpme",
"62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV",
"9SoWt3pL7NFj8QBVZmQiEwtUrs8qqAnwKDdUSwSefdof",
"9WhAmRMELSHqi3QvdYb8aFRFzzzSGJ22rt4JZcRspQNq",
"4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf",
"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
"7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"8Wf5TiAheLUqBrKXeYg2JtAFFMWtKdG2BSFgqUcPVwTt",
"Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1",
"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ",
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
],
"recentBlockhash": "BtaXNFffjLpnhW2p489HB9cHJ79pf4SdFZyGtmndwYoB",
"instructions": [
{
"programId": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
"accounts": [
"4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf",
"62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV",
"7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"87XL2uQdSGFTeXU8FNQxEJq5GQWCvaDMGUQ4dYZBTfUb",
"5LoakVf9eoQf8tFArvBsX3k8EHB2eDe9nWWN2CcJwpme",
"9SoWt3pL7NFj8QBVZmQiEwtUrs8qqAnwKDdUSwSefdof",
"2ETSuPGkPp6Daj2gPFicaSA6c6BstWdBw1wJ18d655Ho",
"11111111111111111111111111111111",
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1",
"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
"pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ"
],
"data": {
"name": "sell",
"data": {
"amount": 30197670084,
"min_sol_output": 1253983
}
}
} //raw data is streamed, parsed for understanding
],
"versioned": false,
"addressTableLookups": []
}
},
"meta": {
"err": "undefined",
"fee": "5000",
"preBalances": [
"4486595", "2039280",
"24058891856602", "7749036247",
"2039280", "287273712",
"1", "453070864",
"1505196108", "1461600",
"20373807", "162706528",
"1151476", "5299608127"
],
"postBalances": [
"5801495", "2039280",
"24058891869300", "7747699639",
"2039280", "287277722",
"1", "453070864",
"1505196108", "1461600",
"20373807", "162706528",
"1151476", "5299608127"
],
"innerInstructions": [
{
"index": 0,
"instructions": [
{
"outerIndex": 0,
"programId": "pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ",
"accounts": [
"8Wf5TiAheLUqBrKXeYg2JtAFFMWtKdG2BSFgqUcPVwTt",
"6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
],
"data": "MkJmWlhTMUdRckNMWXpiU1hISnppMmJrWTN6a0w4RnJmZWo3RjdRa2d2QW1vRA==",
"stackHeight": 2
},
{
"outerIndex": 0,
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"accounts": [
"9SoWt3pL7NFj8QBVZmQiEwtUrs8qqAnwKDdUSwSefdof",
"5LoakVf9eoQf8tFArvBsX3k8EHB2eDe9nWWN2CcJwpme",
"2ETSuPGkPp6Daj2gPFicaSA6c6BstWdBw1wJ18d655Ho"
],
"data": "M25QWG82RmVxbUpm",
"stackHeight": 2
},
{
"outerIndex": 0,
"programId": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
"accounts": ["Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"],
"data": null,
"stackHeight": 2
}
]
}
],
"innerInstructionsNone": false,
"logMessages": [
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [1]",
"Program log: Instruction: Sell",
"Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ invoke [2]",
"Program log: Instruction: GetFees",
"Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ consumed 3119 of 164530 compute units",
"Program return: pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ AAAAAAAAAABfAAAAAAAAAB4AAAAAAAAA",
"Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ success",
"Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
"Program log: Instruction: Transfer",
"Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 157988 compute units",
"Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
"Program data: vdt/007mYe5j/XMxttR+04aoGIWG+8GIbPZWlznPH2t0BMiDYYw2/yBlFAAAAAAAxODrBwcAAAAAEk4kBhCJrfsQFcid0PYx/RSGqeMU1kYMsLflKMpy1Y6vOvpoAAAAAJep0skIAAAAwrB2jKAHAwCX/a7NAQAAAMIYZEAPCQIASsL40N1cvJfjKJwZfLUGKlTz2Va5zm5RFfllZ6pcs+ZfAAAAAAAAAJoxAAAAAAAAVVmeOX+OQFCKyETMxop9AsOv45ExBC0W0nGTgluo6vkeAAAAAAAAAKoPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAHNlbGw=",
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P invoke [2]",
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 2030 of 146796 compute units",
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success",
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 56098 of 200000 compute units",
"Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P success"
],
"logMessagesNone": false,
"preTokenBalances": [
{
"accountIndex": 1,
"mint": "7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"uiTokenAmount": {
"uiAmount": 779780865.212414,
"decimals": 6,
"amount": "779780865212414",
"uiAmountString": "779780865.212414"
},
"owner": "87XL2uQdSGFTeXU8FNQxEJq5GQWCvaDMGUQ4dYZBTfUb",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accountIndex": 4,
"mint": "7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"uiTokenAmount": {
"uiAmount": 167625.704404,
"decimals": 6,
"amount": "167625704404",
"uiAmountString": "167625.704404"
},
"owner": "2ETSuPGkPp6Daj2gPFicaSA6c6BstWdBw1wJ18d655Ho",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
}
],
"postTokenBalances": [
{
"accountIndex": 1,
"mint": "7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"uiTokenAmount": {
"uiAmount": 779811062.882498,
"decimals": 6,
"amount": "779811062882498",
"uiAmountString": "779811062.882498"
},
"owner": "87XL2uQdSGFTeXU8FNQxEJq5GQWCvaDMGUQ4dYZBTfUb",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accountIndex": 4,
"mint": "7jKWqre8igsMmy4GGYh2zJZd7KdLb52UTpnRujQvpump",
"uiTokenAmount": {
"uiAmount": 137428.03432,
"decimals": 6,
"amount": "137428034320",
"uiAmountString": "137428.03432"
},
"owner": "2ETSuPGkPp6Daj2gPFicaSA6c6BstWdBw1wJ18d655Ho",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
}
],
"rewards": [],
"loadedWritableAddresses": [],
"loadedReadonlyAddresses": [],
"returnData": "undefined",
"returnDataNone": true,
"computeUnitsConsumed": "56098"
},
"index": "1122"
},
"slot": "375285929"
}
Last updated
Was this helpful?