Skip to content

Wallet setup

This guide explains setting up the wallet and the last steps needed to start running your node.

Preparation

Obtain a mnemonic

Before setting up your node wallet, you’ll need a mnemonic. You can obtain one using any of the following methods:

  • Using the CLI wallet (rusk-wallet), either directly on your node or locally on your machine. You can download Rusk Wallet from the Rusk releases page.
  • Using the Web Wallet if you would rather use a web app to access your wallet on your main device.

Important: Back up your mnemonic phrase securely and never share it. Anyone with access to this phrase can control your wallet and funds.

If you generate your wallet directly on the node using rusk-wallet, no restore is necessary, the wallet is already in place.

If you created your wallet elsewhere (e.g. via the Web Wallet or on your local machine), you’ll need to restore it on your node using the generated mnemonic.

Restore Wallet (if created externally)

If you already have a mnemonic it is time to set your wallet up on the node.

Once you have access to a Dusk mnemonic, run the following command:

Terminal window
rusk-wallet restore

If your node isn’t running yet, rusk-wallet may show a message like some operations won't be available. This is expected; the wallet can still be restored successfully.

You will be asked to provide your recovery phrase/mnemonic, in lowercase, and to enter a password for the wallet.

Export consensus key

Once you’ve done so, run the following command to export a consensus key for the given wallet:

Terminal window
rusk-wallet export -d /opt/dusk/conf -n consensus.keys

To participate in consensus, Rusk needs your consensus keys. These keys are used to sign and vote for blocks. You will be asked to set an encryption password for the consensus key, make sure to remember it.

Now, run the following script and provide the same password (for consensus key) from before. This will set the password as an environment variable for Rusk to use.

Terminal window
sh /opt/dusk/bin/setup_consensus_pwd.sh

Start your node

We recommend using fast-syncing to bring your node up to date quickly. It significantly reduces the time required to become consensus-ready.

If you prefer to sync from genesis (e.g., for auditing or archival purposes), do not use fast-syncing.

Start your node with:

Terminal window
service rusk start

Once the node is running, check its sync progress by running:

Terminal window
ruskquery block-height

Compare your node’s block height to the block explorer to confirm if it’s catching up.

Testnet Faucet

You can request 5000 nDUSK from our Discord faucet. The minimum stake is 1000 nDUSK.

Stake your DUSK

The final step is staking. To allow your node to participate in consensus and earn rewards, your wallet must stake at least 1000 DUSK.

Initiate staking with:

Terminal window
rusk-wallet stake --amt 1000 # Replace with your desired amount

After the stake transaction, verify that your stake status is updated:

Terminal window
rusk-wallet stake-info

Check for the eligible stake and stake active from block fields to be updated.

Note: Your stake takes 2 epochs (4320 blocks) to mature. Only after that will it start participating in consensus.

You can periodically run rusk-wallet stake-info to monitor if your accumulated rewards are increasing, which is a clear indicator that your node is successfully participating in consensus.