Discussions for CGP 40: Proposal to Reduce Exchange Spreads

Greetings to the Celo Community,

The cLabs protocol economics team would like to submit CGP-40 to Mainnet soon to reduce exchange spreads.

Since the activation of cUSD and cEUR, Mento has charged a 0.5% fee. With the recent increased demand for cUSD and cEUR it is time to lower the fee to support a tighter peg. We want to reduce the fee to 0.25% to tighten the peg, which will encourage larger total trading amounts. This reduction of the feel will also help boost on-chain trading, as more arbitrage circles with other DEX will now be profitable. Community member Zviad wrote about the impact of these changes here and an analysis about the current situation here.

Given this is impactful to the stability mechanism with the increased DeFi activity on the protocol, we will be submitting the CGP-40 by Wednesday, October 6th to on-chain governance so that the Celo community can begin voting on it.

We will go over the proposal and the decisions made behind it during the next governance call scheduled for October 14th, 2021 here.

The cLabs Team


CGP 40 proposed on-chain with ID=42, please verify the proposal and get ready for voting in a couple of days

Thanks @Yaz , @thezviad - do we have an estimate of what the cost to the reverse might be of Mento at the 0.25% level rather than the 0.5% fee level? Tks

1 Like

I have written a little report digesting some of our thoughts and analysis around CGP 40 : Reduce Exchange Spreads for cUSD and cEUR and CGP 44: Increasing Mento Bucket Sizes for cUSD and cEUR . Feel free to comment here or there: Mento-Parameter-Adjustment-CGP-40-CGP-44

Some of the discussions happened during our open meetings where @thezviad contributed. I would like to encourage anyone who has an interest in stability or ideas for changes or improvements to participate!

Thanks @Nadiem for the write up. Some remarks:

  1. 0.37% slippage+fee is very high for just 4,000 cUSD size. Sounds quite constraining.
  2. Clarifying question - where does the oracle price come from for minting Celo? (is the oracle closer to Coinbase Celo prices or Binance Celo prices?)

Overall, seems like bucket size is causing the peg to widen. However, I don’t see any discussion of the downsides of reducing Mento’s fee or downsides of increasing the bucket size. How do we think about quantifying those decisions?

Lastly, would we plan - in the long run - to use more of a Uniswap v3 approach for Mento to improve spread?

Clarifying question - where does the oracle price come from for minting Celo? (is the oracle closer to Coinbase Celo prices or Binance Celo prices?)

The cUSD/Celo oracle price is dominated by Coinbase. One of the reasons why we have not used the Binance price yet is the the lack of a direct USD/Celo or an implicit USD/CCY/Celo quote on binance. We have considered cross exchange conversion / implicit quotes, but the spread between different quotes can be large (I don’t remember the exact number we saw, but it was around 20bps for intra exchange pairs and 400bps for cross exchange pairs). This does not mean that we should not work on ways to add binance as well.

Related to the Celo oracle and the Coinbase vs Binance price difference I have mentioned in my write up is another interesting challenge:
Arbitrage trading can be understood as a consensus mechanism that creates price consensus in efficient centralised markets. In the past we have observed several occasions where centralised exchanges ‘failed’. As a consequence the market was not able to reach consensus about the price of Celo. Mento relies on the price consensus of centralised exchanges, implicitly assumes efficient markets with unique prices. Mento could react to this disagreement

  1. by suspending its services,
  2. by defaulting to an on way ‘auctioning’ or decentralised order book mode in which cUSD are either bought (exclusive) or sold depending of the direction of the depeg (one way as in only offering cUSD when price is above 1 and only buying cUSD when price is below 1),
  3. by making CEXs redundant. This is probably not so much Mento related but rather effects the Celo network. Also I have currently no idea how this could happen. For example how could we build an decentralised interface between fiat and Celo that could replace CEXs?

My feeling is the spread is responsible for the larger part of the deviation. But quantification is not easy. For example I have not found significant changes in USD/cUSD price vs net demand per bucket update before and after the fee was reduced from 0.5% to 0.25% so far, @thezviad shares a different opinion.

Below you find scatter plots of net cUSD demand versus cUSD price between 04.09.2021 - 15.10.2021 (excluding 09/10.09.2021) and from 16.10.2021 until 12.11.2021; the fee was reduced from 0.5% to 0.25% on 16.10.2021. You can see that up to 1.0075 we have positive and negative net demand per bucket update and only for cUSD above 1.0075 the net demand is positive throughout (minus a few outliers). I was expecting a significant change of the level of the threshold with reduced fees from 16.10.2021. But so far I cannot identify a significant change.

Net Demand vs cUSD Price before 16.10.2021:

Net Demand vs cUSD Price after 16.10.2021:

However, I don’t see any discussion of the downsides of reducing Mento’s fee or downsides of increasing the bucket size.

We had a discussion of the downsides. In particular, I still hold the opinion that the fee + slippage are a risk buffer for inventory risk. Similar to a bank or broker/ dealer who will will use larger price mark up/downs for less stable or liquid exchange rates or assets. Opinions were split here:

One part thought the market risk of reserve portfolio value due to price changes is much larger and outweighs any market maker losses due to delayed rates. The other part including me thought that portfolio risk is systematic and cannot be eliminated. But “delay risk” is idiosyncratic and should be minimised or mitigated even though it might seem insignificant compared to the market risk of the reserve portfolio.

1 Like

Are you referring to price ranges?

We will definitely look into other setups including Uniswap as part of our initiative to improve and further develop stability on Celo.
Repeating myself: Anyone who has an interest in stability or ideas for changes or improvements is warmly invited to participate!
(Most of the discussion will happen on the Celo discord #economics channel.)

1 Like

It’s all very interesting.

  1. Oracle composition:
  • I see Bittrex, Okcoin and Coinlist all have Celo/USD. Are they included? Could they be?
  • I guess a big question here is whether to use the median price (more robust) or mean (more smooth changes to price). Maybe it makes sense to check there is a minimum volume (perhaps relative to the Mento exchange bucket) on each side of the order book in order to consider the oracle.
  • What is the current formula/oracle?
  1. Other ideas:
  • With Optics, I guess we could now use opticsETH in the reserve (instead of ETH). We could also have opticsDAI (instead of DAI).
  • Given there is better price information on ETH/USD and DAI/USD we could allow Mento to do opticsETH/cUSD or opticsDAI/cUSD trades. (This may also be a good way to get started with new stables initially if there is not much BRL/CELO liquidity).
  • Could also be a terrible idea. @thezviad @roman , thoughts? (might also increase liquidity into CELO)
  1. CEXes fail
  • Yeah, if CEXes fail, I think you just stop Mento. I suppose the Uniswap cUSD<>CELO pool will then given an idea of what the market thinks is happening. I guess one issue is that if CEXes restart with a CELO price of $0.1 or something like that — then the Celo reserve would start to get drained… (maybe another reason to allow Mento to do opticsETH <> cUSD/cEUR/cBRL? to add some contingency). I guess the reasons I see CEXs fail are because of a) a crypto crash or b) [less likely] hyperinflation of fiat. If there’s a crypto crash I suppose we do have to worry about CEXs failing and then CEXs restarting with a very low CELO price - that really just comes back to reserve collateralisation policy I suppose.