Slipstream
Sender-agnostic, leader-proximity-aware Solana transaction relay with production-ready client SDKs in Rust, TypeScript, and Python.
What is Slipstream?
Slipstream is a smart transaction routing layer that automatically selects the optimal sender for your transactions based on real-time leader proximity. Instead of being locked into a single provider, Slipstream dynamically routes through the sender closest to the current slot leader.
The SDK connects via auto-discovery — it probes available regions, ranks them by latency, and connects using a protocol fallback chain (QUIC → gRPC → WebSocket → HTTP).
Protocols & Ports
| Protocol | Port | Timeout | Use Case |
|---|---|---|---|
| QUIC | 4433 | 2000ms | Primary — lowest latency |
| gRPC | 10000 | 3000ms | Streaming + structured data |
| WebSocket | 9000 | 3000ms | Browser clients, streaming |
| HTTP | 9091 | 5000ms | Polling fallback, always available |
Protocol fallback is automatic: QUIC → gRPC → WebSocket → HTTP.
Installation
Rust SDK
1[dependencies]
2allenhark-slipstream = "0.3"
3tokio = { version = "1", features = ["full"] }TypeScript SDK
1npm install @allenhark/slipstreamPython SDK
1pip install AllenHarkSlipstreamQuick Example
Rust SDK
1use allenhark_slipstream::{Config, SlipstreamClient};
2
3let config = Config::builder()
4 .api_key("sk_live_...")
5 .build()?;
6
7let client = SlipstreamClient::connect(config).await?;
8
9let result = client.submit_transaction(&tx_bytes).await?;
10println!("Signature: {:?}", result.signature);
11println!("Status: {:?}", result.status);TypeScript SDK
1import { SlipstreamClient, configBuilder } from "@allenhark/slipstream";
2
3const config = configBuilder()
4 .apiKey("sk_live_...")
5 .build();
6
7const client = await SlipstreamClient.connect(config);
8
9const result = await client.submitTransaction(txBytes);
10console.log("Signature:", result.signature);
11console.log("Status:", result.status);Python SDK
1from allenhark_slipstream import SlipstreamClient, config_builder
2
3config = config_builder().api_key("sk_live_...").build()
4client = await SlipstreamClient.connect(config)
5
6result = await client.submit_transaction(tx_bytes)
7print(f"Signature: {result.signature}")
8print(f"Status: {result.status}")Features
- Leader Proximity Routing — Automatically routes to the sender closest to the current leader
- Multi-Protocol — QUIC, gRPC, WebSocket, HTTP with automatic fallback chain
- Atomic Bundles — Submit 2-5 transaction bundles (5 tokens / 0.00025 SOL per bundle)
- Real-Time Streams — Leader hints, tip instructions, priority fees, blockhash, slot notifications
- Token Billing — 1 token = 0.00005 SOL (50,000 lamports), pay-per-use
- Dynamic Regions — Auto-discovered via discovery service, regions change as infrastructure scales
- RPC Proxy — Proxied Solana RPC methods + transaction/bundle simulation
- Webhooks — Transaction/bundle/billing event notifications with HMAC-SHA256 verification
- TPU Submission — Direct UDP to validator TPU for fire-and-forget scenarios (0.0001 SOL)
Next Steps
- Quick Start — Get your first transaction submitted in 5 minutes
- Configuration — API keys, protocol preferences, timeouts
- Transactions — Submit individual transactions
- Bundles — Atomic multi-transaction bundles
- Real-Time Streams — Subscribe to live data feeds
- Multi-Region — Dynamic region discovery and failover
- Billing & Tokens — Token system and pricing tiers