I am playing around with cardano-wallet key derivation, and I have a mnemonic from which I've derived the root key, as well as account 0 public/private keys. Then, I imported a wallet using cardano-wallet using the account extended verification key running the following command:

cardano-wallet wallet create from-public-key <WALLET_NAME> <EXTENDED_KEY><CHAIN_CODE>

Once the wallet finished syncing, I found there was some tADA in a few of the first addresses. I am now trying to create a transaction using cardano-wallet to spend the tADA. I run:

cardano-wallet transaction create <WALLET_ID> --payment 1000000@<RECIEVING_ADDRESS>

However, it then prompts me for a passphrase which I never set up, seeing as all I did was import the account public key. I try entering 10 random characters and it tells: I couldn't find a root private key for the given wallet: <WALLET_ID>. However, this operation requires that I do have such a key. Either there's no such wallet, or I don't fully own it

Is there any way I can import the root private key or (even better) the account extended signing key so that cardano-wallet can handle transaction creation for me, or do I need to manually derive private keys for each address?

1 Answer 1


There's no endpoint to do this in the wallet. If you import an account public key, it's assumed you'll be generating and signing the tx offline and only using the wallet to get the utxos needed to do so. There's no technical reason the wallet couldn't allow importing an account private key, it just doesn't have that functionality developed. If it's something you need, I'd recommend opening an issue on the GH repository (or submit a PR if you have the Haskell expertise to add it).

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.