Explainers

ICP Canister Controllers Explained

Controllers are principals allowed to administer a canister: install Wasm, change settings, start/stop, take snapshots, and read full status including cycles. Anyone can top up cycles; only controllers can manage.

September 5, 2026 · 8 min read

What a controller can do

  • Call canister_status (cycles, memory, module hash, controller list)
  • Start and stop the canister
  • Take, load, and delete snapshots
  • Install or upgrade Wasm and update settings
  • Add or remove other controllers

What anyone can do

Topping up cycles does not require controller rights. That is intentional — friends, ops, or users can keep a canister alive without gaining admin power. See how to top up ICP cycles.

How you become a controller

  • Create on ICPay — your Internet Identity is set as the primary controller; you can add extras at create time.
  • dfx / NNS — whoever created the canister (or was added later) holds control.
  • Link on ICPay — linking saves an ID locally for Mine; it does not grant controller rights on-chain.

“Not a controller” errors

Manage and Snapshots fail if your II is not on the controller list. Confirm you signed in with the same identity that created the canister, or ask an existing controller to add your principal.

Tools

Related reading