The Proposal
For a pilot of four weeks starting at 00:00 UTC on Monday, January 25, with possible extension until the launch of Balancer v2, we would allocate up to 7,500 BAL each week to the reimbursement of gas costs for swaps performed through the Balancer Exchange Proxy.
Motivation
We understand that gas costs and usability issues in Balancer v1 have been a bit of a hindrance for many users. Balancer v2 is on the way and set to improve this situation immensely, but in the meantime we have recently launched the new and improved exchange UI and would be thrilled to invite users to give it a try without incurring undue personal cost.
Mechanics
Similar to the current liquidity mining claims process, where calculations are run once for each weekly period and claims are made available via a MerkleRedeem contract. The script used for computing the reimbursements would live off chain, along with the liquidity mining scripts, and it would be fully open source and auditable by anyone.
Eligible transactions: transactions made from externally owned accounts directly to the Balancer Exchange Proxy (contract address: 0x3E66B66Fd1d0b02fDa6C811Da9E0547970DB2f21). The goal is to target traders who are using the Balancer Exchange UI. We would use “EOA interacts with Exchange Proxy directly” as a heuristic to determine that the trade comes from a user of the Balancer Exchange UI. This should prevent most on-chain arbitrage bots from benefiting from the program, as most make their trades via proprietary smart contracts.
Eligible swaps: swaps between two of the following tokens:
- WETH (0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
- WBTC (0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599)
- USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)
- DAI (0x6B175474E89094C44Da98b954EedeAC495271d0F)
- BAL (0xba100000625a3754423978a60c9317c58a424e3D)
The token list may be expanded following evaluation of the initial pilot.
It is important to distinguish between a swap and a transaction and to note that a transaction through the Balancer Exchange Proxy can contain a number of swaps; a swap is simply one leg of an exchange transaction. For example, a transaction that routes BAL->WETH->DAI contains two eligible swaps: BAL->WETH and WETH->DAI. Similarly, a transaction that routes ineligible token XYZ through XYZ->WETH->DAI contains only one eligible swap: WETH->DAI, and a direct swap of XYZ->WETH is wholly ineligible. Finally, a transaction that routes a BAL->WETH trade through two BAL-ETH pools contains two swaps.
The gas reimbursement would be the lowest of either:
- the total gas effectively used by the transaction; or
- 100,000 (one hundred thousand) times the number of eligible swaps in the transaction
The gas price used for reimbursing each transaction would be the lowest of either:
- the gas price of the transaction itself; or
- the median price of all transactions within the enclosing block
It follows that any transaction totaling less than 100,000 gas per eligible swap and utilizing a gas price less than or equal to the block’s median would be fully reimbursed, while others partially reimbursed.
Reimbursements would be made in BAL, while gas is priced in terms of ETH, so a conversion is required. The price oracle would be CoinGecko’s API, with the median BAL/ETH price from the week being used for all of that week’s reimbursements.
Claims would be made available via the same MerkleRedeem contract currently used in the liquidity mining program. Reimbursements and liquidity mining proceeds for the week would be summed and be claimable in a single transaction.
For this pilot, we would set aside 7,500 BAL tokens per week for four weeks. Tokens would be provided by the Balancer Ecosystem Fund. This is a weekly cap for this pilot, so it will not necessarily be fully used. Data from the week of January 4 shows that about 1,500 BAL would have sufficed for reimbursements, so a 5x overhead of 7,500 BAL would be budgeted to account for an influx of transactions and possible swings in the Ethereum gas price. This program would affect neither the ongoing Liquidity Mining campaign nor Batch #2 of the Ecosystem Fund Grants, as both draw from pots that have already been separately allocated. In case more than 7,500 BAL are needed in a given week, reimbursements will be reduced proportionally.