CIP-13: Rules of the Solver Competition Update: proposal to ban pennying

title: Rules of the Solver Competition Update: proposal to ban pennying
author: @harisang, @marco
status: Voting
created: 2022-09-05

Simple summary

This post proposes that the “pennying” technique utilized by multiple solvers is banned. “Pennying” is a technique employed by solvers in order to increase their chance of winning an auction, that involves mild manipulation of prices, effectively converting part of the COW rewards per batch into additional surplus for the users.


At CoW Protocol, we are aiming at achieving fair and cost-efficient trading by having a set of solvers competing to solve the Batch Auction Problem. The rules of the competition align solvers with these goals, ultimately driving value accrual for the CoW DAO.

During the last few weeks, it has been observed that multiple solvers participating in the solver competition apply “pennying” in their solutions. “Pennying” can be defined as the mild manipulation of clearing prices so that the surplus of a user is artificially increased by a small amount. This strategy increases the chance that a solver will win an auction, by “buying” additional surplus for the users. This additional surplus is then charged as negative slippage to solvers in the weekly accounting that CoW Protocol does. Thus, a solver is effectively converting part of the batch rewards to negative slippage (while still maintaining a positive net profit), so as to increase the chance of winning.

More details and an extensive discussion about this technique can be found in this technical forum post.

We believe that such manipulation of prices hurts the solver competition, as it creates a race to the bottom among solvers that attempt to penny their way into winning, especially when the underlying batch is relatively simple to settle (e.g., a single-order batch). It does not create any value to the protocol, and is essentially a waste of time, money and resources for the solvers and the protocol.


We propose that pennying should be banned. Moreover, we propose that a multi-step procedure should be applied when a solver is suspected of using pennying:

  1. After a flag is raised (by any community member), the first step would be for the CoW Protocol team to contact the corresponding solver team, investigate specific instances, debug them and identify whether the consistent manipulation of prices, if any, was intentional or not.
  2. In the case where a problem is detected, a second step would involve providing that particular solver team with a week to fix the issue.
  3. If the problem persists after a week, then as a final step, the DAO would decide (through a voting process) about whether the solver should be slashed.

The proposal was moved to a snapshot vote

Public discussion was ongoing for the last two weeks under this post

The CIP has reached quorum and the voting is closed. This means that pennying is banned, starting today!