Motivation

At the highest level our mission at Spirals is building regenerative web3 infrastructure. When we first started this journey, we spent a lot of time working with validators – the core players powering proof-of-stake infrastructure – to understand how they can become climate-positive and use this to attract more stakers!

If you are here right now, it’s probably because you are interested in running a regenerative validator. We can’t wait to support you on this journey and exploring together how core blockchain infrastructure can heal the world 🌎

The following page assumes that you are running a validator on Celo. Support for this on other chains coming soon.

How does this work?

Today on Celo validators can set up a payment delegation to a beneficiary address. This means that every epoch a fraction of the validator rewards in cUSD is sent to the beneficiary, and this information is stored on Celo’s core smart contracts.

By setting up a payment delegation with the Spirals multi-sig on Celo as your beneficiary, you can start to make a continuous, positive impact on climate today!

Can I do this today?

Yes! The section below shows you how you can do this today in 2 easy steps with the Spirals multisig as the beneficiary. Feel free to give this a try, and you can remove the payment delegation at anytime as well. Let’s dive in πŸ‘‡

1. Install celocli

celocli only supports node v12.x today so make sure you have that. nvm is a pretty nifty package for managing multiple versions of node!

$ nvm use 12

$ npm install -g @celo/celocli

$ celocli --version
@celo/celocli/1.7.3 darwin-x64 node-v12.22.12

$ source .env # load PRIVATE_KEY from .env file
$ export BENEFICIARY="0xb207D01Ae3816E5179eBaA93Acf9afD7F6d27A6d" # Spirals multisigΒ on Celo
$ export FRACTION=0.1 # 10%

2. Setting the payment delegation

In this example I’m storing things in a private .env file locally, but there are other ways to do this as well that are outlined in the Celo docs here.

$ celocli account:set-payment-delegation --account 0xE1C46D6e7D44a446E2981A7C96F0cf9A9b097AF5 --beneficiary $BENEFICIARY --fraction $FRACTION --privateKey $PRIVATE_KEY
Payment delegation beneficiary and fraction are:

0xb207D01Ae3816E5179eBaA93Acf9afD7F6d27A6d 0.1

3. Sharing your impact 🀲

And that’s it! Thank you setting up this payment delegation and committing to running regenerative blockchain infrastructure. In the short-term, we hope to ship some exciting features in the ecosystem to highlight the impact validators we work with are making :

  • πŸ”¦ Impact metrics on validator explorers so you can attract new stakers through impact
  • πŸ“ˆ Monthly impact reports that you can share your impact with your community
  • πŸ’» Spirals dashboards for understanding your impact and where the money is going

If at any point in time you would like to remove the payment delegation, you can simply do that by calling account:delete-payment-delegation

Special shoutout to Aaron from VladiatorLabs for piloting this process with us and providing valuable feedback πŸ™