NNS Governance: API changes related to NodeProvider reward_account field

Hi all,

We’re rolling out two small tweaks to the Node Provider APIs. They should be very low-impact changes, and should improve the user experience for the people who interact with these, but otherwise should not be negatively impactful.


Who’s Affected?

  • Anyone reading the reward_account field in NNS Governance data
  • Node Providers calling the update_node_provider endpoint

What’s Changing?

  1. Account Identifier Length

    • Endpoints affected:
      • list_node_provider_rewards
      • list_node_providers
      • get_node_provider_by_caller
    • Old behavior: returned either a 28‑byte or 32-byte account ID
    • New behavior: returns a 32‑byte account ID
    • Why it’s safe: both lengths are valid and already supported by clients; the API could return either before, depending on stored data.
  2. CRC Checksum Validation

    • Applies when calling:
      • update_node_provider
      • AddOrRemoveNodeProvider proposal action
    • New enforcement: reward_account updates must include a CRC checksum—and it must be correct.
    • Benefit: guards against typos and ensures consistency with the ledger API and dashboard.
    • Cost: This is a minor breaking change.

Actions Needed

  1. When you call update_node_provider, use the 32-byte addresss that includes the CRC checksum.
  2. Ensure clients are able to handle the 32-byte address, if you use this field in your app. (This should require no action unless you weren’t properly handling it before).

Let us know if we missed something or you have any concerns.

1 Like