Introduction

Based on this proposal that passed a few days ago, all solvers participating in the CoW Protocol solver competition can now benefit from reduced fees when interacting with Balancer pools. Quoting from the proposal:

This would be done by granting the role for calling setSwapFeePercentage to the GPv2Settlement contract - then solvers would pass in interactions which lower the fee on the pool, execute the swap, then return the fee to the previous value. The swap fee could be lowered in this manner by around 50-75% to enable a significant increase in “good flow” to Balancer pools.

We believe this is a very good initiative that could lead to more competitive executions, which ultimately would produce more surplus for our users.

For now, only the following pools are whitelisted by the Balancer team for lowering fees:

Supported pools

Implementation

The implementation we will use, at least for the time being, is the following. Each solver is responsible for setting and resetting the fee at each submitted solution that uses some of the above balancer pools. In particular, the first interaction should be a “set” interaction and the last one a “reset”, i.e., restoring the original value.

One can do this by calling setSwapFeePercentage on the above pools. One example simulation of such an interaction is provided here: https://dashboard.tenderly.co/gp-v2/staging/simulator/e2abd440-d0f9-4ad5-9e4e-b9c690f3a5cc

Note that this makes the whole settlement a bit more expensive gas-wise, and we would like to ask solvers to take this into account when reporting their score. (The gas overhead though is not very large and is essentially fixed, and can be derived via simulations).

We have also confirmed with the Balancer team that we can assume an 80% discount in fees. This will be reevaluated after the first few weeks.

DISCLAIMER

We would like to stress here that the trust on properly setting and resetting fees is on the solvers, and we expect them to fully comply with the rules specified by Balancer. We will also be closely monitoring this, and we would like to ask all solver teams to reach out, if anything is unclear.

Dune query:

Balancer V2: SwapFeePercentChanged Events