Overview
This is a proposal to provide Balancer DAO with an automated way to collect the fees that the protocol has earned from its different layers, convert and bridge them if needed. Therefore, later on, an authorized party can withdraw and distribute them as bribes, to the DAO and to veBAL holders. The goal is to ensure that protocol fee collecting process is fully trustless and automated.
1. About Mimic
Mimic is a platform that allows you to deploy tailored infrastructure to automate (and/or delegate) access to DeFi, in a secure and 100% non-custodial way. Mimic is especially suitable to replace and speed up manual and centralized tasks while tracking and monitoring every detail. This is achieved through our innovative Smart Vaults concept: an automated and trustless solution that can be customized to suit your operation needs.
Deploying a Smart Vault is simple. We only need to figure out the best configuration that suits your needs and customize one for you. Moreover, Mimic provides you with lots of multi-layer flexibility, it can be easily scaled up by deploying and connecting additional Smart Vaults.
Our team members have a large experience in blockchain and especially in DeFi protocols. We have previously worked for many well-known projects like Aave, Balancer, Open Zeppelin, Aragon, POAP and The Graph.
2. Background
Currently Balancer DAO collects protocol fees in three layers: Mainnet, Polygon and Arbitrum:
Mainnet: 0xce88686553686DA562CE7Cea497CE749DA109f9F
Polygon: 0xce88686553686DA562CE7Cea497CE749DA109f9F
Arbitrum: 0xce88686553686DA562CE7Cea497CE749DA109f9F
As documented in [BIP-19] Incentivize Core Pools & L2 Usage:
- All fees earned on Polygon & Arbitrum are used as bribes for core pools on those networks, weighted proportionally by TVL of those core pools - after the DAO takes its 25%.
- All fees earned by Ethereum core pools are used as bribes on those pools (each pool gets its own fees as a bribe), after the DAO takes its 25%.
- All fees earned by Ethereum non-core pools are sent to veBAL and the DAO (75/25 split).
- Protocol fee collection, distribution, and any subsequent bribing take place every two weeks on Monday instead of weekly on Wednesday.
- All fees earned are converted to USDC, except BAL and BAL-like assets which are converted to BAL
- All bribes are paid in USDC
3. Core Proposal
Our proposal is to provide Balancer DAO with a solution to automate how it collects and distributes its protocol fees. To accomplished this, Mimic will deploy three customized Smart Vaults owned by Balancer DAO, one on each layer.
All Smart Vaults will only be allowed to collect earned fees when they reach a pre-determined value in USDC. If fees collected are BAL-like assets they will be converted to BAL, otherwise they will be converted to USDC. Both Polygon and Arbitrum Smart Vaults will bridge all USDC and BAL accumulated to the Mainnet Smart Vault every two weeks (one period).
Finally, an authorized manager can withdraw those collected tokens from Mainnet Smart Vault to distribute them accordingly as bribes, to the DAO and to veBAL holders.
Also, it is important to mention that at all times the DAO has full ownership and control of all three Smart Vault’s assets. This means that, for example, at any moment it can remove permissions to execute an action or withdraw any asset by itself.
4. Technical Specification
There will be three Smart Vaults. One deployed in Mainnet, another in Polygon and the last one in Arbitrum. All Smart Vaults will have a single owner who has full control over them at all times.
Each Smart Vault will be configured with a series of predefined actions, some of those will be automatically executed by Mimic network of bots and others manually by an authorized manager that Balancer DAO designates. Those actions are:
- Gather and convert to USDC: Gathers assets (expect from BAL and BAL-like assets) from Balancer ProtocolFeesCollector and swaps them to USDC (except from USDC itself).
- Gather and convert to BAL: Gathers BAL and BAL-like assets from Balancer ProtocolFeesCollector and swaps them to BAL (except from BAL itself).
- Bridge: Bridges USDC and BAL to Mainnet every two weeks.
- Withdraw: Withdraws any asset to an external wallet configured by the owner.
Note that all this behavior will be enforced by smart contracts code, actions won’t be allowed to perform any further logic.
In case external conditions change, the deployed infrastructure can be adjusted as necessary on an ongoing basis to reach the endowment’s objectives. Smart Vaults provide full flexibility to add new allow-listed actions, change permissions or incorporate new strategies.
More information here: https://docs.mimic.fi/general/how-it-works
5. Operational details
5.1. Reporting
Mimic offers a reporting site where users can follow all their Smart Vaults activity. Mimic also supports subscribing to a notifications service that can be easily integrated with some chat rooms like Discord. Additionally, users can subscribe to be notified with periodic reports that will be emitted by Mimic automatically.
5.2. Maintenance
Mimic will be in charge of monitoring the Smart Vaults on a daily basis, making sure the reporting tools are kept up-to-date accordingly. Additionally, Mimic will make use of its own bots infrastructure to execute the automated actions when needed.
In case a critical report is received, Mimic will act immediately in order to assess its severity and act accordingly. In case Smart Vaults assets are at risk, Mimic team will get in touch with the trusted committee either to pause the Smart Vaults operations until it can be migrated to a new implementation with the corresponding fixes.
5.3. Fees
Mimic will charge a 2% fee of the assets that are processed through the Smart Vaults with a 5K USD cap for every period of execution (two weeks).
5.4. Termination
As mentioned before Balancer DAO will be in full control of its Smart Vaults and the funds that were deposited into them. This means Balancer DAO is allowed to exit at any point in time. Neither Mimic nor anyone else, unless it was previously allowed by the Balancer DAO, will be never in control of those funds.
6. Timeline
Once the final details of the Balancer Smart Vaults are finalized, the Mimic team will take full responsibility to set up the required automated actions. Mimic already counts with infrastructure to deploy and test Smart Vaults that can be applied for this use case.
Assuming the proposed investment strategies and automated actions are accepted by Balancer DAO, setting three Smart Vaults for it shouldn’t take longer than a month. After that, we will schedule an audit process for the configuration before the deployment which shouldn’t take more than two weeks.
7. Contact
Website — mimic.fi
Docs — docs.mimic.fi
Whitepaper — mimic.fi/whitepaper
Twitter — twitter.com/mimicfi
Discord — discord.mimic.fi
Medium — medium.com/mimicfi
Annex I - Smart Vaults
Name | Layer | Owner | Mimic bots | Managers |
---|---|---|---|---|
Balancer Fee Collector Mainnet | Mainnet | 0x123 | 0x9384893D33B71D647DcA48df30e393D7a50b72F9 | |
0x54dB013D48cef8469FB286665CcE179617F75257 | 0x123, 0x123 | |||
Balancer Fee Collector Polygon | Polygon | 0x123 | 0x9384893D33B71D647DcA48df30e393D7a50b72F9 | |
0x54dB013D48cef8469FB286665CcE179617F75257 | 0x123, 0x123 | |||
Balancer Fee Collector Arbitrum | Arbitrum | 0x123 | 0x9384893D33B71D647DcA48df30e393D7a50b72F9 | |
0x54dB013D48cef8469FB286665CcE179617F75257 | 0x123, 0x123 |
Annex II - Actions
Action #1 - “Gather and convert to USDC”
Overview
Description | Gathers assets (expect from BAL and BAL-like assets) from Balancer ProtocolFeesCollector and swaps them to USDC (except from USDC itself). |
---|---|
Smart Vaults | Mainnet, Polygon and Arbitrum. |
Automatic execution | Yes if activated. By Mimic bot when assets on Balancer ProtocolFeesCollector that are not BAL and BAL-like assets are over a minimal amount. |
Manual execution | Yes by Manager. |
Authorization | - |
Timelock | - |
Gas price | TBD |
Gas amount | TBD |
Gas configuration | Owner |
Primitives
Primitive | Param | Limits | Configured by | Conf. timelock |
---|---|---|---|---|
Generic: Calls any function of an external contract | Contract | ProtocolFeesCollector: 0xce88686553686DA562CE7Cea497CE749DA109f9F | - | - |
Function | withdrawCollectedFees | - | ||
Assets | Any asset except for BAL and BAL-like assets | Owner | - | |
Amount | Min 5000 USDC | Owner | - | |
Swap: Swaps at best rate among main DEXs. | Instrument | 1inch / Balancer | - | - |
Token In | Any asset except for BAL, BAL-like assets and USDC | - | - | |
Token Out | USDC | - | - | |
AmountIn | Any amount | - | - | |
Slippage | Chainlink protected | - | - |
Action #2 - “Gather and convert to BAL”
Overview
Description | Gathers BAL and BAL-like assets from Balancer ProtocolFeesCollector and swaps them to BAL (except from BAL itself). |
---|---|
Smart Vaults | Mainnet, Polygon and Arbitrum. |
Automatic execution | Yes if activated. By Mimic bot when BAL and BAL-like assets on Balancer ProtocolFeesCollector are over a minimal amount. |
Manual execution | Yes by Manager. |
Authorization | - |
Timelock | - |
Gas price | TBD |
Gas amount | TBD |
Gas configuration | Owner |
Primitives
Primitive | Param | Limits | Configured by | Conf. timelock |
---|---|---|---|---|
Generic: Calls any function of an external contract | Contract | ProtocolFeesCollector: 0xce88686553686DA562CE7Cea497CE749DA109f9F | - | - |
Function | withdrawCollectedFees | - | ||
Assets | Any BAL and BAL-like assets | Owner | - | |
Amount | Min 5000 USDC | Owner | - | |
Swap: Swaps at best rate among main DEXs. | Instrument | 1inch / Balancer | - | - |
Token In | Any BAL-like assets | - | - | |
Token Out | BAL | - | - | |
AmountIn | Any amount | - | - | |
Slippage | Chainlink or signature protected | - | - |
Action #3 - “Bridge”
Overview
Description | Bridges USDC and BAL to Mainnet. |
---|---|
Smart Vaults | Polygon and Arbitrum. |
Automatic execution | Yes if activated. By Mimic bot every two weeks. |
Manual execution | Yes by Manager. |
Authorization | - |
Timelock | - |
Gas price | TBD |
Gas amount | TBD |
Gas configuration | Owner |
Primitives
Primitive | Param | Limits | Configured by | Conf. timelock |
---|---|---|---|---|
Bridge: Bridge an asset from one layer to another. | To | Mainnet | - | - |
Asset | Any | - | - | |
Amount | Any | - | - |
Action #4 - “Withdraw”
Overview
Description | Withdraws any asset to an external wallet configured by the owner. |
---|---|
Smart Vaults | Mainnet, Polygon and Arbitrum. |
Automatic execution | No. |
Manual execution | Yes. By Manager. |
Authorization | - |
Timelock | - |
Gas price | - |
Gas amount | - |
Gas configuration | - |
Primitives
Primitive | Param | Limits | Configured by | Conf. timelock |
---|---|---|---|---|
Withdraw: Withdraw assets to an external address. | Recipient | Recipient addresses: [0x123] | Owner | - |
Asset | Any | - | - | |
Amount | Any | - | - |
Summary: if approved, Mimic will begin development of these Smart Vaults to trustlessly collect, convert and bridge protocol fees. which include a fee of 2%, up to a maximum of $5k every two week collection cycle. Balancer DAO is allowed to exit and stop using the Smart Vaults at any point in time.