> For the complete documentation index, see [llms.txt](https://docs.shyft.to/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shyft.to/solana-shredstreaming/yellowstone-vs-rabbitstream-comparison.md).

# 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 %}

### RabbitStream vs. Yellowstone gRPC: Benchmarks

RabbitStream's architectural advantage over Yellowstone gRPC is structural — it operates before the RPC execution pipeline entirely. The benchmarks below quantify that gap on live mainnet traffic across three regions.

**Methodology**

Both runs used [geyserbench v1.2.2](https://github.com/solstackapp/geyserbench), an open-source benchmarking tool by Solstack that connects to two endpoints simultaneously on the same live transaction stream and tags every delivery by which arrived first. No runs were excluded.

* **Tool:** geyserbench v1.2.2
* **Sample size:** 10,000 valid transactions per run
* **Runs:** 2 per region (6 total)
* **Regions tested:** Frankfurt (FRA), New York (NY), Amsterdam (AMS)
* **Test node:** Dedicated bare-metal server (AMD EPYC 9254, 384 GB RAM), co-located in the respective test region with under 1ms ping to both endpoints. Client-side network variance was not a factor in the results.

**Results Summary**

| Region          | RabbitStream Win Rate | Yellowstone P50 Behind | Yellowstone P95 Behind | Yellowstone P99 Behind |
| --------------- | --------------------- | ---------------------- | ---------------------- | ---------------------- |
| Frankfurt (FRA) | \~99.77% avg          | \~11.98ms              | \~30.36ms              | \~42.40ms              |
| New York (NY)   | \~99.94% avg          | \~7.24ms               | \~20.88ms              | \~28.55ms              |
| Amsterdam (AMS) | \~97.86% avg          | \~5.99ms               | \~20.92ms              | \~30.38ms              |

**Frankfurt (FRA) — Full Results**

<figure><img src="/files/ooftMCT9OyA6t9ItCneZ" alt="rabbitstream-vs-yellowstone-grpc-illustration-fra"><figcaption><p>RabbitStream vs Yellowstone gRPC: Benchmarks (Frankfurt)</p></figcaption></figure>

| Run   | RabbitStream Win Rate        | Yellowstone P50 Behind | Yellowstone P95 Behind | Yellowstone P99 Behind |
| ----- | ---------------------------- | ---------------------- | ---------------------- | ---------------------- |
| Run 1 | 99.68% (9,968 / 10,000 txns) | 16.12ms                | 36.72ms                | 50.48ms                |
| Run 2 | 99.87% (9,987 / 10,000 txns) | 7.84ms                 | 24.00ms                | 34.31ms                |

**New York (NY) — Full Results**

<figure><img src="/files/7zeX5HaRxCoPf0jWYc9D" alt="rabbitstream-vs-yellowstone-grpc-illustration-ny"><figcaption><p>RabbitStream vs Yellowstone gRPC: Benchmarks (New York)</p></figcaption></figure>

| Run   | RabbitStream Win Rate        | Yellowstone P50 Behind | Yellowstone P95 Behind | Yellowstone P99 Behind |
| ----- | ---------------------------- | ---------------------- | ---------------------- | ---------------------- |
| Run 1 | 99.96% (9,996 / 10,000 txns) | 6.66ms                 | 19.20ms                | 24.32ms                |
| Run 2 | 99.92% (9,992 / 10,000 txns) | 7.82ms                 | 22.55ms                | 32.78ms                |

**Amsterdam (AMS) — Full Results**

<figure><img src="/files/iBwYkscWIHMIV4hqOoxf" alt="rabbitstream-vs-yellowstone-grpc-ams-image"><figcaption><p>RabbitStream vs Yellowstone gRPC: Benchmarks (Amsterdam)</p></figcaption></figure>

| Run   | RabbitStream Win Rate        | Yellowstone P50 Behind | Yellowstone P95 Behind | Yellowstone P99 Behind |
| ----- | ---------------------------- | ---------------------- | ---------------------- | ---------------------- |
| Run 1 | 98.53% (9,853 / 10,000 txns) | 7.00ms                 | 24.54ms                | 36.34ms                |
| Run 2 | 97.20% (9,720 / 10,000 txns) | 4.97ms                 | 17.29ms                | 23.79ms                |

Amsterdam showed a slightly wider variance in win rate across runs compared to Frankfurt and New York, though RabbitStream arrived first in over 97% of transactions in both iterations. Yellowstone's P99 ranged from 23.79ms to 36.34ms across the two runs. Both feeds delivered zero backfill.

**What the numbers mean**

RabbitStream's P50 of 0.00ms across all runs is not a rounding artifact — it reflects delivery at the shred layer, before any RPC node has begun processing the transaction. Yellowstone gRPC can only emit data after the block has been fully replayed by the node. The latency gap in the tables above is that processing overhead, and it is structural rather than incidental — it will exist regardless of hardware or network conditions.

Both feeds delivered zero backfill across all runs and all regions. The shred-layer speed advantage carries no reliability trade-off.

### 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.
