---
title: Reward Configuration Guide
slug: reward-configuration
description: How a node provider submits the reward configuration proposal that registers their nodes with the Network Nervous System and starts the reward stream.
tags:
  - node-provider
  - rewards
  - governance
  - infrastructure
date: 2026-05-04
related:
  - node-provider-documentation
  - node-provider-remuneration
  - node-provider-onboarding
---

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](https://next-rewards-gnj.caffeine.xyz/).

## Information you need before submitting

Gather the following before composing the proposal:

- **`NEURON_ID`** &mdash; from the NNS Frontend Dapp (step 3.6 of the
  [Node Provider Onboarding](/wiki/node-provider-onboarding/) flow).
- **`NODE_OPERATOR_PRINCIPAL`** &mdash; from step 7.1 of onboarding.
- **Node Machine IDs** &mdash; one per machine, listed on the
  [Internet Computer dashboard](https://dashboard.internetcomputer.org/).
- **`NODE_COUNT`** &mdash; 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 &mdash; 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.

```shell
$ 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 &mdash; three Gen-2 nodes

```shell
$ 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 &mdash; Wait for execution

Find the proposal at
[dashboard.internetcomputer.org/governance](https://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 &mdash;
> rewards for the period are only included once the proposal has
> executed.

## Related

- [Node Provider Documentation](/wiki/node-provider-documentation/) &mdash; the index for the role.
- [Node Provider Remuneration](/wiki/node-provider-remuneration/) &mdash; reward rates and the formula behind them.
- [Node Provider Onboarding](/wiki/node-provider-onboarding/) &mdash; where the prerequisite identifiers come from.
