| Crates.io | azoth-balancer |
| lib.rs | azoth-balancer |
| version | 0.3.0 |
| created_at | 2025-09-24 09:56:23.859394+00 |
| updated_at | 2025-09-24 09:56:23.859394+00 |
| description | Rust-based high-performance RPC load balancer offering intelligent 3-tier endpoint routing, failover, rate limiting, and monitoring for reliable, low-latency blockchain operations. |
| homepage | https://github.com/AzothSolver/azoth-balancer |
| repository | https://github.com/AzothSolver/azoth-balancer |
| max_upload_size | |
| id | 1852882 |
| size | 263,267 |
AzothBalancer is a high-performance, transport-agnostic JSON-RPC load balancer in Rust. It provides reliability, performance, and cost-efficiency for blockchain infrastructure, focusing on the demanding workloads of CoW Protocol solvers. The project is currently stable at v0.3.0 with a well-tested foundation.
/reload endpoint updates endpoints without downtime/metrics exposes health and performance statseth_sendRawTransaction) to secure endpoints (eg. MEV Blocker)eth_call, eth_getLogs) to reduce latencyArc<RwLock<...>> ensures correctness under high concurrencygraph TB
A[Client Request] --> B[AzothBalancer]
B --> C{Tier Selection}
C -->|Tier 1| D[Local Endpoints]
C -->|Tier 2| E[Premium RPCs]
C -->|Tier 3| F[Free Endpoints]
D --> G[Health Check]
E --> G
F --> G
G --> H[Response]
git clone https://github.com/AzothSolver/azoth-balancer.git
cd azoth-balancer
cp config.example.toml config.toml
cargo build --release
./target/release/azoth-balancer --config config.toml
Default server: 0.0.0.0:8549
./target/release/azoth-balancer --config config.toml
# or
cargo run --release -- --config config.toml
config-eth.toml # Ethereum RPC endpoints
config-arbitrum.toml # Arbitrum RPC endpoints
config-solana.toml # Solana RPC endpoints
./target/release/azoth-balancer --config config-arbitrum.toml
Note: Each config must contain RPC endpoints from the same chain.
docker-compose.yml available:docker-compose up --build
MIT or Apache 2.0
For questions, suggestions, or contributions, please open an issue on GitHub Issues.