Compounding Maturity - NNS implementation update

This is wonderful ! Thanks a lot for your dedication @bjoernek ! :pray:

1 Like

Thanks ! Do we have a sense of when auto stake will be enabled for ledger devices ?

Hi @dfisher, given that auto-stake for Ledger devices mainly requires updates in the Ledger app, we are in touch with with Zondax to define the plan (the timing is tbc in the moment). I will provide an update to this thread once I know more.

Great thank you. The auto-stake feature is a game changer for peace of mind. Although I will miss my weekly ritual :slight_smile:


And will the next update also include SNS support for hardware wallets ?

That would be definitely on my wish list as well ! As this requires further discussions with Zondax, I do not know yet the timing.

I can see why automatic staking would definitely be better than staking. However, what’s the difference between staked maturity vs. merged maturity for you, @dfisher? It must be significant if you are willing to incur the weekly effort of restaking maturity manually each week rather than using the automation of merged maturity. Is it because merged maturity can’t ever be reversed without dissolving a neuron, whereas staking allows you to move new maturity to a new neuron with a different dissolve delay? Or is it for tax reasons (or both)? Finally, doesn’t restaking cause spawning, which currently has a maturity modulation penalty of 4-5%? I’m still doing my due diligence, so sorry if these sound like basic questions.

Historically I merged maturity once a week. Now I will stake maturity once a week. I would prefer to auto compound staked maturity because it won’t require any effort on my part and I can just let it run. But I need to wait until that feature is made available on the Ledger HW.

Looks like auto staking feature has been enabled for Ledger devices.

@bjoernek do you have a sense for when it will be updated for HSM devices?

Yes good news, auto-staking for Ledger devices is now enabled since Friday (for further reference see this post from @lmuntaner)

Regarding HSM devices

  • Do you refer to a Nitrokey HSM?
  • If you use it via a command line interface, then auto-staking is already enabled, as you have full access to all neuron operations.
1 Like

Yes exactly NitroKey HSM devices. A few questions.

  1. Why is the flag for staked maturity not visible in the UI in the NNS dApp where I have a neuron controlled by a NitroKey HSM (using a hot key)?

  2. What is the command using quill in the command line for windows to enable auto staked maturity?

  3. Do I need to download a newer version of quill?

Thanks for all your help

Hi @dfisher

  1. Hot key controls focus on performing actions with limited privileges, in particular voting & setting of following. Spawning maturity or staking maturity is not in scope of hotkey controls.
  2. The command for enabling auto-staking via NNS quill is
    quill neuron-manage neuron_id --auto-stake-maturity enabled --pem-file identity.pem
  3. Yes. Please download the latest version here GitHub - dfinity/quill: Governance & ledger toolkit for cold wallets.
1 Like

Can we expect merging Neurons from the front end dapp to our ledger neuron to be an upcoming feature? Personally, I would prefer to merge and have my neuron be under that the extra layer of security.

Admittedly, I thought this would imply neuron ownership and now I see a simple merge would suffice.

Hi @jsull9, neurons need to have the same controller to be mergeable. I believe the reason for this constraint is that otherwise neurons would become transferable, opening up a neuron market.

Oh gotcha so really we would need a “neuron market” of sorts to even merge the two? Or it would open up that flood gate of possibilities just off a merge?

It is the latter. Allowing to merge neurons of two different principals could be used to sell neurons.

1 Like

As a related question, is it possible to manage multiple principal IDs under the same hardware (Ledger) wallet, e.g., in order to manage a few small neurons of multiple family members under one wallet to avoid managing the off-site and fire-proof storage of multiple 24-word seed phrases?


Hi Team,

@bjoern kindly sent over the code. If you use a NitroKey HSM stick to manage your neurons, download the latest quill, and run the following code in the command line:

"c:/Program Files/quill-windows-x86_64” neuron-manage --hsm --hsm-libpath “c:/Program Files/OpenSC Project/OpenSC/pkcs11/opensc-pkcs11.dll” [NEURONID] --auto-stake-maturity enabled > out.json

“c:/Program Files/quill-windows-x86_64” send out.json

@bjoernek / @bjoernek do you mind letting the NNS dApp team know that for neurons controlled by NitroKey HSM sticks that are hotkey’d to the NNS dApp, there is no flag (even if it is greyed out) to show whether the maturity is auto-staked or not. I understand that this is not something that can be controlled in the NNS dApp itself but it would be helpful to know if it is on auto-stake or not from the NNS dApp.



Hi @dfisher

I work with the GIX team, where we develop the nns-dapp.

I’ll take note of that. We could show the checkbox but disable the action because the user doesn’t have permission to do that.


Hi @dfisher

Yesterday there was a new NNS Dapp release.

You should now see the Auto-Stake checkbox disabled for neurons controlled with hotkey.

Let me know if you have any issues.

Have a good weekend!