Extract private key from multibit-hd

I used this wallet for a long time. Since they dropped the development and didn’t really provide a good way to extract the private keys from the wallet, I had to find a hacky way to do it. Fortunately for me, someone else had already done this. However, I realise that this method might not be very easy for everyone, so I decided to fork the wallet and provide a patched compiled version that anyone can use to extract their keys. The instructions are the same as in the source link below.

Source for patch and instructions: https://bitcoin.stackexchange.com/questions/40507/how-can-you-extract-private-keys-from-multibit-hd/51297#51297

My patched fork: https://github.com/jra89/multibit-hd

Compiled jar: https://www.alcor.se/files/multibit-hd.jar

If you downloaded and used the compiled jar above, you can skip to step 4.

  1. Clone the MultiBit HD Git repository
  2. Apply the patch above
  3. Build the project: mvn clean dependency:sources install
  4. Start the application: java -jar mbhd-swing/target/multibit-hd.jar
  5. Go to Tools -> Sign message and enter a Bitcoin address from your wallet for which you want to recover the private key.
  6. Press finish.
  7. Read the Bitcoin address and corresponding private key from the console output

When you have the key you can import it in whatever client you have. Remember that different addresses in the wallet equals different private keys, so you will need to extract all of them via the “Sign” method in multibit-hd. If you can’t figure it out, leave a comment and I might be able to help.