A Complete Guide to the MultiBit Bitcoin Wallet

MultiBit

MultiBit is a popular Bitcoin wallet program that aims to combine fast startup times, a simplified feature set, and support for multiple languages.

This guide documents MultiBit through step-by-step examples written from the perspective of a reader new to both MultiBit and Bitcoin. Having access to a small amount of bitcoin will make the examples presented here easier to understand. Many purchase options are available; U.S. residents can even pay for bitcoin with cash at a bank teller.

MultiBit Classic and MultiBit HD

Work toward a new variant of MultiBit wallet, “MultiBit HD”, was recently announced. MultiBit HD implements the HD Wallet proposal found in wallets such as Electrum.

The MultiBit team has proposed that updates to the currently-available version of the software would continue to be released under the name “MultiBit Classic”. The information presented here applies to this version of MultiBit (0.5.17).

Installation

Download the installer for your operating system from the downloads page. “Signature” and “Verify” refer to security features that will be explained in a later article.

Installation on Windows

Double click on the MultiBit download.

MultiBit requires Java. If this software is not present on your computer, the installer will ask if you want to add it. Click “Yes” and follow the instructions on the Web page you're sent to. After Java has been installed, re-run the MultiBit download.

The installer will guide you through the rest of the installation.

Installation on Mac

Double click on the MultiBit download. Drag the MultiBit icon into your “Applicatoins” folder.

Installation on Ubuntu Linux

If downloading MultiBit from a browser, be sure to save the installer rather than trying to open it with a package manager.

MultiBit requires Java. Install it from the Ubuntu Software Center by searching for “openjdk”. Select “OpenJDK Java 7 Runtime”.

After downloading MultiBit and installing Java if needed, browse to your Downloads folder, right-click on the MultiBit installer and choose the “Properties” menu option. Click on the “Permissions” tab and check the “Execute” box, then close the window.

Execute box

Right-click again on the MultiBit download and select the “OpenJDK Java 7 Runtime” option. The installer will guide you from there. When installation is complete, MultiBit will be available from the “search your computer” button.

Receive a Payment

To send you funds, a payer requires your Bitcoin address. Under the “Request” tab, find the line of text beginning with a “1” and marked “Your address”. Copy this address to the system clipboard with the “Copy” button. Alternatively your receiving address QR code can be scanned by a handheld device.

Request Payment

Next, make a payment from the software or service currently hosting your funded wallet into your unfunded MultiBit wallet. For example, if you've bought through Localbitcoins, browse to your wallet there. Paste your MultiBit receiveing address into the field marked “Receiving bitcoin address”. Fill in an amount. For this example, transfer 0.001 bitcoin (1 mBTC, or about $0.64 at the current exchange rate). Enter your Localbitcoins password and click “Send from wallet”.

Localbitcoins send

Localbitcoins, like other exchanges, does not always send funds immediately. Delays of a few minutes are to be expected because transfers are often batched to minimize fees. In my tests, Localbitcoins took on average ten minutes to process a withdrawal.

Monitor Transactions

The “Transactions” tab lists all current and pending transactions. The “Status” of a newly-received, pending payment should be indicated with an empty circle.

Pending Transactions

As the Bitcoin network processes this new transaction, its status will be updated in the transactions listing. The network sends a confirmation once every ten minutes or so. MultiBit updates the transaction's status icon whenever a confirmation is received.

MultiBit considers transactions fully processed after receiving six confirmations. Processed transactions are designated with a green checkmark.

Processed payment

To view all available information about a transaction, click it, then click the “Show transaction details…” button.

Payment Details

Make a Payment

Begin a payment by clicking on the “Send” tab. Only two fields are required to make a payment: an address and an amount to send. The “Address” field accepts a Bitcoin address like the one used to receive funds. Amounts can be denominated in bitcoin (BTC), or local currency.

Fees must be accounted for in every transaction. For example, attempting to spend a wallet's entire balance results in an error message.

Payment Error

The network expects a transaction fee of 0.1 mBTC for every payment. To send this payment given the funds currently in my wallet (1 mBTC), I'll need to send 0.9 mBTC or less.

In this example, I'll make a 0.5 mBTC (0.0005 BTC) donation to Jimmy Wales in the hope that he will convince the Wikipedia board to accept Bitcoin donations. A “Label” helps for personal record keeping, but this information is not visible outside the current wallet. Clicking “Send” presents a dialog asking for confirmation. Clicking “Send” from that dialog broadcasts the payment to the network.

Completed Payment

Click on the “Transactions” tab to monitor the progress of a payment.

Sweep a Paper Wallet

Paper wallets are sometimes received as gifts from another Bitcoin user. Unfortunately, the procedure described here for securely importing paper wallets into MultiBit is complicated. If you received a paper wallet and simply want to spend it, consider using another Bitcoin wallet program - for example, Electrum.

The sweep procedure will consist of these steps:

  1. Add the paper wallet's private key to an import file.
  2. Create a new wallet called “Paper Wallet”.
  3. Import the paper wallet's private key into “Paper Wallet”
  4. Transfer the entire balance from “Paper Wallet”.
  5. Delete “Paper Wallet”

Before spending the funds on a paper wallet, the “private key” needs to be imported into a MultiBit wallet. This key usually begins with the number “5”, and is often marked with the words “private key”, “secret”, “redeem”, or “spend”.

Paper Wallet

Create a text file called import.key using a text-only editor such as Notepad. Copy the Wallet's private key and paste it into the first line. Add a space character, then add a timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). The timestamp should represent a time safely before the first payment into the wallet was made. This date can be obtained by entering the paper wallet's address into blockchain.info. An example file might look like this:

 
 
 
#sample multibit private key import file
5Jw4mJMfm6HySiqG5ndM1fYEiHZZNGpJqLr57qCptaU7JR6K5JX 2014-03-01T12:01:01Z

Unfortunately, mis-assigning the timestamp in an import file is both easy to do and can cause confusing MultiBit behavior. Should MultiBit not display balances as expected after importing a private key, see the Stuck Transactions section.

Next, we'll create a separate MultiBit wallet to hold the paper wallet funds. Begin by clicking the “New Wallet” button in the lower left of the main screen. When prompted for a filename, enter paper-wallet.wallet. Save the file to the default location by clicking “Save”.

The newly-created wallet should be empty. Rename it by double-clicking on “Your wallet description” and entering “Paper Wallet”.

MultiBit Paper Wallet

Next, import the paper wallet. Ensure that the wallet titled “Paper Wallet” is selected in the MultiBit “Wallets” section. Then select the Tools > Import Private Keys menu option from the main menu. Click the “Import from…” button and select the previously-created file called import.key.

After synchronization, you should see two wallets, one of which contains the balance of the newly-imported paper wallet. To avoid confusion, re-label the original MultiBit wallet as “Petty Cash”.

MultiBit Paper Wallet Imported

Next, transfer all funds from the wallet labeled “Paper Wallet” to the wallet labeled “Petty Cash”. Begin by copying the Request address from the “Petty Cash” wallet to the system clipboard. Activate “Paper Wallet” by clicking it, then click the “Send” tab. Paste the previously-copied “Petty Cash” address currently on the system clipboard. Enter an amount that will fully transfer funds from Paper Wallet when transaction fees are taken into account.

Because in this example the amount on “Paper Wallet” is 1 mBTC, the amount I'll transfer is 0.9 mBTC.

MultiBit Paper Wallet Transfer

After sending the transaction, “Paper Wallet” should have a zero balance. The balance of “Petty Cash” should reflect the transfer of “Paper Wallet” funds.

MultiBit Paper Wallet Transfer Post

At this point, it is safe to delete “Paper Wallet”. Click on it, then select the File > Close Wallet option from the main menu.

You might ask why an intermediate wallet (“Paper Wallet”) was used. Why not directly import the private key into the default wallet?

The answer has to do with change addresses. Leaving an imported private key in a MultiBit wallet makes it possible for bitcoin to be stolen in the future. As of version 0.5.17, MultiBit remained susceptible to this kind of theft. However, this concern may not apply if you only import private keys securely created by you.

Make a Backup

A backup enables the recovery of funds in the event that MultiBit's files are corrupted or accidentally deleted.

Begin a backup by selecting the Tools > Export Private Keys option from the main main. Select a convenient filename for the backup (in this case, petty-cash.key), and add a password for the file. Press the Export private keys button when you're ready continue.

Make Backup

Many instances of theft have been caused by MultBit users storing unencrypted backups to cloud storage. Anyone finding such a backup file can take the funds in your wallet - with or without access to your your computer. Add a secure password to any backup of a wallet holding non-trival amounts of bitcoin.

Restore a Backup

Simply making a backup does not guarantee safety of your money - you'll need to ensure that you can restore the backup should the need arise. Unfortunately, testing backup recovery is not easy in MultiBit. The next two paragraphs describe a procedure to simulate a clean MultiBit installation. Use it only on a backed-up wallet containing a trivial amount of bitcoin, and only if you feel comfortable modifying system files.

The MultiBit data directory resides at an operating system-specific path that is also displayed at the top of the MultiBit main window. Default paths are:

  • Windows C:\Users\<UserName>\AppData\Roaming\MultiBit
  • Mac ~/Library/Application Support/MultiBit
  • Linux ~/MultiBit

Having found this data directory, close MultiBit. Next, delete the data directory. On restarting MultiBit, your previous wallet will have been replaced by a new, unfunded wallet. This ends the procedure for simulating a clean MultiBit installation.

Starting with a clean installation of MultiBit, the procedure for restoring a backup is similar to the one outlined under Sweep a Paper Wallet. The backup file plays the role of the manually-created import.key file.

From a newly-opened MultiBit Instance, select the Tools > Import Private Keys main menu option. Click the “Choose import file” button, browse to the location of your backup, and select the file. If the backup was encrypted, enter its password and click the “Unlock” button. If you enter the wrong password, MultiBit will respond with a message to that effect.

Import Private Keys

With the backup file selected and unlocked if necessary, click the “Import private keys” button. MultiBit will synchronize with the network, which could take a minute or two. When synchronization is complete, your wallet should be restored to its previous condition.

Security

The MultiBit wallets used so far have not been protected by a password. Without a password, anyone who can access your computer or read from your had drive can, in principle, steal bitcoin from the wallet. Adding a password makes such theft more difficult.

To add a password, select the File > Add a password option from the main menu.

Add a Password

Wallets protected by password behave differently than unprotected wallets. They must be unlocked before spending or backing up. They also display a lock icon in the wallet view. Recovery of a lost wallet password is for most practical purposes impossible, so it's important to choose a memorable and secure password.

Stuck Transactions

MultiBit payments sometimes fail to confirm. Symptoms might include:

  • an outgoing payment that never confirms, showing a square or triangle for well over an hour
  • incorrect balance is displayed

Should this happen, the recommended course of action is to use the reset feature, accessible through the Tools > Reset Blockchain and Transactions main menu option.

Reset Block Chain

Although this fix often solves the problem, there are cases in which it does not. For example, this condition can result from the use of an incorrectly-formatted paper wallet import file. As described in Sweep a Paper Wallet, care must be taken when assigning the timestamp for a private key. If the chosen timestamp occurs after the first transaction, MultiBit may persistently display an incorrect balance.

Should this problem arise, the solution is straightforward. Export the wallet's private keys, choosing the “Do not password protect export file” option. Open the exported file with a text editor, then sweep the private key into another wallet program.

Sign and Verify Messages

Sometimes it‘s helpful to prove to another party that you control an address, but without transferring funds. Imagine that a dispute arises between a buyer and a seller. The seller claims they were not paid. The buyer points to the block chain transaction, which shows a payment. The seller claims that the payment didn’t come from the buyer, but someone else.

The buyer and seller take the case before an arbiter. The arbiter asks the buyer to produce a message signed with the private key of the sending address in the block chain transaction. The buyer does so, the arbiter verifies the message, and the case is decided in favor of the buyer.

Message signing is done through the Tools > Sign Message main menu option. Enter the address to sign from and a message. Pressing the “Sign Message” button will create a signature which, together with the message, can be given as proof of control of an address.

Sign Message

Verify a signed message through the Tools > Verify Signed Message main menu option. Enter the address, message, and signature to verify. Then click the “Verify Message” button.

Verify Message

Currency Conversion

MultiBit automatically converts bitcoin to local currency. The default exchange rate is Bitstamp, but other exchange rates can also be used.

Conversion Detail

Changes to the exchange or currency used for these conversions can be made through the “Preferences” screen. Click on the name of the exchange to open it. After choosing options, click the “Apply changes” button.

Preferences

Wrapup

For most uses, MultiBit performs well as a simplified, fast-loading Bitcoin wallet. This guide covered the essentials every user should be familiar with: receiving funds; sending funds; backup/restore; and importing a paper wallet. Importing a paper wallet and backup/restore operations require more than beginner level computer skills, limiting MultiBit's usability somewhat. Nevertheless, MultiBit remains a popular, simple wallet that should be considered.

Mastering Bitcoin book cover

Comments