How to stake your tokens

This article will show you how to stake your ACME tokens.

Staking tokens gives custody of those tokens over to the staking system unless and until they are unstaked.

The following steps will walk you through you how to set up your staking account for delegated staking.

Step 1: Install the CLI Wallet

There are two methods for setting up the CLI Wallet.

  1. Installing from the source – requires a command line interface (e.g., Terminal or PowerShell), git and go.

  2. Installing from binary-only requires a command line interface (e.g., Terminal or PowerShell))

For instructions on setup using either method, go to the CLI Setup Guide:

If you use the binary method to set up your CLI, replace the word accumulate with whatever name appears after you drag-and-drop the binary onto your command line for the below commands.

Step 2: Make sure your accounts are set up

Before you can stake your ACME tokens, you must have the following setup:

  • An ADI Token account for staking

  • An ADI Token account for rewards (if you'd like to keep them in a separate account)

If you have not yet created your ADI, follow the instructions here.

If you have not yet created the token accounts, run the following command to do so:

accumulate account create token <yourAdi> <yourKey> <newTokenAccountName> ACME

<yourADI> is the name of your ADI (e.g. bob.acme)

<yourKey> is the label of your key in the CLI

<newTokenAccountName> is the name you want your new token account to be (for staking accounts we recommend something like bob.acme/staking or bob.acme/rewards

Step 3: Choose the Operator you would like to stake with

Since you are setting up delegated staking, you must choose an Operator to stake with. The following operators are currently accepting stakers:

Step 4: Run the Delegated Staking Command

Run the following command to set up your staking account:

accumulate staking convert <stakingAccount> <yourKey> --delegate <operatorUrl> --rewards <rewardsUrl> --type <stakingType>

<stakingAccount> is the token account you want to use for staking (e.g. bob.acme/staking)

<operatorUrl> Is the ADI name for the Operator you're choosing to stake with (e.g. highstakes.acme)

<rewardsUrl> Is the token account where you want your staking rewards sent to. You can omit this if you want your rewards sent back to the staking account (make sure to delete the whole --rewards flag)

<stakingType> is the type of staking account you're setting up (pure, delegated, core-validator, core-follower, or staking-validator) (default is inactive). Since this guide is for setting up delegated staking, you should set this to delegated.

After running the command, make sure to write down the Transaction Hash. You'll need it for Step 5.

Step 5: Submit the Transaction Hash to the Staking Service

The staking process cannot be completed until you do this. The transaction will remain pending until the Staking Service takes custody of your tokens.

The final step is to submit the transaction hash to the Staking Gods. Submit the transaction hash you received after running the command in Step 4 using the following form:

Step 6: Send the tokens you want to stake to your new Staking Account!

The final step and the most rewarding (literally!). Send the tokens you want to stake to your token account.

You can do this in the CLI using this command:

accumulate tx create <fromAddress> <yourKey> <destinationAddress> <amount>

<fromAddress> is the address for the account where the tokens are coming from

<yourkey> is the name of the key that controls the account where the tokens are coming from

<destinationAddress> is the address for the account where you want to send the tokens. In this case, this should be your staking account (e.g. bob.acme/staking)

Once you send tokens to your staking account, they WILL be locked up for six months. DO NOT send tokens to this account unless you are sure.

Last updated