TVL - The reason why only developer canisters, and not investors can control neurons

When a developer deploys a canister to ICP, that canister is controlled by the developer’s principal. Any principal listed as a controller of that canister can add new controllers, or even remove themselves as a controller.

Now that canisters controlled neurons are explicitly allowed by the protocol, anyone can:

  1. Deploy a canister
  2. Send ICP to that canister’s ledger address
  3. Use a library like Neuro to create a neuron controlled by that canister
  4. Stake ICP in that neuron, and manage its stake

Note that before this restriction was lifted, a few teams such as OpenChat were able to get around this with tECSDA + HTTP outcalls. OpenChat has a significant portion of its ICP staked in a canister controlled neuron controlled by the root canister of their SNS DAO. Additionally, the Jester Medallions project involved transferrable, canister controlled neurons.

Developers have been able to create canister controlled neurons for some time now. It works by simply transferring the neuron by changing the controller of the canister. There are other teams that have set this up (silently) already.

A NNS/DAO controlled/blackhole canister contract can act as the intermediary to remove trust assumptions, but it’s quite simple to create a transferrable neuron marketplace by facilitating the exchange a canister’s controller(s) for ICP value in return.