> ## Documentation Index
> Fetch the complete documentation index at: https://docs.solanatracker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Yellowstone gRPC

> High-performance real-time Solana data streaming via Yellowstone gRPC — stream slots, blocks, transactions, accounts, and entries with low latency.

Yellowstone gRPC streams live Solana data to your app. Use it when you need account, transaction, slot, block, or entry updates as they happen.

Under the hood, Yellowstone can connect close to Solana leaders as they produce shreds. A leader is the validator scheduled to produce a block. A shred is a small piece of block data sent across the network. Jito Shreds acceleration can make this data available earlier for latency-sensitive apps.

<CardGroup cols={2}>
  <Card title="High Performance" icon="bolt">
    Binary protocol with efficient serialization for maximum throughput and minimal bandwidth usage.
  </Card>

  <Card title="Real-time Streaming" icon="wave-pulse">
    Bidirectional streaming with instant subscription creation and cancellation.
  </Card>

  <Card title="Advanced Filtering" icon="filter">
    Precisely control which data you receive using account, transaction, and program-level filters.
  </Card>

  <Card title="Multiple Data Types" icon="database">
    Subscribe to accounts, transactions, slots, blocks, and entries—all in a single stream.
  </Card>
</CardGroup>

***

## Pricing & Access

<Card title="Professional Plan" icon="credit-card">
  **\$247/month**

  ### Endpoints

  * **EU Region:** `https://grpc.solanatracker.io`
  * **US Region:** `https://grpc-us.solanatracker.io`

  ### Features

  * Ultra-low latency data streaming
  * Accelerated with Jito Shreds
  * 24/7 uptime with automatic failover
  * No bandwidth or request-based charges
</Card>

***

## Stream Types

<Tabs>
  <Tab title="Accounts">
    **Monitor account state changes in real time**

    Track balance updates, data modifications, ownership changes, and account creation/deletion events with flexible filters.

    <Card title="Account Monitoring Guide" icon="user" href="/yellowstone-grpc/account-monitoring">
      Learn how to stream account updates with filtering examples.
    </Card>
  </Tab>

  <Tab title="Transactions">
    **Stream transaction execution data**

    Receive transaction signatures, statuses, program invocations, and token balance updates as they occur.

    <Card title="Transaction Monitoring Guide" icon="receipt" href="/yellowstone-grpc/transaction-monitoring">
      Monitor transactions with program-level filters and execution details.
    </Card>
  </Tab>

  <Tab title="Slots & Blocks">
    **Track consensus and block production**

    Stream slot updates, block creation, and network state changes across commitment levels.

    <Card title="Slot & Block Monitoring Guide" icon="cube" href="/yellowstone-grpc/slot-block-monitoring">
      Stream slots and blocks with transaction details.
    </Card>
  </Tab>

  <Tab title="Entries">
    **Monitor low-level blockchain entries**

    Access core execution units containing transaction batches and results.

    <Card title="Entry Monitoring Guide" icon="code" href="/yellowstone-grpc/entry-monitoring">
      Stream entries and transaction batches.
    </Card>
  </Tab>
</Tabs>

***

## Quick Start

Get up and streaming in minutes:

<Card title="Yellowstone gRPC Quickstart" icon="rocket" href="/yellowstone-grpc/quickstart">
  Step-by-step setup guide with installation, authentication, and your first stream.
</Card>

***

## Key Features

### Jito Shreds Acceleration

Enhanced with **Jito Shreds**, which can provide **50–100 ms faster data availability** compared to standard Yellowstone gRPC nodes.

### Regional Endpoints

Select the closest endpoint for optimal performance:

* **EU:** `https://grpc.solanatracker.io`
* **US:** `https://grpc-us.solanatracker.io`

### Flexible Filtering

Fine-tune exactly what data you receive:

* Filter by account, owner, or program
* Include or exclude vote/failed transactions
* Apply `memcmp` and data size filters
* Slice account data to minimize bandwidth usage

***

## Subscription Request Structure

Each gRPC subscription includes a structured request defining what and how data is streamed.

### Core Parameters

<ParamField path="commitment" type="string" required>
  **Data consistency level**

  * `processed` — fastest, unconfirmed data
  * `confirmed` — confirmed by cluster
  * `finalized` — fully finalized data
</ParamField>

<ParamField path="ping" type="boolean" optional>
  **Keep the connection alive**

  Some clients model this as `ping: { id: 1 }`; others expose a boolean helper. Use the shape expected by your Yellowstone client version.
</ParamField>

<ParamField path="accounts_data_slice" type="array" optional>
  **Optimize account data transfer**

  Request specific byte ranges:

  ```json theme={null}
  [
    { "offset": 0, "length": 100 },
    { "offset": 200, "length": 50 }
  ]
  ```
</ParamField>

***

### Filter Configuration

<Accordion title="Account Filters">
  <ParamField path="account" type="array<string>">
    List of account public keys to monitor (logical OR).
  </ParamField>

  <ParamField path="owner" type="array<string>">
    List of account owners to monitor (logical OR).
  </ParamField>

  <ParamField path="filters" type="array<object>">
    Data size and memory comparison filters (logical AND):

    ```json theme={null}
    [
      { "dataSize": 165 },
      { "memcmp": { "offset": 0, "bytes": "base58_encoded_bytes" } }
    ]
    ```
  </ParamField>

  <Info>
    Multiple filter types use **AND** logic. Values within arrays use **OR** logic.
  </Info>

  Example: `owner: [TOKEN_PROGRAM]` plus `filters: [{ dataSize: 165 }]` means "accounts owned by the Token Program **and** exactly 165 bytes long."
</Accordion>

<Accordion title="Transaction Filters">
  <ParamField path="vote" type="boolean">
    Include or exclude vote transactions.
  </ParamField>

  <ParamField path="failed" type="boolean">
    Include or exclude failed transactions.
  </ParamField>

  <ParamField path="signature" type="string">
    Monitor a specific transaction signature.
  </ParamField>

  <ParamField path="account_include" type="array<string>">
    Include transactions involving any of these accounts (OR logic).
  </ParamField>

  <ParamField path="account_exclude" type="array<string>">
    Exclude transactions involving these accounts.
  </ParamField>

  <ParamField path="account_required" type="array<string>">
    Include only transactions involving **all** specified accounts (AND logic).
  </ParamField>
</Accordion>

***

## Example: Basic Transaction Monitoring

A minimal example using TypeScript:

```typescript theme={null}
import Client, { CommitmentLevel, SubscribeRequest } from "@triton-one/yellowstone-grpc";

const client = new Client(
  "https://grpc.solanatracker.io",
  "your-api-token",
  { "grpc.max_receive_message_length": 64 * 1024 * 1024 }
);

const stream = await client.subscribe();

// Handle incoming data
stream.on("data", (data) => {
  if (data.transaction) {
    console.log(`Transaction: ${data.transaction.signature}`);
    console.log(`Success: ${!data.transaction.meta?.err}`);
  }
});

// Subscribe to transactions
const subscribeRequest: SubscribeRequest = {
  transactions: {
    client: {
      accountInclude: [
        "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", // Token Program
        "11111111111111111111111111111111"            // System Program
      ],
      accountExclude: [],
      accountRequired: [],
      vote: false,
      failed: false
    }
  },
  commitment: CommitmentLevel.CONFIRMED,
  ping: { id: 1 }
};

stream.write(subscribeRequest);
```

<Note>
  For production deployments, include retry logic, error handling, and structured data processing. See detailed guides for robust implementation patterns.
</Note>

***

## Ready to Start?

<CardGroup cols={2}>
  <Card title="Complete Setup Guide" icon="rocket" href="/yellowstone-grpc/quickstart">
    Installation, authentication, and first stream implementation.
  </Card>

  <Card title="Monitor Pump.fun Data" icon="chart-line" href="/yellowstone-grpc/examples/pumpfun-transactions">
    Real-world example: streaming Pump.fun transactions in real time.
  </Card>
</CardGroup>

***

## Resources

* **[Yellowstone gRPC Repository](https://github.com/rpcpool/yellowstone-grpc)** — Full protobuf definitions and example clients
* **[Support](mailto:support@solanatracker.io)** — Get help with setup or integration
