Menu Close

The perfect but complicated setup

I have a ledger hardware wallet with polkadot and kusama accounts and I also have made a native account via Both are connected via the browser extension

If you are serious about validating and maybe want to fire up more instances in the future the perfect setup seems to be a stash account on a cold (hardware/ledger) wallet which you don’t have to use often, combined with a controller account on a hot wallet with easy (password) access. The idea is you use the hot wallet more often with more risk for exposure of the keys, while your stash account with the most value on it is relatively safe.

Problem with the setup using a ledger is that a lot of functions are more complicated, because the ledger app cannot execute all functions, most importantly:

  • A ledger account cannot have an “on chain identity” by itself. The workaround is giving a native account an identity (STAKEWORLD) and specifying the ledger accounts as sub-identities. In the validator lists they show as STAKEWORLD/01 , where the /01 is a sub-identity of stakeworld. The next one is STAKEWORLD/02 and so on. Every identity and sub identity locks up dot/ksm (polkadot: 20 dots, which you get back after clearing the identity).
  • A ledger account misses the democracy and council voting possibilities. Since this is a factor in the validator selection protocol and you want your validators to get elected it is wise to participate in democracy votes. The workaround here is to use a proxy. You can via ledger proxy your stash account to a native account, and with that native account can cast votes in democracy on behalf of the ledger stash account. Every proxy also locks up a certain amount of dot/ksm.

The easy setup

The more easy approach is to use a native account for as well stash as controller account. You can easily take on a chain identity, vote in democracy, etc. The downside being the lesser security and probably a lower score in the selection mechanism.