Solver Readiness Standard
A way to tell whether a CoW Protocol solver is ready for production before it goes live, published as a proposal anyone can run and argue with
CoW Protocol measures how reliable a solver is from production data: what it wins, what it settles, and how good its bids are. That works once a solver is live. Before then the number is zero, and on most chains there is no shadow competition to earn a better one in. So at the moment a new team most needs to know whether its solver is ready, there is nothing to measure.
The readiness standard is our attempt at the missing piece. It replays real, archived auctions against a solver's endpoint, gives it the same time budget the protocol's driver actually gives, and scores what comes back against what actually won. Six metrics, one verdict, and a tool anyone can run against their own endpoint.
We posted it to the CoW forum on 15 September 2026 as a v0 proposal. It proposes no new requirement. It is a self-assessment, and a shared vocabulary for the conversation between a solver team and the core team about moving from staging to production.
What it checks
Over a window of at least 500 real auctions, it reports answer rate, transport errors, deadline misses, solve latency against the real budget, solution validity, and how much of the winning surplus the solver would have captured. All six pass: READY. Any one fails: NOT READY. Anything in between is REVIEW, and the report says why.
The order is deliberate. Availability, latency and validity come first because they are what actually keeps most new solvers out. We explain how to run the check, and what each line means, in our guide to cow-backtester.
The reference implementation is cow-backtester, MIT licensed. In the single day after the proposal went up it was cloned 200 times, by 198 different people.
“That is why it is a shared standard rather than a private tool.”
How Kaisersolver scores
We ran it on Kaisersolver first. Across 9,098 production auctions on Arbitrum, Base and BNB Chain, the endpoint answered every request with no deadline misses and no transport errors. The verdict on all three chains was still REVIEW: bid coverage, latency headroom and capture all came in under the lines the standard sets.
The October runs, on 12 October, are REVIEW again, with fewer warnings. The runs, with checksums, are at kaisersolver-readiness.
Other people have run it
Eleven days after the proposal went up, another solver team, ZeroNine, ran it on Plasma, a chain Kaisersolver is not on. Their run caught a case the tool could not see, where a few auctions with a bogus reference price hid each other, and their fix shipped in the next release. They also found that Plasma's settlement deadline in the data is 10 to 11 blocks, not the 5 the competition rules list, and traced a hard floor in solve time back to the protocol's own code.
That is why it is a shared standard rather than a private tool. bleu, which holds the CoW grant for bringing your own solver, has since pointed a new team to it.
What comes next
On 13 October 2026 we applied for a CoW DAO grant to turn the v0 proposal into a v1 spec: a one-command check a new team can run, a replay mode for engines that bid one order at a time, thresholds calibrated per chain, and a report a team can keep, share and verify.
The readiness standard and cow-backtester are built by William Matzoros. Fiftysix LLC operates Kaisersolver and is the applicant of record for the v1 grant. Figures are as at the dates stated. Nothing here is legal, tax or investment advice.
Share on:
