Ga naar de hoofdinhoud

Compression

Bijgewerkt op
Sep 03, 2026
Solana gRPC is included with Scale plans and up. Learn more on our pricing page.

Overzicht

gRPC negotiates per-message compression between the client and the server. The client advertises the algorithms it accepts, and the server compresses responses with one of them.

Quicknode supports gzip and zstd on Solana gRPC.

On port 443, Solana gRPC meters the compressed size of response data when the client negotiates compression. Enabling compression therefore reduces metered usage.

Supported Algorithms

TaalClient librarygzipzstd
Roestyellowstone-grpc-clientSupportedSupported
Gogoogle.golang.org/grpcBuilt inRequires github.com/mostynb/go-grpc-compression/zstd
TypeScriptgrpcSupportedSupported
PythongrpcioSupportedNot supported by grpcio

zstd typically achieves a higher compression ratio than gzip on Solana block data.

Enabling Compression

use yellowstone_grpc_client::{ClientTlsConfig, GeyserGrpcClient};

// For HTTP Provider URL: https://example-guide-demo.solana-mainnet.quiknode.pro/123456789/
let endpoint = "https://example-guide-demo.solana-mainnet.quiknode.pro:443";
let token = "123456789";

let client = GeyserGrpcClient::build_from_shared(endpoint.to_string())?
.x_token(Some(token.to_string()))?
.tls_config(ClientTlsConfig::new().with_native_roots())?
.accept_compressed(tonic::codec::CompressionEncoding::Gzip)
// .accept_compressed(tonic::codec::CompressionEncoding::Zstd)
.connect()
.await?;

The tonic gzip en zstd features are enabled transitively by the default tonic-compression feature of yellowstone-grpc-proto, so no extra feature flags are required in your Cargo.toml.

Metered Data Pricing

Solana gRPC is metered on the volume of data delivered. From October 1, 2026, metered usage is 15 credits per 0.1 MB.

Port 443 meters compressed response data when the client negotiates compression. Port 10000 is legacy and meters uncompressed response data.

Bronnen