Yellowstone gRPC

Yellowstone gRPC, streamed to your server.

Subscribe to Solana accounts, transactions, slots and blocks from Frankfurt or Amsterdam. Your server's IP address is the credential, so there is no token to leak.

One stream into a node, fanned out to many subscribersAn abstract drawing of light on the page's dark ground. A bright stream runs from the left into a round, solid node; from its far side many streams fan out to the right, each ending at a small point of light, a subscriber.One stream into a node, fanned out to many subscribersAn abstract drawing of light on the page's dark ground. A bright stream runs from the left into a round, solid node; from its far side many streams fan out to the right, each ending at a small point of light, a subscriber.

What you get

  • The Yellowstone stream

    Accounts, transactions, slots, blocks and entries, on one Subscribe stream.

    Yellowstone HTTP/2

  • Your filters, as written

    Your SubscribeRequest reaches the node unchanged. No stream is shared with another customer.

  • No token to leak

    Only the addresses on your allowlist can connect. Remove one and its streams close.

    FRA AMS :10001

How it works

  1. Pick a plan and region

    Frankfurt or Amsterdam. Checkout asks for the IP addresses your bots connect from.

  2. Pay on-chain

    In USDC, USDT or SOL. Your address goes on that region's allowlist.

  3. Connect and subscribe

    Plaintext HTTP/2 on port 10001, so keep the endpoint inside your own infrastructure.

A day, a week or a month

Prepaid, with no usage billing.

  • Day pass

    • 1 Subscribe stream
    • 1 allowed address
    • 500 accounts per subscription
  • Week

    • 1 Subscribe stream
    • 1 allowed address
    • 500 accounts per subscription
  • gRPC Standard

    Recommended

    • 1 Subscribe stream
    • 1 allowed address
    • 500 accounts per subscription
  • gRPC Dedicated

    • A list of allowed addresses
    • No account limit
    • Stream count set with our team

Subscribe in a few lines

No token in the code: add your address to the allowlist first.

import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";

// Plaintext HTTP/2: http://, never https://. No x-token: your IP is the credential.
const client = new Client("http://88.216.36.108:10001", undefined, {
  grpcMaxDecodingMessageSize: 64 * 1024 * 1024, // a busy slot exceeds the 4 MiB default
});

const stream = await client.subscribe({
  accounts: {
    owned: { account: [], owner: ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"], filters: [] },
  },
  slots: { clock: { filterByCommitment: false } },
  transactions: {}, transactionsStatus: {}, blocks: {}, blocksMeta: {}, entry: {},
  accountsDataSlice: [],
  commitment: CommitmentLevel.PROCESSED,
});

stream.on("data", (update) => {
  if (update.slot) console.log("slot", update.slot.slot);
  if (update.account) console.log("account", update.filters);
});

The full docsNew to Yellowstone? Read the guide

Before you buy

Where is the x-token?

There isn't one. We check the IP address a connection comes from. Any other address gets PERMISSION_DENIED: Unauthorized IP.

Is the endpoint TLS?

No. It is plaintext HTTP/2, so connect with http://, never https://, and keep it inside your infrastructure.

Can I open two streams?

Standard allows one Subscribe stream per address; a second gets RESOURCE_EXHAUSTED. Calls such as GetSlot don't count.

Which RPCs are served?

Subscribe, SubscribeReplayInfo, Ping, GetLatestBlockhash, GetBlockHeight, GetSlot, IsBlockhashValid and GetVersion. SubscribeDeshred and SubscribeGossip are not.

What if my IP changes?

Update your allowlist in the console. An address you remove has its open streams closed.

Stream the chain to your server