Change Staking Address

Nodetracker - Rules for changing stake addresses

  • The Stake Address may only be changed once per earning period
  • Any change of the Stake Address will not take effect until the start of the next earning period
  • The Stake Address in effect during the earning period will be the stake address paid

Nodetracker - Behavior of zero balance and changes to stake addresses

  • The tracking server will accept a stake address with a balance of 0 since the address will not be changed until the start of the next earning period. This gives the node operator the flexibility to fund the address at a later time (before the start of the earning period)
  • If the new stake address does not have the proper balance at the start of the next earning period, the stake address is changed to the new one and an Exception will be created (alert sent to node operator)
  • If there is an existing pending stake address change, the tracking server will respond with a message on the node console and not accept the change
  • If the stake address change was submitted in error, the old stake address may be submitted (replace the address and restart the nodetracker) and the change will be cancelled.  The correct new stake address can then be submitted once the cancellation message appears on the node console

Nodetracker and Verified Stake Addresses

Changing to a verified stake address works the same was as an unverified stake address, but make sure that the category associated with the API sub key used when verifying the address with the Stake Tool matches the category in config.json.


  • Changing to a new stake address qualifies as one change, and must be done independently of any other changes to your node
  • Changes to stake addressees where funds are being moved from currently used addresses into new addresses or in addresses on standby with funds available, should be done shortly before or at the time of the start of the next earning period
    • If the stake is changed and the funds are moved before the start of the next earning period, an exception will be created until the system updates to the new address at the start of the earning period

The following are steps to change/update the stake address with the tracking server

  1. SSH into the node needing to be updated
  2. Stop nodetracker while making changes to config.json, note that you might incur a short downtime while you're making changes

    sudo systemctl stop zentracker
  3. Edit the following command, replacing the znXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX with your new staking address and then paste the modified command into your terminal

    sed -i 's|"stakeaddr": ".*"|"stakeaddr": "znXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"|' ~/nodetracker/config/config.json

    3a. If using a verified address: Edit the following command, replacing the mycategory with the category associated with the verified staking address API sub key and then paste the modified command into your terminal

    sed -i 's|"category": ".*"|"category": "mycategory"|' ~/nodetracker/config/config.json
  4. Restart the tracker and get a journaled output

    sudo systemctl start zentracker && sudo journalctl -fu zentracker
  5. In the journaled output, the tracker will give you a blockheight in which the change to the staking will take effect. You must transfer your stake to the new address just before or right after the network reaches this blockheight. If you move the stake too early, the tracker will still be using the old staking address causing some downtime. If you plan correctly, you can minimize the total downtime created from the stake transfer.

© 2020 Horizen. All rights reserved.