# \[RETRO ROUND\] Improving Solver Infrastructure Onboarding

**URL:** <https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197>\
**Category:** Retro Round\
**Created:** [September 29, 2025, 4:23pm UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197 "2025-09-29T16:23:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![bleu](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/bleu/32/1784_2.png) [@bleu](https://forum.cow.fi/u/bleu)\
**Post date:** [September 29, 2025, 4:23pm UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197/1 "2025-09-29T16:23:19Z")

</div>

**Applicant:** BLEU

**Program:** CoW Grants – Retro Funding Round

* * *

**Author:**

@bleu @yvesfracari @mendesfabio [@ribeirojose](https://github.com/ribeirojose) [@jeffersonBastos](https://github.com/jeffersonBastos)

* * *

**About You:**

**[bleu](https://github.com/bleu-studio)** collaborates with companies and DAOs as a web3 technology and user experience partner. We’re passionate about bridging the experience gap we see in blockchain and web3.

* * *

**Additional Links:**

We developed multiple grants with CoW Swap. The ones that are more related to this project are:

- **[CoW] [Hook dApps](https://forum.cow.fi/t/grant-application-cow-hooks-dapps/2544/7):** a set of Hook dApps integrated on the CoW Swap frontend. During this project, we developed the `cow-shed` module of the `@cowprotocol/cow-sdk`. This module was created to help developers use [CoW Shed](https://github.com/cowdao-grants/cow-shed/tree/main) to create permissioned hooks.

- **[CoW] [Python SDK](https://github.com/bleu-fi/cow-py):** we’ve put together a Python version of the CoW TS SDKs to provide developers with que ry on-chain data, manage orders, and integrate with the CoW Protocol’s smart contracts. This gives the team a deep understanding of the CoW TS packages.

- **[CoW] [Framework-agnostic SDK](https://forum.cow.fi/t/grant-application-framework-agnostic-sdk/2811):** this collaboration enabled the release of v7 of the CoW SDK. The update introduced support for both **viem** and **ethers v6** , and merged other repositories (such as app-data and parts of contracts) into the same monorepo, strengthening the developer experience. [NPM release](https://www.npmjs.com/package/@cowprotocol/cow-sdk)

* * *

**Grant Category:**

Core Infrastructure & Developer Tooling

* * *

## Motivation

The CoW DAO has identified _Solver Infrastructure_ as a key area for retro funding, highlighting the need for updated templates and documentation to lower the barrier of entry for new solver developers ([reference](https://forum.cow.fi/t/cow-daos-first-retro-funding-round/3128)).

From our experience setting up solvers, we observed that:

- Documentation and templates are outdated, creating friction for newcomers.

- The Python solver template was not functional with the current driver/autopilot.

- Running a “hello world” solver often requires debugging mismatched schemas, outdated dependencies, and hidden CLI requirements.

- There is no simple “happy path” workflow — instead multiple terminals, environment variables, and fragile flags must be pieced together.

These gaps make onboarding slow and discouraging. Improving this infrastructure will directly enable more community members to experiment with solvers and contribute strategies.

While we believe the most important improvements are in the Python template (as it is the most outdated one), we are open to addressing issues in other components of the solver ecosystem if necessary.

* * *

## Proposed Work

We propose to improve solver infrastructure and onboarding through the following preliminary scope. This plan may evolve based on community feedback and as we better understand the needs of solver developers.

We have already started: the solver-template-py has been updated to the new schema, and we are now finalizing the Python Baseline implementation.

- **Update Solver Template**

- **Create Python Baseline**

- **Examples & Tests**

- **Documentation Refresh**

- **Tooling & Scripts**

* * *

## Milestones

| Milestone | Description | Deliverable |
| --- | --- | --- |
| M1 | Update solver-template-py to current schema | Functional `/solve` endpoint compatible with driver |
| M2 | Create Python Baseline | Reference solver with examples and liquidity stubs (adapted from Rust) |
| M3 | Add Examples & Tests | Ready-to-run payloads, smoke tests, instructions |
| M4 | Add Tooling & Scripts | Makefile or scripts to run solver + driver + autopilot |
| M5 | Documentation Refresh | Consolidated onboarding docs and troubleshooting guide |

* * *

## Expected Impact

- **Faster onboarding:** New solver developers can reach “hello world” with fewer blockers.

- **Broader participation:** Python-based Baseline lowers the barrier for developers unfamiliar with Rust.

- **Stronger ecosystem:** Updated docs and tooling make CoW’s solver infrastructure more resilient and accessible.

- **Increased solver diversity:** More solvers means more competition and better outcomes for traders and the protocol.

* * *

## Timeline

- **September 2025:** Finalizing baseline design and updating solver-template-py.

- **October–November 2025:** Build Python Baseline, add examples/tests, update docs.

- **December 2025:** Evaluation of deliverables and impact by the DAO.

* * *

**Discussion & References:**

- [Retro Funding Round Announcement](https://forum.cow.fi/t/cow-daos-first-retro-funding-round/3128)

- [Retro Funding Open Call](https://forum.cow.fi/t/cow-grants-retro-round-is-open-for-applications/3164)

- [Solver Template (Python)](https://github.com/cowprotocol/solver-template-py)

- [Services Repo with Rust Baseline](https://github.com/cowprotocol/services/)

---

<div class="post-metadata">

**Author:** ![mfw78](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/mfw78/32/1598_2.png) [@mfw78](https://forum.cow.fi/u/mfw78)\
**Post date:** [October 7, 2025, 9:35am UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197/2 "2025-10-07T09:35:55Z")

</div>

Hi Bleu team,  
Thanks kindly for your retro round submission. For guidance:

1. It is estimated that smoothing the ability for new solvers to setup / write a new solver may provide some benefit, though at the moment CoW Protocol leads the pack in terms of number of solvers, and the auction performance appears to be relatively robust. Having said this, there is some impact, though it is likely to be low and not necessarily easily measurable.
2. An idea that we were discussing amongst the committee members is easing the ability for liquidity providers (RFQ, DEX, insert-protocol-type here) into the mix for solvers to be able to access their liquidity would be very handy. As evidenced from products, such as CoW AMM, getting solvers to integrate proves quite painful/difficult. Therefore having some liquidity abstraction / mechanism to bolt in would be good. By achieving large coverage across liquidity sources, the job of the solver comes down more to the math / algorithms as opposed to the task of acquiring routes.

Just some ideas for how to increase impact 😀

mfw.

---

<div class="post-metadata">

**Author:** ![bleu](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/bleu/32/1784_2.png) [@bleu](https://forum.cow.fi/u/bleu)\
**Post date:** [October 30, 2025, 12:48am UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197/3 "2025-10-30T00:48:17Z")

</div>

Hey @mfw,

Thanks for the detailed feedback!

We discussed this internally and honestly, we’re struggling to see how this would differentiate from what Tycho has already built. Their product seems pretty solid and already addresses a lot of what you’re describing — might just need the right CoW integration layer to get there.  
Given that, we’re not going to pursue this direction right now.

That said, we’re always open to discussing solver onboarding and liquidity improvements, so feel free to reach out if something else comes up!

---

<div class="post-metadata">

**Author:** ![bleu](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/bleu/32/1784_2.png) [@bleu](https://forum.cow.fi/u/bleu)\
**Post date:** [December 15, 2025, 5:14pm UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197/4 "2025-12-15T17:14:42Z")

</div>

Hey everyone, we wanted to follow up on the Python Baseline work.

We focused on getting it into a state that’s straightforward to run and inspect. Along the way, we aligned the Python template with the current driver/autopilot and added Makefile targets plus preconfigured driver (.toml) files so the “first run” requires fewer manual steps.

## What we delivered

- **Python Baseline (initial implementation)**
  - Based on the Rust Baseline and implemented in Python, aligned with the current driver/autopilot schema.
  - Intended as an illustrative, non-competitive reference to help new solver builders get started and reason about flow.

- **Basic setup to reduce friction**
  - Makefile targets and configuration files (.toml) prepared for the Python template to simplify the initial setup and get the baseline running with fewer steps.

- **Documentation (solver-scoped)**
  - Updated local run instructions and template alignment notes so developers can reach a working state faster.

## PR for code review

- **Python Baseline + template updates:** [https://github.com/cowprotocol/solver-template-py/pull/37](https://github.com/cowprotocol/solver-template-py/pull/37)

We’re open to feedback - feel free to share any thoughts.

---

<div class="post-metadata">

**Author:** ![mfw78](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/mfw78/32/1598_2.png) [@mfw78](https://forum.cow.fi/u/mfw78)\
**Post date:** [April 3, 2026, 7:38am UTC](https://forum.cow.fi/t/retro-round-improving-solver-infrastructure-onboarding/3197/5 "2026-04-03T07:38:38Z")

</div>

@felixhenneke / @harisang / @solver_cow : Are any of you able to check this PR ( [Create baseline solver by jeffersonBastos · Pull Request #37 · cowprotocol/solver-template-py · GitHub](https://github.com/cowprotocol/solver-template-py/pull/37) ) as to what the efficacy is like for this improvement? A comprehensive review isn’t required (ie. we don’t expect a line-by-line analysis), but it would be helpful to get some feedback about this so as to give some accessibility for new solvers being developed and if this broadly aligns with the intent of the repository, and brings it back up to speed, as opposed to just sitting defunct.
