DIY Bitcoin Hardware Wallet
This is a basic overview of how I used an old Android phone as a DIY Bitcoin hardware wallet. I will add all the things I talk about in this post to my list of things to write reviews about so that you get a more detailed look at each piece, but for now this is just an overview of the project. I decided to give this a go when I broke my Nexus 5 and upgraded to a Nexus 6. I ended up replacing the screen on the Nexus 5 extremely cheaply and really didn’t have anything to do with the phone once I repaired it. I figured it might make a really cool Bitcoin hardware wallet. Sort of like my Backup Capsules, there are better ways of doing all this, but I wanted to add this to my Bitcoin projects based on what someone may have at hand. I’m putting it out there so people can have it as an option.
First, you need an old phone you’re not going to use for anything else. You’re not even going to connect this phone to wi-fi. This is going to be a completely offline Bitcoin computer only. As I said, I had one laying around, but older phones and off-brand phones sell very cheap used. I recommend something that’s Android 4.0 or better. If you don’t have one laying around, you can always grab a cheap one from Amazon or Swappa. This LG Optimus Exceed 2 on Amazon would be great and it’s going for $45 at the time of writing. That’s not much more than the price of a Ledger Nano and less than half the price of a Trezor. And by the time we’re done, it’ll actually be more functional!
While you’re out shopping for a phone you may need a few things that could come in handy later. One would be a micro SD card reader (http://amzn.to/1L4IkOm) that can hook to your phone for on-the-go purposes. I’m not sure if the phone I linked above has OTG capabilities, but it does have a microSD card slot, so you can put the card directly into the phone itself. You’ll need a microSD card, of course. You don’t need anything too outrageous in size. If you look at my Backup Capsules post I found some cheap ones in a pack with a card reader that can hook to your computer.
You’ll also need a few pieces of software for this project:
- APK Backup & Restore, a program for backing up Android software.
- Bither, open source Bitcoin wallet software. Or directly from their website.
- Bitcoin Paper Wallet, also open source.
- Docs To Go, an office suite that doesn’t run on the cloud.
Some other software to consider would be:
Now you have your phone and your software. Boot up the phone. Skip account creation and such. Because you’re not going to use it for calls or online you don’t need an account at all. Once the phone boots immediately put it into airplane mode. There it shall remain forever. You won’t need Android updates because it’s not going to be online. You won’t need software updates through the store because you’re going to air gap that process.
Go through the settings. Put in passwords. Turn on the screen lock. Set a PIN. Do whatever you need to do to secure this phone as much as you can. I would even go so far as to turn off the USB data (set to charge only) once you get done with the steps I’ll outline below, but you need it on for now. It will be a hassle to turn on and off when you want to do the steps below in the future, but it may save you if someone steals your phone and tries to siphon data.
Install the software I listed above on your main phone. Back up the APKs for them with APK Backup & Restore including the one for APK Backup & Restore. Put the backed up APKs onto one of the micro SD cards. Install that card in the offline phone or use the OTG adapter. Then install the APKs, starting with APK Backup & Restore. Any time you get a notice that there are updates to any of this software on your main phone you can go through this process again to get the new version to your offline phone. This air gap decreases the likelihood that you’ll introduce malware to your phone. Keeping your phone in Airplane mode decreases the likelihood that any malware that does get to your phone can do anything anyway.
Now, to explain the software you’re installing. These are basic overviews of the sofware and what they do. I will look into adding more detailed reviews of each piece at a later date.
Bither is a pretty cool mobile wallet. It has two modes which you get to select on install. One is Bither Hot and the other is Bither Cold. It creates a 2 of 3 multisig Bitcoin wallet. One is your main mobile phone (Hot), one is your offline mobile phone (Cold), and one is their servers. You can create cold storage wallets on your offline phone and monitor them with your main mobile phone. You would then use your main mobile phone to create transactions and you use your offline phone to sign them. The Bither servers are only used in case you lose one or the other of your phones and need to restore. I will make a note here that Bither is not the best mobile wallet, in my opinion, but it is the best at having a hot/cold implementation. This makes it unique in my book and well worth considering.
Bitcoin Paper Wallet is a really nice piece of software that I used for creating the password protected wallets I put in spreadsheets for my Backup Capsules. You can create paper wallets to store on your offline phone. Simply create a new one and put the data for it in a spreadsheet. Make sure that you only store the public address and the password protected private key, not the raw private key. If someone were to steal your spreadsheet they couldn’t use the keys without the password you used to encrypt them. It’s a 100% offline paper wallet generator. In fact, there’s no paper involved. You can scan the QR codes created by this software with your main mobile phone and send Bitcoin to them. You can later pull up those QR codes by pulling the data out of the spreadsheet and using this software to recreate them. When you pull it up just put in the password you used to encrypt the key, use the unencrypted wallet import format QR code, and scan it using your main mobile phone to sweep them to whatever wallet you wish.
Docs To Go is the office suite I personally used, but you can grab one you prefer. Again, make sure it’s not Google Sheets or any other cloud based office suite. You’re going to be running offline so cloud based apps won’t work. I mainly used this for spreadsheets, but you can use the office software for anything at all, really. Keep other notes, write a journal, or anything you want to keep offline and away from the world.
Don’t forget to back things up regularly. Bither creates backup files automatically, but they’ll be located on the phone. Back them up to the microSD card. Back up your encrypted spreadsheets. Back up the APK files you made in the steps above. Put any data you need to back up on the microSD card or preferably multiple cards and store them safely. If your phone gets stolen, if something goes wrong and you get a bad APK, or something installs incorrectly you’re going to wish you followed this step. If you have proper backups you should be able to buy another cheap phone and recreate this data or at least recover it using your main mobile phone and move to a different solution.
That’s my solution for a DIY Bitcoin Hardware Wallet using an old or cheap Android phone. It has a Bitcoin cold storage solution, a paper wallet generator, a paper wallet storage solution, and a backup solution all in one. If you grabbed the suggested software it would also have an offline password wallet, a file encryptor, and all the apps would be locked with a PIN. If you do it correctly it’s all encrypted, even the backups. It’s more functional than a Ledger or Trezor. It’s also cheaper if you already have a lot of the parts laying around. Give it a shot and let me know how it works out for you.