I wanted to kick off discussion on a potential future CGP before it gets to draft phase, and bring it up on Governance Call 7. @trevor and I have been doing some design and user research respectively on enabling larger bulk mints, potentially gated by the Governance process. Some thoughts or feedback on the following early draft, especially on the Governance involvement or limitations would be appreciated.
Overview
Mento is able to facilitate smaller trades and minting of cUSD and cEUR with minimal slippage for smaller trade sizes. However, significant slippage of over 2% starts to occur on both Mento and on centralized exchanges at trades sizes of ~$50k+. Users are forced to exchange CELO for stablecoins slowly over a longer period of time or arrange for one or many OTC trades to satisfy large demand while minimizing price slippage. Slippage on Mento is uncapped, while OTC trades typically take a hit of 2-3% in the block sizes we’re aware of. Increasing Mento bucket sizes permanently to address this need puts a more significant portion of the Reserve at risk.
Currently, cUSD can only be minted over time through Mento and via Validator rewards. Building a governance-gated process to exchange large (~$1 million+) amounts of CELO for stablecoins will enable large entities to make significant block purchases of cUSD and cEUR at scale such that the network can expand faster. This is a temporary security-optimizing solution that is being considered in the short-term for every large instance mint until Mento is reworked to support more efficient large-scale minting on a sustained basis.
Primary Users and their Perceptions
Institutional and corporate entities that desire to exchange sums of $1 million USD equivalent or more in fiat or CELO to stablecoins such as cUSD, cEUR, and future Reserve-backed currencies. Compared to other stablecoins, there is far deeper liquidity or at par redemption capabilities directly from fiat at this scale. A rate limited or high slippage trade at this scale makes it a no-go for larger players considering this option.
- It is feasible to covert this over time, but most of these entities prefer doing it in one block trade like an OTC trade. Having to do this repeatedly is a deterrent for these users. It is not a mental model they are familiar with to spread this out into several purchases of $50k or less.
- When the user is not already tied into the Celo ecosystem, they simply choose a stablecoin on another chain that has deeper liquidity and is easier to obtain (e.g. USDT, USDC, etc). Some users do not join Celo at all because they cannot purchase at this scale on their terms (such as on the Circle.com USDC Institutional Trading Program).
- Newer stablecoins such as cEUR and future stablecoins have much fewer options for liquidity at this scale. OTC is not feasible.
- Mento is perceived as an exchange and source of liquidity by these users rather than its primary function as a stability mechanism.
Proposed Changes
(Below still needs to be fully designed, but should be seen as a high level approach)
A batch exchange contract to temporarily hold CELO to be sold is to be created to escrow the funds prior to approval by governance. The escrow contract should determine a swap price before the execution phase in a secure manner that is not prone to manipulation. How we determine the swap price based on some possible combination of randomness and TWAP near submission time still needs a bit of research and design input. Requestors of large swaps should submit their CELO to be exchanged and their limits on maximum percentage slippage in either direction as inputs to this process.
Transactions in the proposal:
- Addition of a contract-based minter to cUSD contract
- Destination: cUSD contract
- Data: An additional authorized minter address
- Value: Address of a cUSD batch exchange contract
- Addition of a contract-based minter to cEUR contract
- Destination: cEUR contract
- Data: An additional authorized minter address
- Value: Address of a cEUR batch exchange contract
In addition, the reverse transaction to redeem stablecoins for CELO at scale will also be considered in the design to build trust in a two-way convertible system.
Risks
- Oracle price determination: A way to deter actors from attacking price oracles at a specific block for such large swap quantities is needed to dissuade financial attacks. Adversaries may still find ways to game the exchange price to slightly more favorable terms.
- A future version of Mento that solves large exchanges more elegantly may never be built and we may be stuck with a very manual process for longer than expected.
- This requires quite a bit of input from Governance voters and may lead to voting fatigue if used excessively.