Triton One Docs
WebsiteCustomer Portal
  • Introduction
  • RPC Pool
    • Introduction
    • GeoDNS
    • Abuse prevention
    • Rate Limits
    • Proxying
    • Support FAQs
    • Privacy & Security
  • Chains
    • Solana
      • Streaming
      • BigTable Archive
      • Improved Priority Fees API
        • For RPC Providers
      • Cascade
        • Transaction sending advice
        • Buying Transaction Bandwidth
        • Providing Transaction Bandwidth
      • Web3JS Socket/Connection Issues
      • Deprecated calls Solana 2.0
    • Pythnet
    • SUI
    • Others
  • Digital Assets API
    • Introduction
    • Fungible Assets
    • API Methods
      • Get Asset
      • Get Asset Proof
      • Get Assets By Authority
      • Get Assets By Owner
      • Get Assets By Group
      • Get Assets By Creator
      • Search Assets
      • Get Token Accounts
      • Get Signatures For Asset
      • Get NFT Editions
      • Get Asset Proofs
  • Project Yellowstone
    • Introduction
    • Dragon's Mouth gRPC Subscriptions
    • Old Faithful Historical Archive
      • Old Faithful Public Report
    • Steamboat Custom Indexes
    • Whirligig WebSockets
    • Fumarole Reliable Streams
    • Vixen Data Pipelines
      • Generate a Yellowstone Vixen Parser with Codama
  • Shield Transaction Policies
  • Account Management
    • Payments
    • Account management API
      • Introduction
      • Auth & Headers
      • Accounts
      • Address Watch Lists
      • Subscriptions
      • Subscription Types
      • Endpoints
      • Tokens
      • Rate Tiers
  • Trading APIs
    • Introduction
    • Jupiter swap
    • Pyth Hermes
    • Bundle simulation by Jito
  • Validators
    • Introduction
    • Vote account setup
    • Node identity protection
  • Pyth Publishers
    • NGINX proxy
    • Testnet, Devnet and Pythnet
Powered by GitBook
On this page
  • Introduction
  • The Problem
  • Getting Started
  • Usage
  • Supported Programs

Was this helpful?

  1. Project Yellowstone

Vixen Data Pipelines

Real-time Solana program data streaming

PreviousFumarole Reliable StreamsNextGenerate a Yellowstone Vixen Parser with Codama

Last updated 2 months ago

Was this helpful?

Introduction

Vixen Streams is a high-performance gRPC service that provides real-time, parsed Solana blockchain data streams. It solves the critical challenge of efficiently monitoring and reacting to on-chain activities by delivering pre-parsed account states and transaction instructions for specific Solana programs.

Powered by the open-source framework which provides the building blocks to create custom indexes for specific programs, accounts, and transactions. Vixen Streams enables developers to build responsive applications that can react to on-chain events without the complexity of building and maintaining custom parsing infrastructure.

The Problem

Monitoring blockchain activity traditionally requires polling RPC endpoints, or custom implementation of parsing and filtering transactions logic. This approach is harder to scale and requires significant resources to maintain.

Vixen Streams addresses these pain points by providing:

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

  • Support for multiple programs parsing: Detailed parsing of program-specific data structures

  • Handling scale: Built to process high volumes of blockchain data efficiently

  • TypeScript SDK: Easy to use client SDKs for TypeScript applications with token-based authentication support. Abstracting away the complexity of the gRPC API and proto files management. Providing a single updated source for consuming the data.

Getting Started

Install the

npm install @triton-one/vixen-stream

Usage

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

const creds = credentials.createSsl();

// <token> is your Triton One authentication token
const callCredentials = createCallCredentials("<token>");

const combinedCredentials = credentials.combineChannelCredentials(
  creds,
  callCredentials
);

// <endpoint> is your Triton One RPC endpoint
const client = new ProgramStreamsServiceClient(
  "<endpoint>",
  combinedCredentials
);

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

// Handle the update events as you see fit. Write them to a database, call an API, or submit a Solana transaction.
stream.on("data", function (update: VixenParserTypesUnion) {
  console.log(update);
});

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

Supported Programs

The following table lists the supported programs and their corresponding addresses. If you need support for additional programs, please reach out to our support.

Program
Address

Token

TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA

Token22

TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb

OrcaWhirlpool

whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc

RaydiumCLMM

CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK

Yellowstone Vixen
Typescript SDK