Yellowstone gRPC
Solana Yellowstone gRPC, streamed to your server.
Subscribe to Solana accounts, transactions, slots and blocks from Frankfurt or Amsterdam. Connect from your allowlisted server with no token, or from any address with your API key.
- gRPC Standard
- $99/mo
- Day pass
- $5/day
What you get
The Yellowstone stream
Accounts, transactions, slots, blocks and entries, on one Subscribe stream.
Your filters, as written
Your SubscribeRequest reaches the node unchanged. No stream is shared with another customer.
Allowlist or API key
An address on your allowlist connects with no token. Your API key, sent as x-token, works from anywhere. Remove an address and its streams close.
How it works
Pick a plan and region
Frankfurt or Amsterdam. Checkout asks for the IP addresses your bots connect from.
Pay on-chain
In USDC, USDT or SOL. Your address goes on that region's allowlist.
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. A connection is one Subscribe stream. Buy several and each costs less. Put them all on one IP or split them across several. Pay for a year: get 2 months free.
Day pass
$5/day
- 1 connection is 1 Subscribe stream
- All on one address, or split across several
- 500 accounts per subscription
Week
$30/week
- 1 connection is 1 Subscribe stream
- All on one address, or split across several
- 500 accounts per subscription
gRPC Standard
Recommended
$99/mo
- 1 connection is 1 Subscribe stream
- All on one address, or split across several
- 500 accounts per subscription
gRPC Dedicated
$1,899/mo
- No rate limits
- A list of allowed addresses
- No account limit
- Stream count set with our team
Volume pricing: the more connections, the less each costs
| Connection | Each, a month | Off list |
|---|---|---|
| 1st–2nd | $99.00 | — |
| 3rd–5th | $79.20 | −20% |
| 6th–10th | $59.40 | −40% |
| 11th and up | $45.54 | −54% |
Each row prices only the connections at those places, so 5 connections are 2 × $99.00 + 3 × $79.20 = $435.60 a month.
Buy up to 50.
RPC + gRPC pack
The same number of RPC and gRPC connections in one payment, each at its own volume price.
Subscribe in a few lines
From an allowlisted address, no token is needed. With an API key, pass it as the x-token.
import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";
// Plaintext HTTP/2: http://, never https://. The second argument is the
// x-token: none from an allowlisted IP, or your API key from anywhere else.
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);
});use futures::StreamExt;
use std::collections::HashMap;
use yellowstone_grpc_client::GeyserGrpcClient;
use yellowstone_grpc_proto::prelude::{CommitmentLevel, SubscribeRequest, SubscribeRequestFilterSlots};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Plaintext HTTP/2. No x-token from an allowlisted IP; from anywhere
// else, pass your API key: .x_token(Some("YOUR_API_KEY"))?
let mut client = GeyserGrpcClient::build_from_shared("http://88.216.36.108:10001")?
.x_token::<String>(None)?
.max_decoding_message_size(64 * 1024 * 1024)
.connect()
.await?;
let mut slots = HashMap::new();
slots.insert("clock".to_owned(), SubscribeRequestFilterSlots::default());
let request = SubscribeRequest {
slots,
commitment: Some(CommitmentLevel::Processed as i32),
..Default::default()
};
let mut stream = client.subscribe_once(request).await?;
while let Some(update) = stream.next().await {
println!("{:?}", update?.update_oneof);
}
Ok(())
}# No reflection, so grpcurl needs the proto.
BASE="https://raw.githubusercontent.com/rpcpool/yellowstone-grpc/master/yellowstone-grpc-proto/proto"
curl -fsSO "$BASE/geyser.proto" && curl -fsSO "$BASE/solana-storage.proto"
# -plaintext: HTTP/2 without TLS. No metadata from an allowlisted IP;
# from anywhere else, add -H 'x-token: YOUR_API_KEY'.
grpcurl -plaintext -proto geyser.proto -import-path . \
-d '{}' 88.216.36.108:10001 geyser.Geyser/GetSlotBefore you buy
What is Solana gRPC?
Yellowstone gRPC is a Geyser plugin: it streams a Solana node's account, transaction, slot and block updates to your code as the node processes them. You subscribe once instead of polling JSON-RPC. The Solana gRPC guide
Where is the x-token?
New subscriptions come with an API key: send it as the x-token header. Without a key, we check the IP address a connection comes from, and any address not on your allowlist 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?
Yes. Each connection you buy is one Subscribe stream, on one address or split across several. An address that opens more than its share 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, or connect with your API key, which works from any address. An address you remove has its open streams closed.
Can I replay slots I missed?
Yes. Send from_slot in your SubscribeRequest and the stream starts from that slot. We keep about 48 hours, so a client can recover from a long outage from the stream itself. Reconnect with from_slot
How does it compare with other gRPC providers?
We compared seven Yellowstone gRPC providers, AllenHark included, on regions, replay, authentication, limits and dedicated plans, from each provider's own docs. Best Yellowstone gRPC providers
