# RabbitStream vs. Yellowstone gRPC

### Flow of information

The difference in speed between Yellowstone gRPC and RabbitStream comes down to where in the Solana validator's data pipeline the <mark style="color:yellow;">information is extracted</mark>.

<figure><img src="/files/cxcZDA5jktVVRurHhZQI" alt="yellowstone-grpc-vs-rabbitstream-dataflow"><figcaption><p>Yellowstone gRPC vs Rabbitstream: Flow of information</p></figcaption></figure>

**Solana Validator Steps (The Pipeline)**

1. Gossip: Leader receives transactions.
2. Shredding: Leader breaks data into packets (Shreds) for network broadcast.
3. Execution: Transactions are run to determine the final outcome and generate meta (logs, fees, errors).
4. Geyser Hook: The validator makes the final, processed data available to plugins.

**Yellowstone gRPC Flow**

* **Extraction Point**: <mark style="color:yellow;">Data is extracted after it RPC processes the transaction</mark>, 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**: <mark style="color:yellow;">Includes full transaction</mark> `meta`, logs, and final status.
* **Best For**: Reliable indexing and analytics requiring full transaction context.

**Rabbitstream Flow**

* Extraction Point: Data is extracted from <mark style="color:yellow;">raw</mark> <mark style="color:yellow;">UDP Shreds,</mark> without the RPC being involved in any stage.&#x20;
* Latency: <mark style="color:yellow;">Ultra-Low (Fastest)</mark>. Minimal delay from the leader.
* Data Completeness: Missing all `meta` data, logs, and final execution status.
* Best For: Sniping and time-critical alerts where speed is the only priority.

### Difference between RabbitStream & Yellowstone gRPCs

<table><thead><tr><th width="195"></th><th>RabbitStream</th><th>Yellowstone gRPCs</th></tr></thead><tbody><tr><td>Extraction Point</td><td><mark style="color:yellow;">Data</mark> is <mark style="color:yellow;">extracted</mark> before it is <mark style="color:yellow;">processed by RPC</mark>, offering maximum immediacy and raw access.</td><td><mark style="color:yellow;">Earliest detection</mark> is at Processed commitment, when RPC processes and <mark style="color:yellow;">executes the transaction</mark>.</td></tr><tr><td>Latency</td><td><mark style="color:yellow;">Ultra-Low (Fastest)</mark>. Minimal delay, as data is captured at the earliest possible stage.</td><td><mark style="color:yellow;">Slower than shreds</mark> as the transaction is processed to generate the inner instructions, meta, logs, etc. High latency.</td></tr><tr><td>Data Availability</td><td><mark style="color:yellow;">Missing</mark> some <mark style="color:yellow;">meta</mark> data, logs, and final execution status upon initial capture, requiring external validation.</td><td>Includes <mark style="color:yellow;">full transaction meta</mark>, logs, and final status (executed or failed). Comprehensive data.</td></tr></tbody></table>

{% hint style="info" %}

### RabbitStream vs Yellowstone gRPC — the key architectural difference

Yellowstone gRPC is a Geyser plugin that *runs* *inside* an RPC node. It is bound to that node's execution pipeline and can only emit data after the node has fully replayed the transaction. \
RabbitStream operates <mark style="color:yellow;">entirely outside</mark> the RPC layer — listening directly to raw UDP shreds from multiple sources across the Solana network. No RPC node involved at any point.
{% endhint %}

### Response structures

While both Rabbitstream and Yellowstone gRPC use the <mark style="color:yellow;">same gRPC subscription method</mark>, the content within the streamed transaction is different. This key difference is entirely the <mark style="color:yellow;">meta</mark> 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.

<figure><img src="/files/1QFyitv66lRcIZtIWhEq" alt="Rabbitstream vs Yellowstone gRPC streamed trasnaction"><figcaption><p>Yellowstone vs Rabbitstream: Response Structures</p></figcaption></figure>

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.

{% tabs %}
{% tab title="Yellowstone Response" %}
{% code overflow="wrap" %}

```json
{
    "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"
  }

```

{% endcode %}
{% endtab %}

{% tab title="Rabbitstream Response" %}
{% code overflow="wrap" %}

```json
{
    "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 recieved, parsed for illustration
            }
        ],
          "versioned": false,
          "addressTableLookups": []
        }
      },
      "index": "1122"
    },
    "slot": "375285929"
  } //meta missing

```

{% endcode %}
{% endtab %}

{% tab title="Raw Yellowstone Response" %}

```
{
  transaction: {
    transaction: {
      signature: Buffer(64) [Uint8Array] [
        158,   3, 197, 107, 176,  77, 142, 177,  82,  23, 183,
        241, 245,  70,  82, 254, 184,  33, 176, 101,  56,  48,
        199,   7, 160,   9, 109, 212,  71,  45,  35,  14, 177,
         78, 252, 108,  49, 208,  20, 227, 247,   4, 191, 115,
        116,   0, 241,  68, 214, 125,  89, 142, 188,   4,  35,
        148, 249,  99, 192, 254, 216,  43, 181,  11
      ],
      isVote: false,
      transaction: {
        signatures: [
          Buffer(64) [Uint8Array] [
            158,   3, 197, 107, 176,  77, 142, 177,  82,  23, 183,
            241, 245,  70,  82, 254, 184,  33, 176, 101,  56,  48,
            199,   7, 160,   9, 109, 212,  71,  45,  35,  14, 177,
             78, 252, 108,  49, 208,  20, 227, 247,   4, 191, 115,
            116,   0, 241,  68, 214, 125,  89, 142, 188,   4,  35,
            148, 249,  99, 192, 254, 216,  43, 181,  11
          ]
        ],
        message: {
          header: {
            numRequiredSignatures: 1,
            numReadonlySignedAccounts: 0,
            numReadonlyUnsignedAccounts: 8
          },
          accountKeys: [
            Buffer(32) [Uint8Array] [
               18,  78,  36,   6,  16, 137, 173, 251,
               16,  21, 200, 157, 208, 246,  49, 253,
               20, 134, 169, 227,  20, 214,  70,  12,
              176, 183, 229,  40, 202, 114, 213, 142
            ],
            Buffer(32) [Uint8Array] [
              64, 129, 116,  17, 164, 103,  64,  27,
              46,  44, 189,  68, 129, 128, 222, 153,
              22, 233, 226, 133, 191, 114, 163, 202,
               9,  51, 130, 204, 199, 189,  29,  89
            ],
            Buffer(32) [Uint8Array] [
              126, 120, 193, 229,  33, 191,  28, 182,
              255,  28,  97, 200, 139, 182, 143, 254,
               54, 219,  10, 219,  73, 171, 204, 123,
              131,  97,   4, 132, 120,  26,  98, 102
            ],
            Buffer(32) [Uint8Array] [
              0, 0, 0, 0, 0, 0, 0, 0, 0,
              0, 0, 0, 0, 0, 0, 0, 0, 0,
              0, 0, 0, 0, 0, 0, 0, 0, 0,
              0, 0, 0, 0, 0
            ], //response trimmed down
          ],
          recentBlockhash: Buffer(32) [Uint8Array] [
            161, 203, 101,  78, 235, 201, 255, 248,
             40,  64, 139, 172, 106, 113,  27, 220,
             43, 194, 119, 112, 153,   3,   1, 167,
             19,  55, 125, 218, 142, 250,  35,  34
          ],
          instructions: [
            {
              programIdIndex: 8,
              accounts: Buffer(14) [Uint8Array] [
                 7,  2, 9,  3,  1, 4,
                 0,  6, 5, 13, 11, 8,
                10, 12
              ],
              data: Buffer(24) [Uint8Array] [
                 51, 230, 133, 164, 1, 127, 131, 173,
                196, 224, 235,   7, 7,   0,   0,   0,
                 95,  34,  19,   0, 0,   0,   0,   0
              ]
            }
          ],
          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: [
              {
                programIdIndex: 12,
                accounts: Buffer(2) [Uint8Array] [ 10, 8 ],
                data: Buffer(33) [Uint8Array] [
                  231, 37, 126, 85, 207, 91, 63, 52,   1,
                  171, 11,  80, 78,  10,  0,  0,  0,   0,
                    0,  0,   0,  0,   0,  0,  0, 32, 101,
                   20,  0,   0,  0,   0,  0
                ],
                stackHeight: 2
              },
              //response trimmed
            ]
          }
        ],
        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'
  },

}
```

{% endtab %}

{% tab title="Raw Rabbitstream Response" %}

```
{
  transaction: {
    transaction: {
      signature: Buffer(64) [Uint8Array] [
        158,   3, 197, 107, 176,  77, 142, 177,  82,  23, 183,
        241, 245,  70,  82, 254, 184,  33, 176, 101,  56,  48,
        199,   7, 160,   9, 109, 212,  71,  45,  35,  14, 177,
         78, 252, 108,  49, 208,  20, 227, 247,   4, 191, 115,
        116,   0, 241,  68, 214, 125,  89, 142, 188,   4,  35,
        148, 249,  99, 192, 254, 216,  43, 181,  11
      ],
      isVote: false,
      transaction: {
        signatures: [
          Buffer(64) [Uint8Array] [
            158,   3, 197, 107, 176,  77, 142, 177,  82,  23, 183,
            241, 245,  70,  82, 254, 184,  33, 176, 101,  56,  48,
            199,   7, 160,   9, 109, 212,  71,  45,  35,  14, 177,
             78, 252, 108,  49, 208,  20, 227, 247,   4, 191, 115,
            116,   0, 241,  68, 214, 125,  89, 142, 188,   4,  35,
            148, 249,  99, 192, 254, 216,  43, 181,  11
          ]
        ],
        message: {
          header: {
            numRequiredSignatures: 1,
            numReadonlySignedAccounts: 0,
            numReadonlyUnsignedAccounts: 8
          },
          accountKeys: [
            Buffer(32) [Uint8Array] [
               18,  78,  36,   6,  16, 137, 173, 251,
               16,  21, 200, 157, 208, 246,  49, 253,
               20, 134, 169, 227,  20, 214,  70,  12,
              176, 183, 229,  40, 202, 114, 213, 142
            ],
            Buffer(32) [Uint8Array] [
              64, 129, 116,  17, 164, 103,  64,  27,
              46,  44, 189,  68, 129, 128, 222, 153,
              22, 233, 226, 133, 191, 114, 163, 202,
               9,  51, 130, 204, 199, 189,  29,  89
            ] //Response trimmed down
          ],
          recentBlockhash: Buffer(32) [Uint8Array] [
            161, 203, 101,  78, 235, 201, 255, 248,
             40,  64, 139, 172, 106, 113,  27, 220,
             43, 194, 119, 112, 153,   3,   1, 167,
             19,  55, 125, 218, 142, 250,  35,  34
          ],
          instructions: [
            {
              programIdIndex: 8,
              accounts: Buffer(14) [Uint8Array] [
                 7,  2, 9,  3,  1, 4,
                 0,  6, 5, 13, 11, 8,
                10, 12
              ],
              data: Buffer(24) [Uint8Array] [
                 51, 230, 133, 164, 1, 127, 131, 173,
                196, 224, 235,   7, 7,   0,   0,   0,
                 95,  34,  19,   0, 0,   0,   0,   0
              ]
            }
          ],
          versioned: false,
          addressTableLookups: []
        }
      },
      meta: undefined,
      index: '0'
    },
    slot: '375285929'
  }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shyft.to/solana-shredstreaming/yellowstone-vs-rabbitstream-comparison.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
