Skip to main content

quill neuron-manage

Signs a neuron configuration change.

Basic usage

The basic syntax for running quill neuron-manage commands is:

quill neuron-manage [option] <neuron id>

Arguments

ArgumentDescription
<neuron id>The id of the neuron to manage.

Flags

FlagDescription
--clear-manage-neuron-followeesRemove all followees for the NeuronManagement topic.
--disburseDisburse the entire staked amount to the controller's account.
-h, --helpDisplays usage information.
--join-community-fundJoin the Internet Computer's community fund with this neuron's entire stake.
--leave-community-fundLeave the Internet Computer's community fund.
--rejectReject the proposal(s) specified with --register-vote.
--spawnSpawn rewards to a new neuron under the controller's account.
--start-dissolvingStart dissolving.
--stop-dissolvingStop dissolving.

Options

OptionDescription
-a, --additional-dissolve-delay-seconds <SECONDS>Number of dissolve seconds to add.
--add-hot-key <ADD_HOT_KEY>Principal to be used as a hot key.
`--auto-stake-maturity enableddisabled`
--disburse-amountDisburse only the selected amount.
--disburse-toDisburse to the selected NNS account instead of the controller.
--follow-neurons <FOLLOW_NEURONS>...Defines the neuron ids of a follow rule.
--follow-topic <FOLLOW_TOPIC>Defines the topic of a follow rule as defined here.
--merge-from-neuron <MERGE_FROM_NEURON>Merge stake, maturity and age from the specified neuron into the managed neuron.
--stake-maturity <STAKE_MATURITY>Stake the percentage (between 1 and 100) of the maturity of a neuron.
--remove-hot-key <REMOVE_HOT_KEY>Principal hot key to be removed.
--split <SPLIT>Split off the given number of ICP from a neuron.
--register-vote <PROPOSAL_ID>... [--reject]Vote to approve (default) or reject proposal(s).

Examples

The quill neuron-manage command has many uses, each operating on a neuron in a different way. The examples below will all operate on a hypothetical neuron 2313380519530470538.

To vote YES on a proposal such as 108005:

quill neuron-manage 2313380519530470538 --register-vote 108005

Or to vote NO on that same proposal:

quill neuron-manage 2313380519530470538 --register-vote 108005 --reject

This will produce a response like:

(
record {
command = opt variant {
RegisterVote = record {}
};
}
)

To follow another neuron, such as ICPMN, on a specific topic, such as Governance:

quill neuron-manage 2313380519530470538 --follow-neurons 4966884161088437903 --follow-topic 4

This will produce a response like:

(
record {
command = opt variant {
Follow = record {}
};
}
)

To stake a neuron's maturity, for example 25% of it, increasing its voting power:

quill neuron-manage 2313380519530470538 --stake-maturity 25

This will produce a response like:

(
record {
command = opt variant {
StakeMaturity = record {
maturity_e8s = 750_000_000 : nat64;
staked_maturity_e8s = 250_000_000 : nat64;
}
};
}
)

"e8s" is a shorthand for meaning the number of 1e-8s, or one-hundred-millionths, of an ICP in integer form; this response must be divided by 100,000,000 to get the real maturity, which in this case would be 7.5 and 2.5.

To disburse a fully dissolved neuron, meaning to convert it into ICP and transfer it to its controller:

quill neuron-manage 2313380519530470538 --disburse

This will produce a response like:

(
record {
command = opt variant {
Disburse = record {
transfer_block_height = 5_581_035 : nat64;
}
};
}
)

The block height, also known as the block index, can be looked up on the IC dashboard.

To spawn a new neuron, meaning to convert all the maturity from this neuron into a new one (that can be disbursed after one week):

quill neuron-manage 2313380519530470538 --spawn

This will produce a response like:

(
record {
command = opt variant {
SpawnResponse = record {
created_neuron_id = opt record {
id = 4966884161088437902 : nat64;
};
}
};
}
)

To increase the neuron's dissolve delay, for example by a full year:

quill neuron-manage 2313380519530470538--additional-dissolve-delay-seconds 31536000

To start dissolving a neuron:

quill neuron-manage 2313380519530470538 --start-dissolving

Or to stop:

quill neuron-manage 2313380519530470538 --stop-dissolving

To enable auto-staking a neuron's maturity:

quill neuron-manage 2313380519530470538 --auto-stake-maturity enabled

Or to disable:

quill neuron-manage 2313380519530470538 --auto-stake-maturity disabled

To join the IC's community fund:

quill neuron-manage 2313380519530470538 --join-community-fund

Or to leave:

quill neuron-manage 2313380519530470538 --leave-community-fund

To add a neuron hotkey, such as (for example purposes) the management canister:

quill neuron-manage 2313380519530470538 --add-hot-key aaaaa-aa

Or to remove it:

quill neuron-manage 2313380519530470538 --remove-hot-key aaaaa-aa

These 'configuration' operations will all produce a response like:

(
record {
command = opt variant {
Configure = record {}
};
}
)

Remarks

As this is an update call, it will not actually make the request, but rather generate a signed and packaged request that can be sent from anywhere. You can use the --qr flag to display it as a QR code, or if you are not working with an air-gapped machine, you can pipe it to quill send -.

For more information about neurons, see Neurons; for more information about their role in the NNS, see Network Nervous System; for more information about the community fund, see Community Fund.