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.