To successfully create and register a stake pool, we are require to generate:

  • Payment keys and address
  • Stake keys and address
  • Stake pool cold key
  • Stake pool hot key
  • Stake pool VRF key
  • Stake pool operational certificate

We can do all this using cardano-cli.

Is it possible to do it using https://github.com/Emurgo/cardano-serialization-lib as well?

2 Answers 2


Check out this link about generating keys: https://developers.cardano.org/docs/get-started/cardano-serialization-lib/generating-keys


No, it's not possible at the moment.

I have found this commit of the cardano-multiplatform-lib that starts giving some support for these kind of tasks related to generating different types of certificates (stake pool ones included):


The PR is in progress yet. We will need to wait a little more for dcSpark team, in order to have full support for this feature.

In the meanwhile, I suggest using cardanocli-js to generate stake pool certificates.

Like this:

const CardanocliJs = require("cardanocli-js");

const shelleyGenesisPath = "/path/to/your/testnet-shelley-genesis.json";
const options = {
  network: "testnet-magic 1097911063"

const cardanocliJs = new CardanocliJs(options);

const nodeKeyGenKES = cardanocliJs.nodeKeyGenKES(stakePoolName);
const nodeKeyGen = cardanocliJs.nodeKeyGen(stakePoolName);
const nodeOperationalCert = cardanocliJs.nodeIssueOpCert(stakePoolName);
const vrfKeyAccount = cardanocliJs.nodeKeyGenVRF(stakePoolName);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.