<p>Like other keys on cardano, a stakepool cold key is just a bunch of random bytes from the protocol's perspective. While it's highly recommended to be interoperable amount tools to use reserved derivation paths to generate keys, from a technical perspective it isn't necessary and you could make up any derivation path and extract the key using cardano-addresses, and then store the CBOR encoded key in a text file.</p>
<p>That being said, I'd highly recommend utilizing the CIP-1853 derivation path.</p>

CC BY-SA 4.0
2022-01-11T19:31:54.800Z
My question was more along the lines of - is it technically feasible to do this? Based on your answer I suppose it is - I'll have to give it a try on testnet and report back.
zhekson
CC BY-SA 4.0
2022-01-17T02:46:35.207Z
Yes, it's feasible. I have a pool on testnet utilizing CIP 1853. Only reason mainnet pool doesn't is changing the cold key would result in a new pool and needing to retire the old one. I highly recommend 1853 for any new pools.
Samuel Leathers
CC BY-SA 4.0
2022-01-11T18:58:31.370Z
2022-01-11T18:58:31.370Z
Samuel Leathers
<p>I am wondering if it is currently possible to manually derive stake pool cold keys using a low-level module like <a href="https://github.com/input-output-hk/cardano-addresses" rel="nofollow noreferrer">cardano-addresses</a>. The idea behind this is to have a single master seed/mnemonic, downstream of which all other key paths (staking, payment, node management, etc) lie. In other words, is <code>cardano-cli node key-gen</code> currently the only command to create the cold keys, or is there another way?</p>
<p><a href="https://cips.cardano.org/cips/cip1853/" rel="nofollow noreferrer">CIP-1853</a> talks about such specifications, but I'm not sure if they are already implemented or if they can be manually implemented.</p>
<p>Thanks in advance!</p>

<stake-pool>
Is it possible to manually derive Stake Pool Cold Keys from a Master Seed?
# Is it possible to manually derive Stake Pool Cold Keys from a Master Seed?

(Asked by: username_0 on 2021-12-25)

I am wondering if it is currently possible to manually derive stake pool cold keys using a low-level module like [cardano-addresses](https://github.com/input-output-hk/cardano-addresses). The idea behind this is to have a single master seed/mnemonic, downstream of which all other key paths (staking, payment, node management, etc) lie. In other words, is `cardano-cli node key-gen` currently the only command to create the cold keys, or is there another way?

[CIP-1853](https://cips.cardano.org/cips/cip1853/) talks about such specifications, but I'm not sure if they are already implemented or if they can be manually implemented.

Thanks in advance!

**Tags:** stake-pool

---

## 1 answers

### Answer by username_1 on 2022-01-11. Score: 2 | Accepted answer

Like other keys on cardano, a stakepool cold key is just a bunch of random bytes from the protocol's perspective. While it's highly recommended to be interoperable amount tools to use reserved derivation paths to generate keys, from a technical perspective it isn't necessary and you could make up any derivation path and extract the key using cardano-addresses, and then store the CBOR encoded key in a text file.

That being said, I'd highly recommend utilizing the CIP-1853 derivation path.

> **Comments:**
> **username_0**: My question was more along the lines of - is it technically feasible to do this? Based on your answer I suppose it is - I'll have to give it a try on testnet and report back.  
> **username_1**: Yes, it's feasible. I have a pool on testnet utilizing CIP 1853. Only reason mainnet pool doesn't is changing the cold key would result in a new pool and needing to retire the old one. I highly recommend 1853 for any new pools.  

---

