Why might I be getting this MissingVKeyWitnessesUTXOW error?


When I try to register a stakepool by sending a tx to the blockchain, by running

cardano-cli shelley transaction submit --tx-file tx.signed --mainnet

I get the following error:

Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (MissingVKeyWitnessesUTXOW (WitHashes (fromList [KeyHash “beedxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”]))))]

Why would that be?


Hi Diego,

This means you failed to sign the transaction with one or more of skeys corresponding to a vkey used in the transaction.

For stake pool registration, you will want to sign the transaction with skeys for the payment address paying for the transaction, all stake address being assigned either as rewards account or owner account (each delegation certificate), and the pool cold key.

This is an example of how to sign a pool registration having separate rewards and pledge addresses:

cardano-cli shelley transaction sign /
–tx-body-file pooltx.raw /
–signing-key-file payment.skey /
–signing-key-file stake.skey /
–signing-key-file pledge-stake.skey /
–signing-key-file cold.skey /
–mainnet /
–out-file pooltx.signed

Your friend, FROG

@ADAfrog I have the same problem.

I’m trying to update my stake pool to have multiple owners, and an operator.

I did include --signing-key-file values for all accounts. How can I find out what is missing from value xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ?

Shelley command failed: transaction submit Error: Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (MissingVKeyWitnessesUTXOW (WitHashes (fromList [KeyHash “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”]))))]

Problem solved: I found out the --signing-key-file I used for the transaction payment was causing the error and not associated with the payment address.

Thanks for rubber ducking