FortiBlox LogoFortiBlox Docs
NexusgRPC Streaming

gRPC Streaming Overview

High-performance Yellowstone-compatible gRPC streaming for real-time and historical blockchain data

gRPC Streaming

FortiBlox gRPC Streaming provides high-performance, Yellowstone-compatible gRPC streaming for real-time and historical access to X1 Blockchain data. Get low-latency transaction, block, account, and slot updates streamed directly to your application.

What is gRPC Streaming?

gRPC Streaming is a production-ready streaming service that provides:

  • Real-time data streaming from Redis pub/sub (< 10ms latency)
  • Historical data replay from TimescaleDB for any slot range
  • Yellowstone compatibility - drop-in replacement for Helius LaserStream
  • Advanced filtering - account include/exclude, vote filtering, commitment levels
  • High performance - handles 1000+ concurrent streams

Key Features

Yellowstone gRPC Compatible

100% compatible with Yellowstone gRPC protocol - use existing client libraries and code without modifications.

Network Support

NetworkAccess TierEndpoint
MainnetProfessional+ onlygrpc.fortiblox.com:10002

Professional Tier Required: Mainnet gRPC streaming requires Professional or Enterprise tier.

Streaming Methods

MethodDescriptionStatusUse Case
SubscribeSlotsStream slot updates in real-timeLIVEChain head tracking, block production monitoring
SubscribeTransactionsStream transaction updatesLIVEDeFi monitoring, swap tracking
SubscribeBlocksStream block updatesLIVEBlock explorers, network monitoring
SubscribeAccountsStream account updatesLIVEWallet monitoring, balance tracking
PingHealth checkAvailableConnection testing

NEW: Account Streaming is Now Live! All 5 gRPC methods are now operational. Monitor account balance changes, wallet activity, and program-owned accounts in real-time.

Use Cases

Slot Tracking & Chain Head Monitoring

Stream real-time slot updates for block production monitoring:

const stream = client.SubscribeSlots({});

stream.on('data', (slot) => {
  console.log(`Slot: ${slot.slot}, Parent: ${slot.parent}, Status: ${slot.status}`);
});

DeFi Protocol Monitoring

Stream all DEX swaps in real-time:

const stream = client.SubscribeTransactions({
  account_include: ['JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'],
  filter_votes: true,
  commitment: 'CONFIRMED'
});

NFT Marketplace Indexing

Track all NFT sales on Magic Eden:

request = geyser_pb2.SubscribeTransactionsRequest(
    account_include=['M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'],
    filter_votes=True,
    commitment=geyser_pb2.FINALIZED
)
for tx in stub.SubscribeTransactions(request):
    print(f"NFT Sale: {tx.signature}")

Historical Data Replay

Replay transactions from a specific slot range:

const stream = client.SubscribeTransactions({
  start_slot: 100000,
  end_slot: 100100,
  filter_votes: true
});

Block Explorer

Real-time block updates:

for block in stub.SubscribeBlocks(geyser_pb2.SubscribeBlocksRequest()):
    print(f"Block {block.slot}: {block.transaction_count} txs")

Authentication

gRPC streaming requires API key authentication via metadata:

const metadata = new grpc.Metadata();
metadata.add('x-api-key', process.env.FORTIBLOX_API_KEY);

const stream = client.SubscribeTransactions(request, metadata);

Rate Limits & Credits

TierConcurrent StreamsCredits per Hour
Professional10010,000
EnterpriseCustomCustom

Quick Start

Supported Languages

Official client libraries and examples:

  • JavaScript/Node.js - @grpc/grpc-js
  • Python - grpcio
  • Rust - tonic
  • Go - google.golang.org/grpc

All examples use standard gRPC tooling and are compatible with existing Yellowstone clients.

Performance

  • Latency: < 10ms for real-time streams (Redis pub/sub)
  • Throughput: Handles 1000+ concurrent streams per instance
  • Historical: Batched queries with configurable batch size (default: 1000)
  • Compression: gRPC compression supported

Next Steps

  1. Getting Started - Installation and first stream
  2. Slot Streaming - Stream real-time slot updates (NEW)
  3. Transaction Streaming - Filter and stream transactions
  4. Historical Replay - Replay historical data

Support