Change Validator Commission Rate

How to change the stake delegation commission rate of your Validator node on an Autonity network

Prerequisites

Note

See the Validator economics section for more information on commission rate and its default setting on an Autonity Network.

Change validator commission rate

  1. To specify a new commission rate for a validator, use the validator command change-commission-rate. Specify:

    • --validator: <VALIDATOR_IDENTIFIER_ADDRESS> of the validator node you are pausing.
    • <RATE>: the new commission rate value. The commission rate precision is expressed in basis points as an integer value in the range 0-10000 (10000 = 100%). Specify a decimal value between 0-1 For example, 0.078 would set a commission rate of 780 bps or 7.8%.
    aut validator change-commission-rate --validator <VALIDATOR_IDENTIFIER_ADDRESS> <RATE> | aut tx sign - | aut tx send -

    You will be prompted for your passphrase for the key file. Having entered the password, the transaction hash will be returned on success.

    You should see something like beneath. In this example the validator node with identifier 0x49454f01a8F1Fbab21785a57114Ed955212006be is paused. The returned hash is 0xdbc9a2...6674d725:

    aut validator change-commission-rate --validator 0x49454f01a8F1Fbab21785a57114Ed955212006be 0.078 | aut tx sign - | aut tx send -
    (consider using 'KEYFILEPWD' env var).
    Enter passphrase (or CTRL-d to exit): 
    0xdbc9a27a2f7b53d9eaa660add917ed61fe7213d1cdd826065d0e7af96674d725
Note

Commission rate changes are subject to the same temporal unbonding period constraint as staking transitions. On commit of the rate change transaction, the unbonding period is tracked and the rate change is applied at the end of the epoch in which the unbonding period expires.

  1. (Optional) To verify the updated rate, use the validator command info to submit a call to query for validator metadata. It will return the validator metadata from system state, including the validator status:

    aut validator info --validator <VALIDATOR_IDENTIFIER_ADDRESS>

    This will return a Validator object. The commission_rate property will show the new rate. You should see something like this:

    aut validator info --validator 0x49454f01a8F1Fbab21785a57114Ed955212006be
    {
        "treasury": "0xd4EdDdE5D1D0d7129a7f9C35Ec55254f43b8E6d4",
        "addr": "0x49454f01a8F1Fbab21785a57114Ed955212006be",
        "enode": "enode://c746ded15b4fa7e398a8925d8a2e4c76d9fc8007eb8a6b8ad408a18bf66266b9d03dd9aa26c902a4ac02eb465d205c0c58b6f5063963fc752806f2681287a915@51.89.151.55:30304",
        "commission_rate": 780,
        "bonded_stake": 0,
        "total_slashed": 0,
        "liquid_contract": "0x109F93893aF4C4b0afC7A9e97B59991260F98313",
        "liquid_supply": 0,
        "registration_block": 3505,
        "state": 1
    }