Testnet Beta Phase 3 - Staking Signups


The staking signup period for the testnet release 3.3 has now closed! You can still sign up for the waitlist for technical challenges, and participate in all community challenges, which require no registration!


For our next public testnet, we have doubled the amount of community members who can take part! Sign up for the opportunity to stake, become a block producer on Coda’s public testnet, participate in other technical challenges for Testnet Points* (see leaderboard), and increase your chances to become eligible for the Genesis token program. We’re planning to onboard new Genesis founding members again after release 3.3!


  • To successfully produce blocks, you need good uptime — your node needs to be online and connected to testnet (if not 24/7, then as much as possible) during the two weeks of release 3.3. We will share testnet documentation with you to help you get connected.
  • Block producers who stake their testnet codas are required to connect to testnet and send a transaction to Coda’s echo service on the testnet within 48 hours after testnet launch. If you do not fulfil this requirement, the stake that you received at the start of the mainnet may get redelegated away from you to another member. We will share testnet documentation with you to help you get connected, and send transactions on the testnet.

Important note:

Active block producers are crucial for the liveliness of a network, and because the number of testnet users are limited in this release, we want to give these chances to truly engaged community members. Therefore, please only sign up for staking if you truly intend to participate.

Signup Instructions

To sign up to participate in the staking challenge and other challenges, you first need to generate your public key. If you are one of the chosen testnet users, then we will delegate stake and send testnet tokens to your public key.

Please follow the steps below to generate your public key and add it to the genesis ledger of testnet release 3.3.

  • IMPORTANT: The key format has changed! You’ll need to generate a new keypair for this release.


To install the public key generation utility, run the following commands:

On MacOS (using Homebrew):

brew install codaprotocol/coda/coda-generate-keypair-phase3

If you participated in Phase 3.1 or 3.2, you have probably already installed the package. In this case you’ll need to upgrade in order to generate a new keypair. Use the following command:

brew upgrade codaprotocol/coda/coda-generate-keypair-phase3

On Ubuntu 18.04 / Debian 9 (using APT):

echo "deb [trusted=yes] http://packages.o1test.net unstable main" | sudo tee /etc/apt/sources.list.d/coda.list
sudo apt-get update
sudo apt-get install libjemalloc-dev
sudo apt-get install coda-generate-keypair-phase3=0.0.15-beta-193c6b2

On any machine with Docker:

The following command gets the latest generate keypair image, runs it, and generates a new key called “mywallet” in ./keys. This should work on any host that supports docker, including windows hosts or older Macs that do not cooperate with the brew instructions.

docker run --interactive --rm --volume $(pwd)/keys:/keys codaprotocol/coda-genkey:latest -privkey-path /keys/mywallet

On Windows

Although Windows is not officially supported at this time, you can still participate. Community members have successfully tried out a number of ways to open a Ubuntu terminal while using Windows. Go to this wiki page for instructions to set this up, then come back and follow the instructions for Ubuntu.

Generate Keypair

To generate a keypair file called “my-wallet” in the “keys” folder, run this command:

coda-generate-keypair-phase3 -privkey-path keys/my-wallet

You will be prompted for a password, and then see the output of your new public key. See below:

        Password for new private key file: 
        Again to confirm: 
        Keypair generated
        Public key: B34qjjAoiDKIhUBeAGrBQqv7YwAsVJcfJShYvqTVr9vXDCPBHrUQZWZ

  • IMPORTANT: Do not lose this file! You’ll need it again when you start your node when Phase 3.3 begins.

  • Report your public key to the team in order to sign up for the staking challenge and other technical challenges by filling in this form.

  • IMPORTANT: If you belong to one of the selected testnet users, then you will receive stake (delegated to you) on the registered public key. You will not be able to participate in the staking challenge and produce blocks with any other key - take good care of your keypair file!

:bulb: Tip: the Discord server is where the community and the team hangs out, so we’d love to see you over there!

:bulb: Tip: if you get stuck or need some extra help to get connected to the testnet, feel free to reach out to us on Discord!


Q: Do I need to sign up again if I already signed up previously for a public testnet?

A: Yes, please sign up again! Because the testnet slots are limited, we’d like to include as many active members as possible. By signing up again, you let us know that you intend to participate in testnet release 3.3.

Q: Do I have to resubmit my keypair if I already submitted it in previous testnet phases?

A: Yes, please resubmit!

Q: Do I have to regenerate my keypair if I already have one from previous testnet phases?

A: Yes, all participants must create a new keypair for testnet release 3.3. Your old keypair from previous testnet releases will not be usable on testnet release 3.3.

Q: Do I need to use my registered keypair when release 3.3 starts?

A: Yes, if you belong to one of the selected testnet users for release 3.3, then you will receive stake (delegated to you) on the registered key. You will not be able to participate in the staking challenge and produce blocks with any other key.

Q: What is this utility I have to download?

A: This source of this program is located here if you’d like to build it yourself: GitHub

Q: When I run coda-generate-keypair-phase3 -privkey-path keys/my-wallet it just fails with Illegal Instruction

A: The packaged coda-generate-keypair-phase3 executable does not run on older platforms or virtual machines. You can try installing it on a more modern computer and try again, or you can use the docker instructions which should work anywhere.

Next Steps:

  • You will be notified at latest on Friday August 28th whether you’re selected for release 3.3.
  • Be ready to set up your Staking Node when Phase 3.3 launches – we’re on track for Tuesday September 1st, but the date is subject to change. We’ll share an update on Discord if anything changes, so keep an eye out on the #announcement channel!"
  • Happy staking!
  • downloaded new public key regeneration utility
  • generated new set of keys
  • submitted new public key

After installing i got this error: coda-generate-keypair-phase3: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory

If u got same error - try this:
sudo apt install libjemalloc1 -y


Thanks for sharing @whataday2day. I received feedback from many community members that your solution worked!

Error on Mac OS:
dyld: Library not loaded: /usr/local/opt/jemalloc/lib/libjemalloc.2.dylib
Referenced from: /usr/local/bin/coda-generate-keypair-phase3
Reason: image not found
[1] 9846 abort coda-generate-keypair-phase3 -privkey-path keys/my-wallet

Solution, install: brew install jemalloc


Looking forward to Testnet beta phase 3.2. Signed up to stake!


Looks good! Looking forward to it


If anyone here has issues with libffi on Mac make sure the path


exists. If it doesn’t, you can fix it by running

brew install libffi
ln -s /usr/local/Cellar/libffi/3.3/lib/libffi.7.dylib /usr/local/Cellar/libffi/3.3/lib/libffi.6.dylib

This will simlink 6 -> 7, which worked for me to generate the key.


Running Ubuntu 20 and having issues with: libprocps6 and libffi6 being not installable.

Looks like these might not yet be in v20? I guess I could go back to Ubuntu 18.04 - unless there’s a work around?

Getting the below error on MacOS
(base) base:~ bharat$ brew install codaprotocol/coda/coda-generate-keypair-phase3

Cloning into ‘/usr/local/Library/Taps/codaprotocol/homebrew-coda’…

remote: Enumerating objects: 173, done.

remote: Counting objects: 100% (173/173), done.

remote: Compressing objects: 100% (139/139), done.

remote: Total 173 (delta 82), reused 31 (delta 12), pack-reused 0

Receiving objects: 100% (173/173), 38.97 KiB | 554.00 KiB/s, done.

Resolving deltas: 100% (82/82), done.

^[[OTapped 3 formulae

Error: undefined method `desc’ for CodaGenerateKeypairPhase3:Class

Please report this bug:


/usr/local/Library/Taps/codaprotocol/homebrew-coda/coda-generate-keypair-phase3.rb:2:in `class:CodaGenerateKeypairPhase3

/usr/local/Library/Taps/codaprotocol/homebrew-coda/coda-generate-keypair-phase3.rb:1:in `<top (required)>’

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’

/usr/local/Library/Homebrew/formulary.rb:65:in `klass’

/usr/local/Library/Homebrew/formulary.rb:50:in `get_formula’

/usr/local/Library/Homebrew/formulary.rb:185:in `get_formula’

/usr/local/Library/Homebrew/formulary.rb:198:in `factory’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `block in formulae’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `map’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `formulae’

/usr/local/Library/Homebrew/cmd/install.rb:28:in `install’

/usr/local/Library/brew.rb:134:in `’

echo “deb [trusted=yes] <I had to remove the link here because I couldn’t post> release main” | sudo tee /etc/apt/sources.list.d/coda.list

The first line should not have the < or >
otherwise you get

E: The method driver /usr/lib/apt/methods/<http could not be found.
N: Is the package apt-transport-<http installed?
E: Failed to fetch http://packages.o1test.net/dists/release/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.```

Use the bottom one instead.

echo “deb [trusted=yes] http://packages.o1test.net release main” | sudo tee /etc/apt/sources.list.d/coda.list

If you already installed, then fix is cd /etc/apt/sources.list.d then sudo nano coda.list and remove the < and > save and apt-get update should work now.

1 Like

As posted by @linuskrom in Discord you can also do this in Docker with this command:

docker run --interactive --rm --volume $(pwd)/keys:/keys codaprotocol/coda-genkey:latest -privkey-path /keys/mywallet

and change the --volume <path>:/keys to a different <path> to put the keys elsewhere on your machine.

When running:

sudo apt-get install coda-generate-keypair-phase3=0.0.15-beta-52b1ddd

I get this error:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 coda-generate-keypair-phase3 : Depends: libprocps6 but it is not installable
                                Depends: libffi6 but it is not installable
E: Unable to correct problems, you have held broken packages.

I also tried:

sudo apt install libprocps6 libffi6

And the errors are:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libprocps6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package libffi6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libprocps6' has no installation candidate
E: Package 'libffi6' has no installation candidate

Where should I get these two dependencies? I’m in Ubuntu 20.04. It appears these packages no longer exist in the repos. Thanks! :slight_smile:

Caution: This got it to run, but i got a Illegal instruction. I was told it was because of old hardware, so it might work.

*I cant paste links so put http:// before and a . where there is a space.

These are the 2 missing libraries.

wget mirrors.kernel org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
wget security.ubuntu com/ubuntu/pool/main/p/procps/libprocps6_3.3.12-3ubuntu1.1_amd64.deb

You might also need this one

wget mirrors.kernel org/ubuntu/pool/universe/j/jemalloc/libjemalloc1_3.6.0-9ubuntu1_amd64.deb

Then use sudo dpkg -i [name.deb] Example would be

sudo dpkg -i libjemalloc1_3.6.0-9ubuntu1_amd64.deb


sudo apt-get install coda-generate-keypair-phase3=0.0.15-beta-52b1ddd
coda-generate-keypair-phase3 -privkey-path keys/my-wallet

Does this work?

Is there available the sources to compile them? because I have a server with ARM and would like to give it a try.