Celo Governance in a Nutshell

Celo governance is complex and unlike other networks. Figment Networks strives to drive governance activities at all stakeholder levels in order to ensure that networks like Celo stay healthy, sustainable, and resilient. Here’s how to understand and participate in Celo’s system of governance.

Modified from image by @markusspiske

At a Glance

Observing active governance proposals
? http://thecelo.com (retains historical proposals)
? https://celoist.com/ecosystem/governance
? https://celovote.com (requires a Ledger hardware wallet)
? Command-line interface celocli
? Coming soon: Celo Hubble by Figment Networks

?️ Command-line interface celocli
? Coming soon: Celo Hubble by Figment Networks

From proposal to execution
? Someone will create a forum topic to discuss their proposal (ideally)
? They’ll deposit 100 cGLD to launch the proposal
⬆️ cGLD stakers “upvote,” and top 3 proposals advance to next stage (24 hours)
⚖️ Celo Foundation decides which proposals are approved to advance (24 hours)
?️ Finally, cGLD stakers vote with their locked Celo Gold (48 hours)
▶️ Successful proposals are executed on-chain and enacted by the protocol

All of this information is subject to change. This article was current as of May 25, 2020.

Related: Celo Governance: A High Overview (Apr 27, 2020)

Voting on the Celo Network

If you’re holding cGLD and you want to influence decisions for the Celo network, there are a number of things you will need to do:

  1. Lock your cGLD
  2. Watch the network for new proposals
  3. Vote using either celovote.com or using the celocli command line interface

If you’ve tried voting and found it difficult, that’s because Celo voting comes with user interface challenges.

The only non-command-line option that I know of is celovote.com, which requires a Ledger hardware wallet (operating in experimental mode). Otherwise you’ll need the celocli command line interface application installed and connected to a Celo full node (here’s one: https://rc1-forno.celo-testnet.org) and this list of commands.

I’m anticipating more user-friendly voting from our friends at Chorus One–check out Felix’s article here. It shouldn’t be long before you hear more about Celo Hubble by Figment Networks ?

Seeing On-Chain Proposals

Another challenge is being aware that a proposal is available to vote on. Beyond celocli, you can see only see active proposals on a few different websites. Again, keep ? open for Celo Hubble by Figment Networks.

https://celoist.com/ecosystem/governance is one web interface, but just like celocli, once the proposal has expired, it’s no longer visible. Once expired, past proposals are no longer available on-chain, so they can only be reviewed using services that store past proposals. Currently the only way to see both active and past proposals is with http://thecelo.com.

Proposals Move Fast

Perhaps the biggest challenge is the lifecycle of a Celo governance proposal. From launch to execution, a proposal only lasts 96 hours, a process we expect is likely to be changed to 14 days. Any parameters, including the governance parameters themselves, may be changed via governance proposal.

One way to be alerted is via this Twitter account that I run: @CeloGov. The cLabs team has been announcing their upcoming proposals on their forum: https://forum.celo.org/c/governance

From Proposal to Execution

Currently anyone with 100 cGLD and the technical expertise can launch a Celo proposal.

Upvoting Phase (dequeuing) – lasts at least 24 hours
During this phase, cGLD voters can “upvote” proposals. Each day, the three proposals with the most upvotes will move to the Approval Phase.

Approval Phase – lasts 24 hours
During this phase, the Celo Foundation decides whether or not a proposal can proceed to the voting stage. In future, this phase is expected to change.

Voting (Referendum) Phase – lasts 48 hours
During this phase, participants can vote using their staked cGLD. To qualify for voting, your Celo Gold must be locked. It’s important to note that validators do not vote on behalf of their stakers in governance.

Execution Phase – happens anytime after a successful vote
Once a proposal passes, anyone can send a transaction to execute it. The Celo protocol will automatically execute the changes, whether those changes are the code, parameters, or disbursing funds.


How do we know whether or not a proposal will pass? This is where things get tricky. The Celo governance mechanism has different thresholds for different kinds of proposals, and they depend upon the proportion of locked cGLD that participates in the vote. What does that mean?

It’s not just a simple majority required for a proposal to win. It means that unfreezing rewards, for example, requires 60% of participating cGLD to vote ‘yes,’ while changing the minimum deposit (currently 100 cGLD) requires 90% of participating cGLD to vote ‘yes.’ Here’s the entire list of thresholds.

It gets even trickier. In order for a winning proposal to be valid, there also needs to be quorum. That means that a minimum amount of staked cGLD must participate for the proposal to count. The quorum threshold changes according to how much of the staked network participated in the prior passed proposal. It’s also dependent upon an undocumented formula found commented in the codebase:
max{floor, (1 – baselineUpdateFactor) * baseline + baselineUpdateFactor * participation}

Who Uses This System?

So far, only the cLabs team has used Celo’s governance system.

Proposal 1 enabled validator elections to begin and for validators to begin earning rewards on May 1, 2020. Validator rewards are distinct from voter (aka staker) rewards, since the Celo protocol pays validators and voters separately. Proposal 1 also set 0.1% of rewards to be directed to Project Wren using the Carbon Offset Fund.

Proposal 2 and Proposal 3 were launched concurrently. Proposal 2 enabled cGLD voters to have staking rewards and Proposal 3 enabled cGLD holders to make transfers on May 18, 2020, which we consider necessary for the Celo network to be a mainnet.

Going Forward

The next two proposals are likely going to be from the cLabs team to enable stable assets like cUSD. Going forward I’ll work to update this article with the latest for understanding and participating in Celo governance. With a system as complex as Celo’s, we can expect many developments to lower the barriers inherent in this complexity.

? Quick updates can be found on Twitter via this account: @CeloGov
?️ Real-time chat in the #governance channel of cLabs’ Discord server
✍️ Detailed forum posts can be found on cLabs’ Discourse forum
? Live proposals/referenda can be seen in the governance section of thecelo.com
? celocli (command line interface) can be used to see raw on-chain details:
celocli governance:view –proposalID=1

Hopefully you found this useful. Feedback is always welcome! I’m on Twitter.