Introducing Vixen Streams: Real-time Parsed Solana Program Streaming

Kyle EspinolaKyle Espinola
2 min read

Streamline On-Chain Data Processing with Vixen Streams

We're introducing Vixen Streams, a high-performance gRPC service that delivers real-time, parsed Solana blockchain data streams. If you're an application developer or part of a trading team already using Triton One's gRPC Geyser service, Vixen Streams provides a structured way to monitor and process on-chain data.

Why Vixen Streams?

Monitoring blockchain activity traditionally involves polling RPC endpoints or implementing custom transaction parsing logic—operations necessary for any team working with on-chain data. Vixen Streams handles these boilerplate tasks, allowing teams to focus on their core value proposition instead of managing low-level data processing. Vixen Streams addresses these challenges by providing:

  • gRPC Streaming: Real-time, high-performance, parsed Solana blockchain data streams.

  • Multi-Program Parsing: Pre-parsed account states and transaction instructions for supported programs.

  • Scalability: Built to handle high-volume blockchain data efficiently.

  • TypeScript SDK: A seamless SDK with token-based authentication, abstracting away complex gRPC API interactions.

How It Works

Vixen Streams is powered by the Yellowstone Vixen open-source framework, providing a customizable indexing solution tailored to specific programs, accounts, and transactions. This allows developers to process on-chain events without the complexity of maintaining a custom parsing infrastructure.

Getting Started

To start streaming Solana program data in your application, install the TypeScript SDK:

npm install @triton-one/vixen-stream

Example Usage

Here’s a simple integration example for subscribing to real-time updates:

import {
  ProgramStreamsServiceClient,
  VixenParserTypesUnion,
  credentials,
  createCallCredentials,
  ProgramAddress,
} from "@triton-one/vixen-stream";

const creds = credentials.createSsl();
const callCredentials = createCallCredentials("<token>");
const combinedCredentials = credentials.combineChannelCredentials(creds, callCredentials);
const client = new ProgramStreamsServiceClient("<endpoint>", combinedCredentials);

// Subscribe to account and instruction updates for the Token program
let stream = client.Subscribe({ program: ProgramAddress.Token });

stream.on("data", (update: VixenParserTypesUnion) => console.log(update));
stream.on("end", () => console.log("end"));
stream.on("error", (e: Error) => console.log("error: ", e));

Supported Programs

Currently, Vixen Streams supports the following Solana programs:

ProgramAddress
TokenTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
Token22TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
OrcaWhirlpoolwhirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
RaydiumCLMMCAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK

Need support for additional programs? Reach out to our support team and let us know.

Get Started Today

To begin streaming Solana data in real time, visit our documentation for detailed installation instructions. For activation, reach out to our customer support team.

📖 Read the Documentation
📩 Contact Support

0
Subscribe to my newsletter

Read articles from Kyle Espinola directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kyle Espinola
Kyle Espinola