Motivation
For the last year, swap fees on the Balancer protocol have been controlled by Gauntlet [1]. Gauntlet aims to quantitatively and algorithmically find the best swap fee configuration for a given pool and market conditions [2]. As the partnership is due for renewal February 17th the DAO is proposing to take over ownership, ultimately terminating the contract with Gauntlet.The DAO has analysed the situation and found several issues in favour of stopping Gauntlet swap fee control. Gauntlet has signalled that they will “sunset the Fee Optimization Product” and want to hand over the swap fee controller, therefore agreeing with our intention of transitioning control to the DAO.
To summarise the situation from the Balancer DAOs perspective, following issues led to the termination of the partnership:
- Gauntlet uses closed-source code - this is against the open-source spirit of Balancer
- We would expect a high cost of about 10-15k BAL per year to use their product
- The protocol swap fees have never really been algorithmically controlled but rather changes have been made with some sort of “unknown” methodology
- Manual intervention was needed
- Adjusting intervals were weeks, not days or hours - inacceptable for a system that has to react fast to market conditions
Based on these factors we propose to take over ownership of swap fee control to the treasury subDAO. We propose a multi-phase transition (see specifications) to achieve a fully automated system that anybody can contribute to.
Risk assessment/mitigation
We anticipate minimal to no risk in handing over the swap fee control to the DAO. The multi-phase plan will guarantee that a reasonable swap fee control mechanism will be in place at some point. For the first iteration, the treasury subDAO will take ownership of a multisig setting swap fees. Even “harmful” configurations could be easily undone and assets would always stay safe.
Gas costs will be covered by the treasury funds. We do not expect high costs as these are non-complex operations on the swap fee controller.emphasized text
Specification
Phase 1: handing over fee control to DAO
In the first phase the subDAO takes over control of swap fee settings for all pools. The first iteration will manage pools manually. For simplicity, the fees will be tier-structured as follows:
Tier system
Tier | Pool type | Fee range |
---|---|---|
1 | Stable pools | <=0.01% |
2 | Standard and index pairs | <=0.1% |
3 | Ecosystem pairs (e.g. BAL/WETH 80/20) | >1% and <= 5% |
4 | Experimental pairs (e.g. hot coins) | >5% |
Explanation on the pairs and why those fees were chosen:
Tier 1: Stable pools need to have the lowest possible but still attractive fees for LPs to leverage trading routes with major integrators. Therefore fees for this tier are set as low as possible. Gauntlet claimed that they increased our Stab3l pool performance with their analytical mechanisms. However, this modification was done manually after consultation with a DAO member [3].
Tier 2: Standard pools and index pairs will have a max. standard swap fee of <0.1% but will usually range around 0.0.025% and 0.05%. This is in line with competing protocols that charge around 0.05% for pools like WBTC/WETH and WETH/STABLE pools
Tier 3: Pairs containing BAL tokens should have fees >1% as this would greatly improve rewards for liquidity providers as well as the treasury. We argue that setting ecosystem fees to such a high number should not have any immediate effect as other incentives, such as the upcoming veBAL [4] system guarantee that BAL liquidity stays within the protocol
Tier 4: Swap fees for experimental or other ecosystem pairs can go up as high as 5-10%. An example are the element.fi pools that are currently set at 10%
Phase 2: dynamic control by the treasury subDAO
The specifications for phase 2 are not fully set. A possibility is to assign a group of multisig signers that can adjust swap fee percentages “on the fly” as they see fit. This implementation would have the advantage that we could quickly adjust fee structures based on market conditions and / or other factors like partnerships.
Phase 3: fully automated control with strategically fixed values
The ultimate goal is to replace the closed-source gauntlet algorithm with our own implementation. We want an open-source and well documented system where anybody can contribute and improve upon. The new system should adjust swap fees based on clearly defined parameters and should be able to react quickly - so that we do not end up with a weekly fee update as it is currently done by Gauntlet. Other protocols have successfully introduced dynamic fee control based on market conditions [5].
Additional delegation power: setting amplification factors
Governance has delegated to Gauntlet the power to set not only swap fees but also the amplification factor of stable and metastable pools. All of these permissions need to be handed over to some other party or revoked. We propose to also hand over the control of the amplification factor to the Balancer DAO, as Gauntled was so kind to hand over ownership of their Gnosis safe.
Implementation
Implementation for Swap Fee Control
Fee controllers for each chain will be set as follows:
Chain | Controller | Change |
---|---|---|
Mainnet | Gauntled controller contract | Yes - hand over control, add new signers |
Polygon | Polygon Gnosis Safe | no change |
Arbitrum | Arbitrum Gnosis Safe | no change |
As seen in the table above, only for mainnet a change has to be initiated as follows:
Gauntled offered to hand over the ownership of their fee setter contract at GauntletFeeSetter | Address 0xe4a8ed6c1d8d048bd29a00946bfcf2db10e7923b | Etherscan
for mainnet. The signers of the Liquidity mining distribution safe at Gnosis Safe will be added to the above mentioned contract. These are:
- 0x1b004189e64d5b2F71d5Be554470E6c49e10123B
- 0x512fce9B07Ce64590849115EE6B32fd40eC0f5F3
- 0x58Ff691f7849b0666085CFb693568160Cfb9d22D
- 0x6bB4720473d4D7133f944785e5EE1A650C07f34e
- 0x7019Be4E4eB74cA5F61224FeAf687d2b43998516
- 0xafFC70b81D54F229A5F50ec07e2c76D2AAAD07Ae
- 0xc4591c41e01a7a654B5427f39Bbd1dEe5bD45D1D
Implementation for Amplification Factor Control
- No action is required by the governance multisig in any network.
- The set of owners of Gauntlet’s Gnosis Safe (0xf4a80929163c5179ca042e1b292f5efbbe3d89e6) will be modified to the following list of addresses:
- 0x1b004189e64d5b2F71d5Be554470E6c49e10123B
- 0x512fce9B07Ce64590849115EE6B32fd40eC0f5F3
- 0x58Ff691f7849b0666085CFb693568160Cfb9d22D
- 0x6bB4720473d4D7133f944785e5EE1A650C07f34e
- 0x7019Be4E4eB74cA5F61224FeAf687d2b43998516
- 0xafFC70b81D54F229A5F50ec07e2c76D2AAAD07Ae
- 0xc4591c41e01a7a654B5427f39Bbd1dEe5bD45D1D
These are the same signers currently in charge of the Liquidity mining distribution safe at 0xc38c5f97B34E175FFd35407fc91a937300E33860.
Further information on the previous setup can be found on snapshot [6].
References
[2] Balancer V2 Pools Trading Fee Methodology | by Victor Xu | Gauntlet | Medium
[3] Balancer Doubles LP Revenue Using Gauntlet | by Nick Borg | Gauntlet | Medium
[4] Introducing veBAL tokenomics
[5] Dynamic Exchange Fees Explained
[6] [Proposal] Boosted Pools: Authorize Gauntlet and the Ballers Multisig to manage pool parameters