Celo round up, February 2021

Overview and analysis for Mento and the Celo Reserve

Our monthly newsletter is making a comeback after missing the January issue. Going forward, we will pick different topics to discuss each month, hence the rename from “Celo validator round up” -> “Celo round up”.


Celo network continues to operate well. Validator stability remains to be extremely high and continues to improve. There is really not much to discuss about Validator or Validator Group performance overall, since it all just works™️.

Valora/user adoption continues at a steady pace. Registered accounts roughly double every month, but overall numbers are still too small to do much analysis or statistics on.

Thus, in this month’s feature we will do small overview and analysis for the Mento exchange and Celo reserve, since we haven’t explored them in a while.

Reserve & Mento

If you need a refresher around Celo’s stability protocol you can skim through the docs provided by cLabs: https://docs.celo.org/celo-codebase/protocol/stability

There are two key parts in the stability protocol:

  • On-chain reserve of crypto assets that back the stable coins (i.e. cUSD, cEUR, …) that are issued on chain. Majority of the reserve’s value (~70% today) is held in CELO tokens.

  • On-chain exchange Mento (previously called CP-DOTO), that allows exchanging CELO tokens for stable assets like cUSD. Mento is special since it is backed by the reserve. Mento’s stable token supply (i.e. cUSD, cEUR) is adjusted by minting or burning tokens. I.e. when you buy cUSD from Mento, you mint new cUSD tokens. When you sell cUSD to Mento, you burn cUSD tokens reducing the overall supply of cUSD.

Mento is essentially an automated market maker that manages trading of Reserves resources. Specifically CELO, cUSD and other cXXX stable assets. First big question to explore is, if Mento is doing a good job as a market maker. If Mento is trading at an incorrect or inaccurate prices, other trades can trade against it and make profit off of the reserve.

NOTE: This analysis was performed on 2021/02/26, so all dates are in relation to that.

Mento analysis

To start off, we looked at all Mento activity over last 30 days. We did this by analyzing all ‘Exchanged’ events on-chain. For each address that has traded against Mento, we aggregated all trades to get the final tally of how much CELO and cUSD the address sent to or received from the reserve. Exchange fees/spread is already included in these calculations.

Here is the raw data: exchange-analysis-2021-02-26.

  • `inflow` means that particular address has sold X amount of CELO to the reserve for an average price of Y

  • `outflow` means that particular address has bought X amount of CELO for an average price of Y

There are essentially two types of trades that make up 99% of the trading volume on Mento:

  • Whale’s selling CELO for cUSD

  • Arbitrageurs that constantly trade between CELO <-> cUSD

From the raw data provided above, we see that over last 30 days:

  • Arbitrageurs: BOUGHT 64,699.16 CELO at an avg price of 3.811

  • Whales: SOLD 2,189,234.51 CELO at an avg price of 4.219

Price analysis

Now, how do we check if these prices are good or bad for the reserve? As a basic comparison, we can compare it against an average market price of CELO over last 30 days. However, average price is a vague term. There are countless ways to calculate an average. We will use two different methods:

  1. Daily average price:

    AVG((“open price” + “close price”) / 2)

  2. Volume weighted average price:

    SUM((“open” + “close” / 2) * “24h volume”) / “30d volume”

We use historical data from messari.io for this: https://messari.io/asset/celo/historical. We get:

  • Daily avg price (DAVG): 3.958

  • Volume weighted avg price (VWAP): 4.319

We see that these prices are in the same range as what Mento traded at. If we look at the arbitrageur volume, and compare it against VWAP, we would get that reserve lost:

  • (4.319-3.811) * 64,699.16 ~= 32,867.17 cUSD

While this might seem like a large number in absolute terms, it is very small when compared to the total value of the reserve. Price change of 0.0005 for CELO/cUSD has more impact on the reserve than this. Also, if we compared the price to DAVG, the difference would be even smaller.

When we look at the “Whale selling”, overall volume is much higher so its potential impact is also much larger.

  • Against VWAP price, reserve is in profit:

    (4.319-4.219) * 2,189,234.51 ~= +218,923.45 cUSD

  • Against DAVG price, reserve is in loss:

    (3.958-4.219) * 2,189,234.51 ~= -571,390.21 cUSD

With this, it looks like that Mento has at least done a reasonable job as a market maker. It has managed to trade CELO pretty close to the market price and with some calculations, even at a better price than the Market.


Mento seems to work quite well today at a minimal or almost no cost to the reserve. While arbitrage is certainly leading to some minor losses, it is also providing a service to the Celo network, both for cUSD stability, but also for extra liquidity and faster price updates in Mento. Any costs or losses associated with the arbitrage is certainly overshadowed by much larger “whale selling” that dominates the Mento volume.

Key thing to keep in mind is that, there seem to be no adversarial traders against Mento right now. Whale selling is most likely just Celo Foundation or some other early investor selling CELO at a predefined rate. Arbitrageurs are doing just simple arbitrage against the Central Exchanges. There seem to be no complex trading tactics against Mento today.

Thus, we still don’t know for sure if Mento is safe or not against more targeted, high volume algorithmic traders. Since there is already quite efficient arbitrage against CEX/Market Price, it makes it less likely that Mento can be exploited compared to the same algorithms trading against other exchanges. But there are certainly no guarantees, and continuous regular analysis is necessary to make sure Mento continues to perform as expected.