Getting Started Staking

How does Cooldown work?

When deciding to stop staking, staked SAFE needs to pass a period during which stake remains eligible for penalties before it becomes liquid.

Similar to the warmup phase, this happens gradually and works in the same way that warming does, with at maximum 25% of the SAFE at stake being able to pass the cooldown phase per epoch.

Getting Started Staking

How does Warmup work?

When sending a staking transaction to the network, stake first needs to activate before it influences the consensus process and begins to earn rewards.

The time this takes is dependent on how much SafeCoin is beginning to stake relative to the SafeCoin already at stake. Up to 25% of the SAFE already at stake can warmup per epoch and start to earn staking rewards.

In the best case scenario, when a reasonably high percentage of SAFE is at stake and there is little new stake entering, this will usually mean that stake will become active in the upcoming epoch that the staking transaction was sent.

In times of high stake turnover, e.g. at network launch, stake will progressively activate meaning that only a fraction of stake will enter the validation stage each epoch.

Getting Started

Binary Downloads

The recommended build process is to build the binaries from the source files. But, if you are in a hurry or just testing then you can save some time with pre-compiled binaries.

As yet there are no official pre-compiled binaries however some community members have built their own binary archives.

Binaries compiled for Mac OS

Download: safecoin-release-osx.tar

Binaries compiled for Ubuntu 20.04

Download: safecoin-release-ubuntu.tar.gz

Disclaimer: Use at your OWN RISK!

Getting Started Staking

Can I top-up the stake-account?

You cannot send new coins to your stake-account once it is active and delegated. To stake more coins you need to create a new stake account and deposit your new coins to that using the same process.

The stake rewards automatically get deposited into your stake account for immediate compounding.

See: Staking with CLI


Truncate Log File

By default your validator log file will grow indefinitely so you should regularly truncate it either manually or regularly using cron.

truncate -s 0 ~/safecoin-validator-*.log

This command will clear down your log file completely and can be run safely as often as required.

Maintenance Recovery

Recover Key using Seed

In the event that you need to regenerate your private key from the seed phrase, use the command as below.

When entering the seed words, be sure to put a single space between each, all lower case. The entry is not visible to type carefully.

~/Safecoin/target/release/safecoin-keygen recover -o recovered.json

The private key will be output to the filename of choice.

Voting Withdrawing

Withdraw from Vote Account

You can withdraw funds from the vote account at any time. The vote account collects the commission earned from staking operations.

~/Safecoin/target/release/safecoin withdraw-from-vote-account <VOTE_ACCOUNT_ADDRESS> <RECIPIENT_ADDRESS> <AMOUNT>
Staking Withdrawing

Withdraw Stake

Before you can withdraw from a stake account, it must have completed the cooldown process which is started by running the Deactivate-Stake command.

Once the cooldown process is complete, you can withdraw-state from your previosuly delegated stake-account.

~/Safecoin/target/release/safecoin withdraw-stake --withdraw-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> <RECIPIENT_ADDRESS> <AMOUNT> --fee-payer <KEYPAIR>

Deactivate Stake

As soon as your stake-account is fully active, you can deactivate the stake at any time. It will take a number of epochs to complete before you can issue the withdraw-stake command.

~/Safecoin/target/release/safecoin deactivate-stake --stake-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> --fee-payer <KEYPAIR>
Getting Started

Checking your Balance

You can check the balance of any wallet at any time by specifying the address on the command line.

Check the balance of your Validator Identity account

~/Safecoin/target/release/safecoin balance

Check the balance of a specific keypair

~/Safecoin/target/release/safecoin balance ~/ledger/validator-identity.json

Check the balance of any address

~/Safecoin/target/release/safecoin balance <ADDRESS>