The Gold-Holders Guide to Celovote

Censusworks
7 min readMay 19, 2020

--

Make some money, have your say, and be part of something great. How to automatically stake Celo Gold and participate in on-chain governance using Celovote.

Just acquired some shiny new Celo Gold? Wondering how to manage it? You’ve come to the right place.

Staking Celo Gold

Celo is a cryptocurrency collateralized by Celo Gold. If this is a surprise then head on over to An introductory guide to Celo and come back afterwards.

Celo has an innovative technical foundation and a mission “to build a financial system that creates the conditions for prosperity — for everyone.” Alright I’m sold, time to go buy some Celo Gold and hold onto it for a while! But wait, just buying and holding is kinda a mistake. The great thing about Celo Gold is you can stake it on validator groups and earn up to 6% per annum, plus you can use your Gold as voting power to influence governance and help shape the future of Celo.

Staking involves locking up gold and using it to vote for a validator group. If that validator group performs well you get your maximum returns. If it performs poorly you get lower returns. This allows you to “put your money where your mouth is” to advocate for a validator group.

How would you like your stake?

So how do we go about this staking thing? There are a few ways you can manage your stake:

Staking via an exchange or custody service

The simplest way to get returns on Celo Gold is to buy it on an exchange and just leave it there, provided the exchange stakes it on your behalf and gives you a cut of the returns. This is the easiest option but has a few downsides:

  1. The exchange might take a cut of your rewards.
  2. You probably don’t get to participate in Celo governance.
  3. You might lose your tokens if the exchange gets compromised. This is a big reason many gold holders choose to self-custody.

Self-custody and manually staking

Self-custody means you hold onto the keys to your gold yourself. One of the safest ways to do this is via a secure hardware wallet such as a Ledger Nano. Storing keys on the wallet is relatively straightforward if you’re careful but using those keys to stake gold on validator groups is more complicated, especially if you’re not familiar with command line operations and don’t want to run a Celo node.

Manually staking is a good option for technically-sophisticated gold holders but it isn’t a set-and-forget operation. You need to do your diligence to pick a reliable validator group to vote for, you need to remember to come back the next day and activate your votes to actually start receiving rewards, and you need to keep an eye on validator performance in case the group you voted for gets slashed or starts earning lower returns.

Self-custody and auto-staking

Just in case it wasn’t obvious, this article is going to advocate for the auto-staking approach.

An auto-staking service like Celovote allows you to retain full custody over your gold but it does the work for you in deciding which groups to vote for. Celovote constantly tracks validator group performance and automatically distributes votes across these groups to incentivize reliability and diversify the validator set. If validator group performance changes over time, Celovote will automatically redistribute your votes.

Celovote is good for Celo because it means highly-reliable groups get rewarded with votes and are able to continue getting elected to the validator set. Celovote is also good for you because you get maximum rewards with minimum risk, while expending minimum effort. Hooray!

How Celovote works

Once you have your keys on a Ledger device you can handle all staking via celovote.com.

Using Celovote

The first thing to do is connect your Ledger to your computer, start the Celo app on the device, and head on over to celovote.com. You tell Celovote how many addresses to load off your ledger and it will automatically show what gold is on these addresses and whether it’s being used for voting. There’s no “sign-up form” or login password, Celovote uses your Ledger addresses and public blockchain information to fetch your state.

The next step is to lock some gold via the web UI, then click “authorize” to allow Celovote to manage your votes. Both of these operations will prompt you for confirmation on your Ledger, but see below for a big fat warning about confirming ledger prompts.

Once you’ve clicked “authorize” you’re done! Celovote will distribute your votes, automatically activate pending votes, and shift votes around if needed. If you want to stop using Celovote you can just authorize a new vote signer and go back to managing your votes manually.

Celovote doesn’t vote for Celo governance without your control. The governance tab in Celovote allows you to vote on governance with the gold that you’ve authorized.

What’s going on beneath the surface?

The most important point is that Celovote never has access to your gold, you always retain full custody and can leave at any time. When you authorize an address Celovote creates a new vote signer key and stores it in a secure key vault to manage votes on your behalf.

Celovote votes for groups with the highest Annualized Rate of Return (ARR), estimated based on past performance. These include some preferred groups and some randomly-selected groups, according to the Celovote FAQ. It will only vote for groups that have public identities, participate in the ecosystem, and haven’t been recently slashed. Votes are distributed over a wide set of groups to minimize the impact of an individual group having an issue.

Handling transaction fees

Celovote covers the cost of transaction fees (gas) for you, both for authorizing signers and for governance. This keeps everything simple. These fees come out of a common faucet that is rate-limited to prevent abuse.

There’s a minor catch involving ReleaseGold contract addresses, but not for regular Celo wallet addresses. If you authorize a fresh ReleaseGold contract with Celovote the Celo protocol will transfer 1 cGLD from the contract to the validator signer Celovote owns. If you’d prefer not to let Celovote have this 1 cGLD then you can manually authorize your own signer before doing this. In this case the 1 cGLD will remain on your own signer instead, but that’s a lot of effort for 1 cGLD.

Staying safe

It’s always a good idea to keep your wits about you in the crypto world. Let’s chat briefly about some potential risks.

Ledger discipline

This is the big fat warning we mentioned above.

You should always be careful about clicking buttons on your Ledger device, especially when prompted by a website. If Celovote got hacked someone could replace it with a Ledger request that actually transfers your gold, instead of just authorizing a signer. If you blindly approved the transaction without reading your Ledger screen that would be a very sad day. Always look at the prompts your Ledger is displaying and make sure you’re approving what you think you’re approving.

Update: Celovote added the option to authorize using the celocli command line tool. This is a great option if you want to be extra careful.

What’s are the risks for you?

Assuming you don’t go approving random Ledger transactions, there’s not much risk to using Celovote. Celovote has no access to your gold and it doesn’t permanently control your votes. If Celovote started voting maliciously then that might impact your rate of return, but you can just authorize your own vote signer key and Celovote would lose the ability to control your votes.

What are the risks for Celo?

A reliable diverse validator set is a good thing but collusion is a bad thing. If Celovote controlled a significant fraction of the voting power then it could attempt to elect malicious validator groups or adversely influence governance. It would require a huge amount of authorized gold to affect the overall validator set however and would presumably be noticed pretty quickly by the validator community.

This same risk applies to large crypto exchanges or any entity with a disproportionate share of voting power. Limits will be put in place to ensure that Celovote doesn’t control more than a small fraction of the voting pool and Celovote users can always verify their votes are being distributed fairly.

What are the incentives?

Hopefully I’ve articulated the incentives for you: you maximize rewards without expending any effort. What’s in it for Celovote though?

Celovote is built and operated by the WOTrust validator group (with some minor contributions from us at Censusworks). These groups aren’t directly profiting from Celovote but they do indirectly profit however, in a couple of ways:

We care about Celo

We believe in the Celo mission and are invested in the Celo ecosystem. We want gold holders to delegate their votes to the most reliable validator groups. We also want gold holders to retain the ability to vote on governance, rather than being controlled by a few major players with a large fraction of the gold.

We think we’ll be highly reliable

We think that we’ll operate some of the most reliable validator groups and thus stand to benefit from votes that are distributed to the most reliable groups. Votes allow a group to run more validators (up to a maximum of five) and earn higher epoch rewards as a result.

Celovote abides by a principle of fairness. If WOTrust ceases to be reliable then it will cease to receive votes from Celovote.

Happy staking!

We hope you find Celovote to be a useful tool! Censusworks doesn’t operate Celovote directly but we’re enthusiastic about its development. If you have further questions you can join the conversation in the #celo-gold-holders channel on Discord or contact WOTrust directly.

--

--

Censusworks

Correctness you can count on. Reliable blockchain validation and tooling, from censusworks.com.