Turbine
Multi-chain RPC proxy with intelligent endpoint rotation. Unlike EVM-only proxies, Turbine works with any blockchain that speaks JSON-RPC over HTTP.
Features
- Multi-chain — configure any number of chains, each with its own endpoint pool
- Round-robin rotation — distributes requests evenly across endpoints
- Passive health tracking — automatically detects and skips failing endpoints
- Auto-retry — retries with a different endpoint on failure
- Metrics — per-chain request/failure stats via
/metrics
Install
As a Library
use Turbine;
async
Or embed in your existing axum app:
let turbine = from_config.unwrap;
let router = turbine.into_router;
// Merge with your own routes, add middleware, etc.
As a CLI
# Build
# Run with default config
# Or with overrides
Configuration
See config.toml for a sample configuration.
[]
= "127.0.0.1"
= 8080
[[]]
= "ethereum"
= "/ethereum"
= [
"https://eth.llamarpc.com",
"https://rpc.ankr.com/eth",
]
[]
= 3
= 30
Usage
Send JSON-RPC requests to http://localhost:8080/<chain>:
# Ethereum
# Solana
# Metrics