How to sign a message with a BIP38 encrypted paper wallet

Altough not so very common, it might be necessary to sign messages using only a paper wallet… Some people claim it’s impossible to do without compromising your key, and having to sweep your wallet.
However, i found a way to do it with minimal risk and exposure… Here’s how it works:


  • Find your bip38 encrypted paper wallets, place them on your table
  • Download the bitaddress sourcecode from
  • Download the latest working sourcecode (this is not the head branch) from
  • create a new textdocument using your favorite editor (gedit, notepad2, nodepad++, wordpad, nano, jed, vi,…), insert the message you want to sign in this textdocument and save
  • Disconnect from the internet (even reboot afterwards, make sure you are disconnected!!!)


  • While being disconnected, unzip the sourcecode of and
  • While being disconnected, open the of using a browser that is relatively safe (a fresh chrome, opera, firefox installation will probably do)
  • While being disconnected, in your browser, click on “wallet details”, manually copy the private key from your paper wallet in the “enter private key”-field, press “view details”
  • While being disconnected, you will see a new input field emerging, enter your bip38 passphrase
  • While being disconnected, open a new tab in which you open the index.html of
  • While being disconnected, at the top of this page, there is a “sign’-tab => click it
  • While being disconnected, copy the Private Key WIF from the tab to the tab’s private key field
  • While being disconnected, copy the message from your textdocument in the message-field, click “sign message”
  • While being disconnected, copy the signed message to your textdocument and save
  • close your browsers, close the text editor
  • reconnect to the internet… The saved message can be found in your text document 😉

Leave a Reply