| Crates.io | sol-rpc-router |
| lib.rs | sol-rpc-router |
| version | 0.2.0 |
| created_at | 2025-12-21 09:51:34.14257+00 |
| updated_at | 2025-12-21 09:59:36.565657+00 |
| description | Solana RPC Router that splits requests across multiple providers |
| homepage | |
| repository | https://github.com/F3kilo/sol-rpc-router |
| max_upload_size | |
| id | 1997780 |
| size | 271,593 |
This router splits Solana RPC requests into several RPC providers, taking into account rate limits of each provider.
API is mostly compatible with solana-rpc-client v3 crate and implementation is built on top of it. To initialize the RPC client, you need to provide a config for available providers:
fn main() {
let config = RpcClientConfig {
providers: vec![
commitment: "confirmed",
ProviderConfig {
name: "provider1".to_string(),
url: "https://provider1.com".to_string(),
rate_limit: 1000,
},
ProviderConfig {
name: "provider2".to_string(),
url: "https://provider2.com".to_string(),
rate_limit: 500,
},
],
};
let client = RpcClient::new(config);
client.get_account_info("some_account").await;
}
You can provide a configuration file with the following format:
{
"providers": [
{
"name": "provider1",
"url": "https://provider1.com",
"rate_limit": 1000
},
{
"name": "provider2",
"url": "https://provider2.com",
"rate_limit": 500
}
]
}