Solver rewards
The protocol is currently subsidizing the solver competition on all chains it operates on, by rewarding solvers on a weekly basis (currently, every Tuesday) with rewards paid in COW. Solvers are rewarded based on their performance and participation in the solver competition as specified by CIP-20, CIP-36, CIP-38, CIP-48, CIP-57, CIP-67, CIP-74, CIP-85, and CIP-XX. Solver rewards for participating in the price estimation competition and providing quotes that are needed for the gas estimates and limit price computations of market orders, which from now on we will call price estimation or quote rewards, are specified in CIP-27, CIP-36, CIP-57, and CIP-72.
For the interested reader, the main source of truth for the weekly payments to solvers is this Dune dashboard. The dashboard is populated with data aggregated by scripts within the solver-rewards repository.
Solver competition rewards (CIPs 20, 36, 38, 48, 57, 67, 74, 85, XX)
Performance rewards
Performance rewards are computed using a mechanism akin to a Vickrey–Clarke–Groves mechanism (a generalization of a second-price auction to combinatorial auctions). First, each solver proposes multiple solutions. Each solution contains a price vector and a list of trades to execute, which can be used to compute the solution's score. The protocol then selects the winning solutions (and winning solvers) using a fair combinatorial auction, which first filters out the solutions deemed unfair and then selects the combination of fair solutions that maximizes the total score of the auction (see here for more details).
From the protocol's perspective, a solution as executed onchain must equal the solution as submitted at the bidding stage.
The performance reward to the winning solver is
Here is the sum of the scores of all winning solutions in the auction and is the sum of the scores of solver 's winning solutions that reverted. Finally, is the total score of a counterfactual auction in which all bids from solver are removed from the set of bids that survive the fairness filtering. If only one solver submits solutions, is, by definition, zero.
The performance reward calculation can result in a negative value, in which case the solver is required to pay the protocol.
The performance reward is capped from above and below using the function .
The upper cap is equal to a chain-specific fraction of the protocol fee (excluding partner fees) that the protocol earned from the trades in all solutions successfully executed on-chain by the solver in that auction. is determined by the following values:
- Ethereum mainnet, Arbitrum, Base chain, and BNB:
- Gnosis Chain, Avalanche, Polygon, Linea, Ink, and Plasma:
The parameter , which naturally corresponds to a revenue-sharing parameter between protocol and solvers, is set to 50% by default. The core team has a mandate to change this parameter for individual networks, if needed, to a value in the interval [50%, 100%], given that the network has a total revenue less than 5% of the total protocol revenue.
The lower cap is determined by the orders that solver won but did not settle. Every order has a penalty cap associated with it in each auction, expressed in the native token of the chain, and
where is the set of orders that are part of one of solver 's winning solutions in that auction and that solver did not settle on-chain within the auction deadline.
Penalty caps
The penalty cap of an order is a fraction of the order's quote, bounded by a global absolute cap:
Here is the value of the quote of order , expressed in the native token of the chain. The quote of an order is the buy amount with all volume fees deducted for sell orders, and the sell amount with all volume fees added for buy orders. The global bound is the native token equivalent of 20 USD. For partially fillable orders, the penalty cap is scaled to the fraction of the order that the winning solution proposed to execute.
The fraction depends on the chain and on whether the two tokens traded by the order are correlated. The classification into correlated and uncorrelated token pairs follows the same logic that is used in determining the protocol volume fee. For correlated token pairs, on all chains. For uncorrelated token pairs, the values are:
- Ethereum mainnet:
- Gnosis Chain:
- Arbitrum:
- Base:
- Avalanche:
- Polygon:
- BNB:
- Linea:
- Ink:
- Plasma:
These caps are chosen such that solvers settle their winning solutions with a high probability, given estimates of price movements during the window of exclusivity, i.e., the time between the moment a solver is notified that it won and the deadline by which the auction has to be settled. The core team has a mandate to change the penalty cap per order within the interval [0 bps, 10 bps], if needed, to tune the trade-off between competitive prices and fast execution. Any change to the penalty cap is announced to solvers in advance and reflected in this documentation.
There is no guarantee that the per-auction rewards are greater than the costs of executing a transaction (due to, for example, gas costs). Hence, solvers cover these costs by adjusting their reported score. Of course, a solver who adjusts their score downward too aggressively is then at a disadvantage in the auction. The mechanism, therefore, incentivizes the accurate estimation of costs such as gas.
Consistency rewards
With CIP-85, the protocol introduced consistency rewards. These rewards are based on aggregate metrics evaluated over the full accounting week and are intended to incentivize consistent, reliable solver behavior, broad token coverage, and other aspects the core team considers important for maintaining healthy competition.
Concretely, in each auction, solver 's contribution to the consistency budget is
where is the protocol fee (excluding partner fees) earned from the trades in all solutions successfully executed onchain by solver in that auction and is the chain-specific parameter defined above. When the performance reward is a penalty (i.e., negative), the penalty itself contributes to the consistency budget. The total consistency budget for an accounting period is the sum of these contributions across all solvers and auctions.
The consistency budget is distributed at the end of each accounting period according to a consistency metric: solver receives
where the sum runs over all solvers. The core team has a mandate to adapt this metric when they see fit; every change will be announced in advance on the CoW Protocol forum.
Current metric: bid quality and settlement success. Since June 30, 2026, each solver's share of the consistency budget is proportional to a metric that combines the quality of the solver's bids with its settlement success rate, as announced in this forum post. It replaces an earlier metric that simply counted the executed orders a solver had bid on.
The metric has two components:
1. Bid quality. A solver bids on an order if it submits a solution containing that order. For each executed order, the solvers that bid on the order in the auction in which it was executed share a total weight of one, in proportion to the surplus they proposed. The share of solver for order is
where is the largest surplus that any of solver 's solutions proposed for order in that auction (the difference between the proposed execution amounts and the order's limit amounts), and the sum runs over all solvers that bid on the order. If all bids on an order propose zero surplus, the share of every solver for that order is set to zero. We stress that only solutions that pass the fairness filtering are considered in the above computations. Since each executed order distributes a total weight of one, orders with few competitive bids yield a larger share for the solvers submitting them, an incentive for solvers to join such competitions with competitive bids.
2. Settlement success rate. The success rate of solver in an accounting period is