Yellowstone Client Setup
Connect to:
text
geyser.sol.cubestech.online:443:443Use TLS. Send your key through x-token with the Yellowstone TypeScript SDK or x-api-key with raw gRPC metadata.
TypeScript
bash
npm install @triton-one/yellowstone-grpctypescript
import Client from "@triton-one/yellowstone-grpc"
const client = new Client(
"geyser.sol.cubestech.online:443:443",
process.env.NODE_API_KEY,
{ grpcMaxDecodingMessageSize: 64 * 1024 * 1024 },
)
await client.connect()
const response = await client.ping(1)
console.log(response.count)Call connect() before any unary or streaming method.
Python
Generate Python modules from geyser.proto and its Google proto imports.
bash
python -m pip install grpcio grpcio-tools protobuf
python -m grpc_tools.protoc \
-I ./proto \
--python_out=. \
--grpc_python_out=. \
./proto/geyser.protopython
import grpc
import geyser_pb2 as pb
import geyser_pb2_grpc as rpc
channel = grpc.secure_channel(
"geyser.sol.cubestech.online:443:443",
grpc.ssl_channel_credentials(),
)
client = rpc.GeyserStub(channel)
metadata = [("x-api-key", "YOUR_API_KEY")]
response = client.Ping(pb.PingRequest(count=1), metadata=metadata)
print(response.count)Go
Use the generated Yellowstone Go package. Create transport credentials from the system root certificate pool. Attach x-api-key metadata to the outgoing context.
go
ctx := metadata.AppendToOutgoingContext(
context.Background(),
"x-api-key",
os.Getenv("NODE_API_KEY"),
)Rust
Use tonic with the generated Yellowstone client.
rust
let channel = tonic::transport::Channel::from_static(
"geyser.sol.cubestech.online:443:443"
)
.connect()
.await?;Add x-api-key to each request metadata map before sending.
Verify the connection
Run Ping first. A successful response echoes your integer count. UNAUTHENTICATED means the header is missing or invalid.