Grant Application: AzothBalancer: RPC Load Balancer for Solvers

Hello CoW DAO community!

I’m sharing my grant application for AzothBalancer, an open-source RPC load balancer designed to improve solver reliability. A functional v0.3.0 is already live, and I’d appreciate your feedback on which features you find most valuable. Looking forward to the discussion!


Grant Application – AzothBalancer: RPC Load Balancer for Solvers

Author: AzothDev

GitHub: https://github.com/AzothSolver/azoth-balancer

Contact: azothsolver@gmail.com | Telegram: Telegram: Contact @AzothDev | Discord: user137_

Grant Category: Solver ecosystem


Community Feedback Request

Seeking input on:

  1. Pain Points – most pressing RPC challenges for solver operators

  2. Feature Priority – caching, routing, monitoring, multi-chain?

  3. Integration Support – what documentation would help adoption?


Executive Summary

Current Status: v0.3.0 – Functional with:

  • 3-tier routing

  • Health monitoring

  • Rate limiting

  • 20+ test cases

AzothBalancer is a Rust-based RPC load balancer that provides resilient, low-latency, and cost-efficient RPC access for CoW Protocol solvers. Planned upgrades include response caching, monitoring dashboards, security features, and transaction-type aware routing.


Team Background

  • Smart contract developer (Solidity, Rust, Node.js)

  • Back-end developer at Coinweb

  • Operated large crypto mining infrastructure

  • Currently developing Rust solver for CoW Protocol

Origin: Built AzothBalancer after free-tier RPC bottlenecks slowed solver development. Open-sourcing it so other solver operators can benefit.


Funding Request

Milestone 1 – 2 weeks (3,000 xDAI)

  • Deploy existing implementation

  • .env handling

  • Docker setup

  • CI/CD integration

  • Initial documentation

Milestone 2 – 4 weeks (4,000 xDAI)

  • Response caching

  • Batch splitting

  • Premium RPC testing

  • Performance benchmarking

Milestone 3 – 4 weeks (5,000 xDAI)

  • Security features

  • Transaction-type aware routing

  • Monitoring dashboards

Total: 12,000 xDAI

COW Token Request: 6,000 COW (vested 12 months) for ongoing maintenance and community support.


Timeline

  • Development: 2.5 months active

  • Maintenance: 12 months post-completion support


Impact & Justification

Benefits:

  • Improved solver reliability during RPC outages

  • Cost optimization via intelligent routing

  • Lower barrier for new solver operators

  • Strengthens CoW ecosystem infrastructure

Budget Use:

  • Development: 9,000 xDAI

  • Testing infra (premium RPCs, cloud): 1,500 xDAI

  • Documentation: 1,500 xDAI


Technical Details

  • Latency-based tier selection for performance-critical ops

  • Batch-aware rate limiting respecting provider quotas

  • Thread-safe Rust architecture for high concurrency

Planned: Transaction-type aware routing (e.g. route sensitive tx to MEV Blocker).

Key Features:

  • 3-tier endpoint prioritization (Local, Premium, Free)

  • Automatic failover with exponential backoff

  • Per-endpoint rate limiting

  • Prometheus metrics integration

  • Hot configuration reloading


Risk Mitigation

  • Existing functional codebase reduces delivery risk

  • Incremental milestones with clear deliverables

  • Active testing + maintenance commitment

  • Regular community updates


Repository: https://github.com/AzothSolver/azoth-balancer

License: MIT OR Apache 2.0

Gnosis Chain Address: 0xc1Ae2da44AB5B9Ad3828b5BfBC3e4AE334071bF0

Terms and Conditions: By submitting this grant application, I acknowledge and agree to the CoW DAO Participation Agreement and the CoW Grant Terms and Conditions (effective February 2025).

3 Likes

Hi,
Thanks for your grant proposal. I do think that the community feedback is most probably the most important aspect detailed within this grant proposal, as without this it is more difficult to assess value of the grant.

For some background - CoW Protocol runs extensive infrastructure themselves for the backend / gnosis solvers (well, unsure on the Gnosis Solvers, but did so when I was working there a year ago, but they were in the stage of being handed over or something). This backend infrastructure features in-house RPC failover, with additional emergency failover capabilities also being employed. As such, much of this work is already done for CoW Protocol’s infrastructure.

In regards to solvers - if this were a large pain point it would likely be manifesting in a low adoption rate of solvers / increasing challenge to solver acquisition. Perhaps @harisang / @solver_cow / or @AndreaC could weigh in on what difficulties are generally being experienced by solvers with respect to RPC issues.

mfw78

2 Likes

Hi,

Thanks @mfw78 for the valuable feedback on the utility of AzothBalancer!

Thanks as well to everyone for silently reading and cloning the project from the repo.

We understand that experienced solver teams already have effective solutions and may only consider AzothBalancer as a fallback at best.

Our goal is to provide new testers and emerging teams with a reliable starter tool for setting up their RPC infrastructure. It’s modular, easy to deploy, and can evolve into a strong layer of a full setup as it matures and gets optimized.

The app is ready for anyone to try in this early state, and installation is straightforward to save time for fast testers. To make it even more accessible, we’ve added a beta version of the Grafana monitoring dashboard in the repo, which helps tune and monitor the system.

We’d love to hear from anyone who gives it a try.

The repo is fresh and has no stars yet, but we hope interested developers will explore it and share feedback:

https://github.com/AzothSolver/azoth-balancer

Thanks in advance to everyone who tries it!

Hi,
We would have ideally liked to have had some feedback from the internal solver team, however in lieu, it’s our assessment that the impact of providing RPC tooling around this is relatively low as:

  1. Many SDKs, such as alloy and ethers-js allow for providers that facilitate fallback / quorum based mechanisms.
  2. There had been some discussion internally within the Core Team about providing RPC services to solvers, and this was shelved due to costs.
  3. It is our opinion that the greatest benefit that can be applied for solvers is facilitating easier/automatic onboarding of liquidity to existing solvers / presenting some unified base, as this would allow new projects / existing projects to more easily have their liquidity available for solvers on CoW Protocol.

Therefore with the above in mind, we are kindly indicating an unwillingness to proceed with this Grant. The grants committee thanks you for your time in composing this grant and solidly contributing to Open Source!

mfw.

Thank you for taking the time to review our AzothBalancer grant proposal and for providing clear feedback on the decision. I fully respect the CoW Protocol team’s priorities and constraints in allocating grants, and I appreciate the transparency in communicating the outcome.

That said, I’d like to briefly highlight the project’s progress and ongoing development, as it may still be of interest for broader ecosystem adoption or collaboration.

AzothBalancer is an open-source, Rust-based JSON-RPC load balancer designed to improve reliability and efficiency for blockchain solvers and DeFi infrastructure. It implements a three-tier intelligent routing system (prioritizing local or premium endpoints with failover to public ones), per-endpoint rate limiting, health monitoring with exponential backoff, and hot configuration reloading. These features mitigate common issues such as RPC throttling, downtime, and uneven load distribution—helping for resilience and operational costs for solvers and Dapps.

Since submitting the proposal, we’ve released version 0.3.1 (September 30, 2025), which adds:

  • Secure configuration via environment variables to protect sensitive RPC URLs.
  • IP whitelisting for the /reload endpoint to enhance security.
  • Human-readable endpoint naming for improved observability in logs and Prometheus metrics.
  • Refined LRU-based load distribution across routing tiers for fairer rotation and reduced endpoint starvation.

The project is published on crates.io with over 450 downloads, showing early community interest. The full repository is available at github.com/AzothSolver/azoth-balancer, complete with Docker support, a load-testing toolkit, and Grafana dashboards for monitoring.

Looking ahead, development will continue independently. Planned features include response caching for common read-only RPC calls (e.g. eth_call, eth_getLogs) to reduce latency, and transaction-type-aware routing to direct sensitive operations (such as eth_sendRawTransaction) toward secure, MEV-protected endpoints. These upgrades aim to make AzothBalancer an even more robust tool for solver teams and other infrastructure providers.

If any members of the CoW Protocol community find this utility relevant to their workflows, I’d welcome feedback, contributions, or informal testing—just open an issue on GitHub or reach out directly. You can also join the project’s Telegram group for discussions: https://t.me/+G5t5qj4vaAwyOWY9.

Thank you again for your time and transparency. I look forward to continuing to support the ecosystem through open-source contributions like this one.

Best regards,
AzothSolDev
github.com/AzothSolver

I like the idea of improving the open source resources available to solvers. However, after inquiring with the solvers, it appears that there doesn’t seem to be too much demand for this service specifically. So with that in mind I will have to agree with mfw78 on this as well.

2 Likes