Discussion: CGP 58 - Increase cREAL Bucket Size

Hi everyone,

I am creating this post to let you know about our proposal to increase cREAL Mento bucket size (GCP 58). Any questions, comments and suggestions are welcome!

1 Like

cgp: 58
title: Increasing Mento Bucket Sizes for cREAL
date-created: 2022-06-22
author: @mento-protocol/core
status: DRAFT
discussions-to: Discussion: CGP 58 - Increase cREAL Bucket Size
governance-proposal-id: [if submitted]
date-executed: [if executed] <date created on, in ISO 8601 (yyyy-mm-dd) format>


This Governance proposal aims to reduce the slippage incurred when trading cREAL via the Celo stability mechanism (often referred to as Mento). All else equal, a reduction of the Mento slippage, which can be achieved via an increase of the Mento reserveFraction parameter, can be expected to tighten the arbitrage bounds on the cREAL/BRL pairs (collectively referred to as cXXX/XXX in this proposal).

Mento allows users to create or burn Celo stable assets by trading the cREAL/CELO pair with the reserve. It uses a constant-product-market-maker model to mitigate the depletion potential of the reserve by dynamically adjusting the on-chain price to one-sided trading. For more background on Mento, please refer to the documentation.

The reserveFraction parameter, which can be set for cEUR, cUSD and cREAL individually, allows to control the sensitivity of the Mento prices to one-sided trading. The smaller this parameter, the smaller the resulting Mento bucket sizes and therefore the larger the price reaction to one-sided trading.
The main benefit of choosing a low reserveFraction is that this reduces the depletion potential of the reserve should there be imprecise CELO/XXX oracle rates and/or manipulated CELO/XXX market prices. This is because the Mento cXXX/CELO price adjusts quickly to one-sided trading if Mento buckets are small.
The main downside of a low reserveFraction parameter is wider arbitrage bounds on cXXX/XXX prices. For more background on the effects of the reserveFraction parameter, please see the Celo Stability Analysis, especially sections 4.3.2 and 4.3.3.

We propose to increase the reserveFraction parameters to adjust the above tradeoff to the current market environment, that is an increased volatility in the wider crypto market inducing the need for faster contractions and expansions for cREAL.

The here proposed parameter changes have been deployed, tested and validated on both Alfajores and Baklava.


In governance proposal CGP0042, the initial reserveFraction parameter of the cBRL/CELO Mento pair was set to 0.025% and has remained at that level since then. The value had been chosen with a significant safety buffer in anticipation of low to no volume cREAL markets.

In December 2021 CELO/BRL ranged between 16 to 26. Based on this range the exposure per bucket update cycle has been 900k to 1.4m cREAL. In the recent market downturn CELO/BRL decreased to a range between 3.75 to 6 in June 2022. This corresponds to a reduction of exposure to 130k to 525k cREAL per bucket update cycle.

Proposed Changes

We propose to increase the reserveFraction parameter for cREAL from 0.025% to 0.15%. All else equal, this should roughly sextuple increase the daily expansion (contraction) amounts of cREAL that can be minted (contracted) at less than a 1% cost. Based on the CELO/BRL price range in June 2022 a reserveFractionof 0.15% corresponds to an exposure of 1m to 1.7m cREAL per bucket update cycle.

  1. Set cREAL reserveFraction to 0.15%
  • Destination: ExchangeBRL (Proxy: 0x8f2cf9855C919AFAC8Bd2E7acEc0205ed568a4EA; Implementation: 0x21772Fc92AB1B15dfE4ed7559EaD98eDba883feE),Exchange.setReserveFraction
  • Data: 1500000000000000000000 (0.15/100 * 10^24 = 1e22)
  • Value: 0 (NA)


  1. Confirm proposal steps: run celocli governance:view --proposalID $proposalID
  2. Confirm ExchangeBRL (cREAL) address: run celocli network:contracts


  • Oracle rate risk: In case of imprecise CELO/BRL oracle rates and/or manipulated CELO/BRL market rates, users could exchange cBRL or CELO with the reserve at a price that does not reflect the current market valuation. The increased reserveFraction parameter would lead to a larger loss of the reserve in such a case.

Useful Links


Dear, a pleasure to be part of Celo Alliance and happy to see this topic under discussion.

Regarding the use of CREAL in Brazil, we need to adjust some points, Being able to have liquidity for the swap between other cryptocurrencies of the alliance (celo/cusd/ceur), in the current way that Mento offers, makes it difficult to spread creal in cryptocurrency operations in Brazil, due to the spread charged, any swap above 1000 creal becomes unfeasible, if the value is higher, we have 30% to 70% devaluation in the exchange for any other currency of the alliance, we need to adjust this as soon as possible for the propagation of CREAL.

Increasing the CREAL Bucket Size could help to solve our problem.


Do we have someone who celo org can trust to actually handle the CEX to DEX arb portion of maintaining the peg?

Those guys would be the ones who utilize this bigger mento the most to fix the peg and hopefully market make for us on the CEX

We or to be more specific @MilaRioja is currently talking with exchanges to make sure there will be robust listings to close the arb cycle.
If you know trustworthy community members with preferably Brazilian tax ID I am more than happy to support any stability arbitrage ambitions

1 Like

I am a user of Creal and I am suffering from a lack of liquidity, please go ahead with this.

After discussions with different people with an interest in cREAL and its adoption we believe that the initially proposed reserve fraction of 0.15% is not sufficient. We will very likely suggest a larger reserve fraction. We are not eyeing a specific number, but believe up to 0.5% (similar to cEUR) should be considered.


I have created a PR that includes the increase of reserveFraction to 0.5%.

Dear friends. We are studying a use case for cREAL in which it will help to give credit for poor families to finance medical proceadures. But, for it to be economically feasible, the cREAL would need to have a bigger liquidity in the Mento Protocol. We would appreciate if you can increase the bucket size of cREAL.

1 Like

We, the Lovecrypto team, are from Brazil. And we would love help to set up an arbitrage operation among Brazilian exchanges. We have a brazilian Tax ID.

1 Like

Hey @edlovecrypto,
that’s great! Let’s get both cREAL proposals through. And after let’s chat how we can make cREAL stable and efficient via arbitrage

Hi @Nadiem, we briefly chatted on Discord some weeks ago… I’m back from a little needed break, really willing to collaborate on this topic.

In 2017 I was full on CEX arbitrage and developed renda, a framework to play around with inter-exchanges classic orderbooks having BRL as a base. Renda means income in portuguese and back them I was using the humble profit exclusively to finance the collective kitchen in the greek association I was volunteering… it was actually its goal. Crazy times to be in a computer-lab full of creative young refugees learning programming and linux, trying to bite a bit of this financial flow.

A year later did the base for a bot, arbitro, taking up to 6% in between local Brazilian vs German exchanges. In some moment a better player got into the game and our source dried. Not satisfied with such a blind automation, in 2020 I developed a tool to visually real-time opportunities in between a bunch of exchanges; speculari. As I’ve mentioned on Discord, it was rare to close an arb cycle, but since the cycles were always changing, we could “surf the tides” in between the currencies, taking time as a friend, and moving the profit when possible.

In 2021 we got a CCF grant to develop an on-ramp 1:1 fiat to stable, and now we do have a proper Company with a Tax ID and a bank account since February’22. We are sorting out liquidity to make our app public.

I recognize on-chain arbitrage is something very new and trickier, and I’m taking time to comprehend it. Already did some experiments comparing swappa prices with Binance and can see future integrations…

Would love to help improving cReal stability; get in touch.

Any idea to vote this implementation in the near future?

It is submitted on-chain. Needs to be upvoted now

Happy this got approved! Congrats for all of us involved in energizing this.

1 Like