Celo is a blockchain dedicated to mobile payment built around its token CELO and stablecoins from its ecosystem such as the Celo Dollar. With 6 billion smartphone users worldwide, but less than 100 million using cryptocurrencies, the Celo Foundation intends to correct this with its accessibility-focused solutions. An overview of a project whose ambition is to increase the adoption of cryptocurrency payments.
What is Celo?
Celo (CELO) is a blockchain offering a mobile payment solution. The project was born in April 2020 in the United States and was developed and designed by the startup cLabs and the Celo Foundation.
Cryptocurrencies offer several advantages as a means of payment compared to fiat currencies. However, for the Celo team, there are still several barriers to the mass adoption of cryptocurrencies as such.
The first is price volatility due to the deterministic supply of assets as well as unpredictable demand. Many individuals therefore use crypto-currencies as a store of value or speculative instrument rather than as a means of payment.
For those wishing to use them as a means of on-chain payment, they need to manipulate wallet addresses (and therefore know the recipient’s public key), which can be complex for the most novice.
Research conducted in emerging and developing countries such as Colombia, Philippines, Tanzania or Kenya allowed Celo’s team to get a global picture of the problem and to develop a mobile blockchain with a suite of financial tools accessible to anyone with a smartphone.
In order to offer a successful and efficient payment system, making a payment with a cryptocurrency should be accessible to everyone and the volatility of the asset should be minimal. Naturally, the Celo protocol has gone in this direction to try to solve this problem.
Celo introduces its solution with an encrypted address allowing to send money directly to its contacts instead of using public keys. As for the volatility of the asset used for payments, the Celo protocol introduces algorithmic stablecoins stabilized by an elastic monetary policy, all backed by a pool of CELO tokens and other cryptocurrencies.
In order to accomplish this goal, the developers of the ecosystem have created Celo Wallet and Valora. These are smartphone-centric payment systems. Celo is the protocol’s native asset, while Celo Dollar is the most widely used stablecoin, which tracks the price of the US dollar. There are others such as Celo Euro and Celo Real.
The Celo blockchain is compatible with the Ethereum Virtual Machine (EVM), which allows it to operate decentralized Ethereum applications (dApps) such as Sushiswap, Beefy Finance and many others.
Through this EVM compatibility, Celo benefits from a very complete decentralized finance ecosystem as well as a native interoperability with Ethereum compatible blockchains.
A Proof of Stake blockchain
Using the Proof of Stake consensus, the Celo blockchain is governed by validators who play a crucial role. They validate transactions and produce new blocks. They are also responsible for supervising attestation requests in Celo’s public database.
The Celo community votes for groups of validators by staking their CELO tokens. These groups can be composed of up to 5 validators. Elections are held daily so each validator must be re-elected every day. The stakers of CELO tokens are rewarded for this, but it is good to specify that there is a period of 3 days to unstake his tokens following a vote.
There is also an on-chain governance system, where proposals submitted by CELO token holders can be eligible for a vote. It is necessary to lock tokens in order to submit a proposal. Then, each day, the three proposals with the most votes move to the approval phase.
During this phase, a multi-signature address of 9 individuals selected by the Celo Foundation votes for or against these proposals. A minimum of 3 approvals out of the 9 are required to pass this phase. In the future, a decentralized autonomous organization (DAO) will be in charge of this role.
Finally, the proposal goes through the final phase: the referendum. The community can simply vote yes or no, and the weight of the vote is proportional to the amount of CELO tokens stored. The proposal will then be implemented according to the result.
Using a phone number as a public key
Celo does not allow to use phone numbers directly as public keys. Instead, users’ public and private keys are generated in the classical way.
Users can then register their public key in a public database that stores the association of the public key with a phone number.
This is a decentralized database and no single entity is responsible for its maintenance. Anyone can verify the content by becoming a network validator since these addresses are attested by a peer-to-peer network.
To send an attestation request, i.e. to match his public key to a phone number, a user must pay an attestation fee (about 0.05 cUSD), this to prevent malicious users from overloading the network with numerous requests.
Validators in the network are then randomly selected to send a message to be signed to the user. The user signs the message with his private key and sends it to a smart contract for attestation.
Finally, the smart contract verifies that the validator has sent the message and that the signature corresponds to the public key. Other validators will check by consensus that the validator sending the message to be signed has done his job correctly and is not trying to serve his own interests.
It is possible to match the public key to anything, although a phone number is usually used. Another interesting feature is the ability to map an address to multiple public keys to separate uses.
Obviously, the addresses in the database are encrypted to prevent them from being clearly visible in the database, and thus prevent malicious actors from collecting the phone numbers in the database.
Plumo and the Celo light client
Of course, the Celo network applications can be used on smartphones. This is possible thanks to a light client and Plumo, a system based on zk-SNARK technology that allows smartphones using the Celo network to synchronize with the Celo blockchain faster and with less data.
This is a particularity of Celo since one of its priorities is the inclusion of users from countries with relatively old (low performance) smartphones and relatively limited Internet data.
Practicality of Celo’s solutions
The Celo protocol allows individuals to send funds to other individuals directly using a phone number for example, even if they don’t have a wallet, as long as they have registered their number in the Celo database.
Valora, an application developed by cLabs, allows you to send cUSD directly to your contact list, for extremely low fees and a very fast execution.
How are Celo’s stablecoins stabilized?
The other barrier defined by Celo’s team comes from the volatility of the assets. To solve this problem, Celo introduces its own infrastructure for stablecoins based on elastic supply to stabilize the value of stablecoins by adjusting the supply.
Celo has a stability algorithm that is powered by an automated market maker (AMM) called Mento. Mento’s main mechanism is to adjust the supply of the CELO token to stabilize the price of the stablecoin. We will focus here on the Celo Dollar (cUSD) for our explanation.
Thus, if the price of the cUSD deviates from its parity with the U.S. dollar (1 cUSD must equal 1 dollar), an arbitrage mechanism will return it to parity. Therefore, if the price of the cUSD rises above 1 dollar, anyone can perform an arbitrage by exchanging the equivalent of 1 dollar in CELO tokens for 1 newly issued cUSD, to sell it on the market, which will allow the cUSD to return to its parity.
The exchanged CELO tokens will be sent to the reserve. Conversely, if the price of the cUSD falls below 1 dollar, an arbitrage consisting of the purchase of cUSD tokens to exchange it at the protocol for the equivalent of 1 dollar in CELO tokens is possible to bring the price back up.
The CELO tokens thus received are taken out of the reserve and the cUSD tokens sent are burned by the protocol. These arbitrages act as a natural economic incentive mechanism since by doing so, the arbitrageurs make profits.
This relationship between the two tokens is reminiscent of the algorithmic stablecoin Terra USD (UST) and its token LUNA. We are therefore issuing a warning about this in full transparency with the setbacks of the LUNA token and its UST stablecoin that took place in May 2022.
However, it should be noted that in addition to the elastic monetary policy and the two-cryptocurrency system coming together, the Celo protocol differs from the Terra protocol in many ways.
Celo has a mechanism called Granda Mento that allows a large number of CELOs to be exchanged for cUSD tokens and vice versa. Indeed, Mento is not very suitable for large-scale exchanges since it could, as happened with LUNA, cause significant slippage during large exchanges.
Granda Mento allows you to mitigate this type of undesirable event by processing a large number of exchanges with a minimum of slippage. For example, trading 50,000 cUSD in Granda Mento causes only 2% slippage. It is thus possible to provide high liquidity for these trades.
However, these exchanges are not instantaneous, unlike Mento. With Granda Mento, the tokens will be traded over several days in order to guarantee the minimum movement on the stablecoin price. There is therefore a necessary waiting period during which the tokens are locked into the protocol.
The Celo protocol also relies on an oracle to determine the correct 1:1 exchange rate between the cUSD and the US dollar.
Celo’s cryptocurrency reserve
Celo has a reserve to stabilize its stablecoins. This is a smart contract in which there is a basket of crypto-currencies stored securely. At the time of writing, this reserve is composed of CELO, BTC, ETH, DAI and MCO2. These assets are chosen by Celo’s governance.
This reserve can be viewed transparently at any time on Celo Reserve. There you can see the reserve ratio by comparing the dollar amount of the total reserves and the value of the stablecoins in the Celo protocol.
This ratio is 2.76 at the time of writing, meaning that the reserve is able to cover 2.76 times the value of all stablecoins on Celo.
Only the CELO token can be exchanged for stablecoins as part of the arbitrage mechanism to stabilize their prices. The other crypto-currencies in the pool, which are present to the tune of about 50%, are held only to mitigate the volatility of the CELO token.
This is an interesting and unique mechanism as CELO tokens are not burned in an exchange, as collateralizing algorithmic stablecoins traditionally are. Instead, they are simply held in the pool, and as the demand for stablecoins in the Celo ecosystem increases, the more CELO tokens the pool will hold.
This also means that Celo will have to gradually replenish its reserves of other assets as demand for its stablecoins increases.
What are the roles of the CELO token?
As we have seen, CELO is a token with three main roles. Its first role is related to the governance of the Celo blockchain. It allows to submit a proposal or to vote on it by staking CELO tokens beforehand. Becoming a validator also requires to lock CELO tokens.
Its second role is the stabilization of the price of stablecoins of the CELO ecosystem such as the Celo Dollar and the Celo Euro through the mechanisms of expansion and reduction of its offer.
Finally, the CELO token can be used as a means of payment alongside other cryptocurrencies on the Valora or Celo Wallet applications.
Celo’s fundraising efforts
The Celo project has benefited from three successive fundraisings totaling $46.5 million:
$6.5 million in a first private sale in June 2018, for $0.18 per CELO token ;
30 million in a second private sale in February 2019, for $0.75 or $1.00 per CELO token depending on the vesting period chosen;
10 million in a public sale on Coinlist in 2020 for $1 per CELO token.
Many investors have participated in these private sales, including Coinbase, Polychain and Andreessen Horowitz (a16z).
There are 440 million CELO tokens in circulation at the time of writing (May 2022). By 2050, there should be 1 billion, which will be the maximum supply.
Of this offer, 400 million (40%) will be issued progressively as Epoch rewards: this refers to the mint and the distribution of new CELO tokens with each new block produced.
These will therefore be distributed to validators and stakers of CELO tokens up to 30% of the maximum offer, or 300 million CELO tokens. These rewards are also used to subsidize the community (bounties, protocol development, etc.) up to 10% of the maximum offer, i.e. 100 million tokens, of which 2 million are allocated to a fund for the carbon neutrality of the project.
CELO’s team and partners
The Celo Foundation is a nonprofit organization that supports the growth and development of the Celo blockchain. It helps push the adoption of the project. cLabs is a company hired by the Celo Foundation to develop and improve the protocol and products of the Celo ecosystem.
Three individuals are notably behind the Celo project:
Rene Reinsberg: co-founder of cLabs and president of the Celo Foundation;
Sep Kamvar: co-founder and partner of cLabs;
Marek Olszewski: co-founder and CTO of cLabs.