Unstoppability vs. immutability

Hi there,

Is it possible to designate actors as immutable (i.e., non-upgradeable), in order to encourage dApp incorporation into third-party applications? If so, how does one declare an actor as immutable?

Thanks in advance for your guidance.

You could set the controller of a canister to itself or even to the management canister and it won’t be upgradeable (or stoppable). Only the controller can upgrade or call management methods on it (e.g. stop or delete).


Ah okay understood - thanks so much!

The NNS can always shut down a canister though, no matter what the controller is set to, correct?

1 Like

In theory yes, but since an NNS proposal can, if accepted, change anything about the Internet Computer (including replacing all Internet Computer code with the code of a certain monster-fighting massive online multiplayer game), that isn’t really surprising.

Besides a full-fledged “change the protocol” proposal there is currently no mechanism in the NNS to shut down canisters (as far as I know). Although it could be added in a protocol upgrade, of course.