Reward Configuration Guide
How a node provider submits the reward configuration proposal that registers their nodes with the Network Nervous System and starts the reward stream.
After onboarding nodes, a provider must submit a reward configuration proposal before any rewards begin to flow. Without this proposal the nodes will run, the network will accept their work, and nothing will be paid. Reward configuration is a separate, deliberate governance action.
[!IMPORTANT] Proposals must be executed before the next minting date to be included in that minting cycle. The current minting schedule is published at next-rewards-gnj.caffeine.xyz.
Information you need before submitting
Gather the following before composing the proposal:
NEURON_ID— from the NNS Frontend Dapp (step 3.6 of the Node Provider Onboarding flow).NODE_OPERATOR_PRINCIPAL— from step 7.1 of onboarding.- Node Machine IDs — one per machine, listed on the Internet Computer dashboard.
NODE_COUNT— the total number of nodes the configuration covers. If you are adding nodes to an existing allocation or updating an existing operator record, the count must be the new total, not just the delta.
Step 1 — Create the proposal
The proposal is submitted with ic-admin against the NNS. The default
reward configuration for Gen-2 nodes is type3.1; substitute another
value only if a different node configuration applies to your machines.
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX
$ NODE_OPERATOR_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-update-node-operator-config \
--proposer $NEURON_ID \
--summary "Set rewards for the following nodes:
* NODE_1_MACHINE_ID
* NODE_2_MACHINE_ID
* ...
* NODE_N_MACHINE_ID
" \
--node-operator-id $NODE_OPERATOR_PRINCIPAL \
--max-rewardable-nodes '{"type3.1": NODE_COUNT}'
Worked example — three Gen-2 nodes
$ NEURON_ID=13419667327548602649
$ NODE_OPERATOR_PRINCIPAL=uqquy-76uhn-2mys5-dh54e-85ntr-sr953-redif-zkte3-94ndi-st2i1-93t
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-update-node-operator-config \
--proposer $NEURON_ID \
--summary "Set rewards for the following nodes:
* sed94-atzdo-rltqy-tmnhr-fvspg-fat3p-sdbjp-7q3jg-dgfcq-zrlap-cqe
* uq4uy-76uhn-2mys5-dh54e-85ntr-sr953-redif-zkte3-94ndi-st2i1-93t-sdjsl-vjlfn-6duch-vskdu-26pf5-cwibg-zooqk-sdn2e-cgugm-tae
* 39esy-hmrb2-nfvao-t42co-tqfed-y3i7c-xqxyp-idt2w-wgmgr-l4x7l-gae
" \
--node-operator-id $NODE_OPERATOR_PRINCIPAL \
--max-rewardable-nodes '{"type3.1": 3}'
Step 2 — Wait for execution
Find the proposal at dashboard.internetcomputer.org/governance and wait until it has been executed by the Network Nervous System (NNS). Only after execution does the configuration take effect.
[!TIP] If the proposal is still pending close to the next minting date, follow up on the developer forum so voters can weigh in — rewards for the period are only included once the proposal has executed.
Related
- Node Provider Documentation — the index for the role.
- Node Provider Remuneration — reward rates and the formula behind them.
- Node Provider Onboarding — where the prerequisite identifiers come from.