Skip to main content

Staking

The Archway network is a Proof-Of-Stake (PoS) blockchain, meaning that the weight of validators is determined by the amount of staking tokens (ARCHs) bonded as collateral. These ARCHs can be self-delegated directly by the validator or delegated to them by other ARCH holders.

Any user in the system can declare their intention to become a validator by sending a create-validator transaction. From there, they become validator candidates.

The weight (i.e. voting power) of a validator determines whether or not they are an active validator

Delegators are ARCH holders who cannot, or do not want to run a validator themselves. ARCH holders can delegate ARCHs to a validator and obtain a part of their revenue in exchange.

Now let's see how we can delegate some tokens to a validator.

You can stake by:

Delegating#

You can stake by delegating your tokens to validators who process transactions and run the network.

This allows ARCH holders that don't have the skills or desire to run a validator to participate in securing the network and be rewarded.

archwayd CLI#

Requirements#

Connecting to the network#

In order to delegate your stake you have to either run your node or you can connect to a trustworthy operator.

Malicious operator could return incorrect query results or censor your transactions. However, they will never be able to steal your funds, as your private keys are stored locally on your computer or ledger device. Possible options of full-node operators include validators, wallet providers or exchanges.

in order to connect to the network we must

Config CLI#

If you are not running a node, you can configure your machine as a client. First, remove any archway node data if there is any:

rm -rf ~/.archway/*

We must set the default value for the node we are connecting to

archwayd config node https://rpc.constantine-1.archway.tech:443

Note: This example connects to the constantine test node. Make sure to connect to the correct network.

Finally let's set up the chain ID of the network we want to interact with

archwayd config chain-id constantine-1

Send funds#

In order to delegate we need to send a delegate transaction to a validator

archwayd tx staking delegate <validator-operator-address> <amount-to-bond> --from <your-key-name>

Find Validator's Operator Address#

We can query all the validators and pick the one we want to delegate tokens to it.

archwayd query staking validators
pagination: {}validators:- commission:    commission_rates:      max_change_rate: "0.100000000000000000"      max_rate: "0.100000000000000000"      rate: "0.010000000000000000"    update_time: "2021-10-12T20:15:35.967858491Z"  consensus_pubkey:    '@type': /cosmos.crypto.ed25519.PubKey    key: X1LGMAY8dToCgBuMIMpctn20Fwenim2YTGoY9Y2J+To=  delegator_shares: "1000000000.000000000000000000"  description:    moniker: my-validator  min_self_delegation: "1"  operator_address: archwayvaloper14gxqxpxulxssv7pr4kltr9tl5dujtestxvjhkp  status: BOND_STATUS_BONDED  tokens: "1000000000"  unbonding_time: "1970-01-01T00:00:00Z"

As we can see in our example we have one validator and its operator address is archwayvaloper14gxqxpxulxssv7pr4kltr9tl5dujtestxvjhkp.

Keplr#

Staking#

First open your keplr browser extension and click on the Stake button.

Prerequisite: Make sure to deposit some tokens beforehand.

After you click the Stake button, the keplr extension opens the keplr web wallet. In the list of validators, select the one you want and then select Manage.

Warning: Conduct proper research about the validator before staking your tokens with them.

Pick a validator.

A window opens showing the website of the validator with some extra information. Select the Delegate button.

Enter the amount of tokens that you want to stake.

Note: Since there is a transaction fee, make sure not to delegate all your tokens.

After you select the Delegate button, another window allows you to select the transaction fees. If you want your transaction to be processed faster, you can offer a higher fee.

Now, select the Set Fee button.

On the following page, make sure the validator address is correct.

The validator address shows on their website. Now that you see the address is correct, you can approve it.

It takes a few moments for the transaction to get through. Open the keplr extension to see the updates on your account.

Claiming the Staking Reward#

After some time, you can see the staking reward to be claimed.

To claim a reward, select the Claim button. Select a fee for the transaction and select the Set Fee button.

After a few moments, you ycan see the updates on our account.

Note: Since there is a transaction fee, it is recommended to periodically claim the reward.

Undelegate and Redelegate#

To undelegate your staked tokens, select the validator from the list of validators in your keplr web wallet and then select the Undelegate button.

Note: The unbonding period in Cosmos-based networks is 21 days.

To redelegate your tokens to another validator, select Redelegate from the menu.

Then you can select another validator from the list.

Screenshots from: https://youtu.be/KYntLOLnLdg