Knowing the difference between importing a private key and sweeping it is important, especially if you use paper wallets.
When you import a private key, you’re simply adding it to the collection of private keys in your software wallet. If any bitcoins belong to the private key, they’ll now be included in your software wallet’s balance. But those bitcoins remain assigned to the private key: for instance, if you are importing a paper wallet, its bitcoins now exist on both the paper wallet and the software wallet. If anyone else gets their hands on that paper wallet’s private key, or have already had access to its private key, they can still spend its bitcoins. Additionally, any bitcoins sent to the paper wallet in the future will be credited both to the paper wallet and the software wallet.
Another important thing to keep in mind is that if any of the private key’s bitcoins are spent using the software wallet (i.e. making an online purchase), then the private key will be completely depleted of its bitcoins. Even if only a portion of its bitcoins are spent. This is because Bitcoin transactions spend the entire balance of a private key, and send any leftover change to a newly generated private key in the software wallet.
Importing can also lead to other issues, such as the need to re-backup your private keys when importing into a deterministic wallet.
When Should You Import a Private Key?
You should only do an import if you generated the private key (or paper wallet) yourself and no one else has ever, or will ever, have access to it. If someone else gave you the paper wallet, or its private key has been seen, or will be seen by other people, you should sweep it instead.
Sweeping a private key is the same as importing it, but with an extra step: all of the bitcoins belonging to the private key are sent to a new Bitcoin address on your software client. This is done via a Bitcoin transaction, so an internet connection is required to send out the transaction and complete the sweep. After the sweep is complete, the paper wallet is completely depleted of funds and all of the private key’s bitcoins now belong to a new private key in the software wallet.
Since sweeping involves sending a transaction (to yourself), a miner’s fee of 0.0001 BTC will usually be deducted from your balance. Depending on which client you use, this amount is optional or configurable.
When Should You Sweep a Private Key?
You should sweep a private key if someone else has or will ever have access to the private key (like if someone gave you a paper wallet or the private key was published online). This will prevent a thief from ever being able to spend the bitcoins associated with it, even if they have or ever get access to it. If the private key (or paper wallet) will be used again in the future then you can keep it and sweep its contents again once more bitcoins are sent to it.
If you’re still in doubt of whether to import or sweep a private key, you should probably sweep it. It solves many of the issues that can arise from doing an import.
Which Software Clients Can Import and Sweep
Here’s a short list of software clients that have the built-in capability to import and/or sweep a private key.