Today I am going to teach you how to roll your own USB hardware wallet. As is the case with anything crypto related, this still requires you store a password somewhere. Also this isn't technically a hardware wallet, its a USB drive containing wallet software in a secure method.
This is far better than storing it on your laptop, and far cheaper than buying a hardware wallet. The cost is the same cost of a USB drive. In the event someone steals your USB device or somehow ends up forcing you to turn over the password to access the drive, your data is still protected!
This guide has three prerequisites:
This guide is specifically designed for windows users but all the software required works on MAC, Linux, or Windows.
Step 1 Install and Open VeraCrypt:
Install the VeraCrypt software and open. The instructions to install are straight forward so I did not include them in this guide. Its a simple matter of clicking to install, clicking next on any windows that appear, and waiting for the install to finish. After the software is installed it should be available in the windows applications menu. Just click to open.
You should see a window that looks like the following after it is opened.
The drive letter does not need to be selected as shown in the screenshot above, it actually does not matter one way or the other.
Step 2 Connect your USB drive:
After you have opened VeraCrypt software, disconnect from the internet and insert your USB drive.
Note anytime you are going to access this USB drive from now until the end of time, you should always disconnect from the internet first.
If you are going to spend the funds, disconnect from the internet, plugin the USB, copy the wallet files to your desktop, disconnect the USB, open the wallet from your desktop then reconnect to send. After sending delete all wallet files from your computer again.
This prevents anyone from accessing the drive, prevents people from using key-loggers to spy on your passwords when accessing your cryptocurrency, and prevents and in mos instances protects you from viruses.
Step 3 Create a volume:
After you have disconnected from the internet and inserted your USB drive, go back to the VeraCrypt software and click on "Create Volume". A window should popup that looks like the window displayed below.
As suggested from the screenshot you want to ensure "Create an encrypted file container" is selected and then click next.
The next screen that opens will look like the screen below.
On this screen you want to select a hidden VeraCrypt volume and again click on Next.
Do not select a Standard VeraCrypt volume. We are going to be creating an encrypted volume with a second hidden encrypted volume inside it for storing your Bitcoin wallet.
After clicking Next you should see the following window.
Again make sure you are following the screenshots exactly. On this window you want to ensure "normal mode" is selected and once again click on the next button.
At this point in your windows explorer you should open up your USB drive and right click and create a file. The name of the file can be absolutely anything at all and have any file extension you wish it to have.
For our example we named the file "volume.txt" however you may want to pick a name less obvious such a "family photos.jpg".
After you have created the file switch back to VeraCrypt software and you should be seeing the following screen.
You want to select the file you just created and then click next again. The next screen looks like the one below.
This step is very important. You want to select a triple encryption method that contains AES encryption. You can select either AES(Twofish(Serpent)) or Serpent(Twofish(AES)). Either will work perfectly. In our example we selected AES(Twofish(Serpent)).
After selecting the encryption method, select Test.
There should be 3 separate tests that are given to you.
Select Auto-Test All and ensure it shows passed. Click close and a second test should be present, and then a third. Make sure each test passes. If a test fails there is a problem and you should start the entire process again.
After all tests have passed upon clicking close you will be back at the encryption screen again.
This time you want to ensure SHA-512 is selected under the Hash Algorithm and then select Next.
At this point you want to select an amount of space for the drive to be. If you are using a 4GB drive, I recommend setting 1 GB to the encrypted outer drive. You can set this to as little or as much as you want, however you want to ensure its small enough that it doesn't consume the entire drive, and large enough that it can still contain another hidden drive as well as some extra files.
After setting the size as you see fit, click next.
Now you need to set a password for this drive. Ideally a password should be 20 characters or more, should contain letters, numbers, and special characters (special characters are shift+any number 1 through 0 from your keyboard).
As highlighted in our screenshot, if anyone is ever forcing you to hand over your password, THIS is the password you will want to give them. There will be a second password for a hidden volume created later on that you NEVER want to give anyone. Consider this password a first layer of protection based on deception.
After setting your password (and perhaps writing it down so you don't forget it) click on next.
At this point you need to move your mouse all over the screen. Keep moving it until the color of the "Randomness Collected From Mouse Movements" turns from red to orange and then green, then keep moving until the bar stops growing.
Then click on format.
Formatting may take some time so just be patient.
After formatting is complete, you have finished step 3 of creating a volume.
Step 4 Adding fake important information
As we created the volume in step three we told you this would be an outer layer of protection and that if ever forced to, this is the password you want to give up.
For this reason, you need to fill the drive with fake information that appears to be important.
Go ahead and click "Open Outer Volume" and a drive should open up with nothing in it.
You want to put stuff in the drive at this point. Photo of family, photos of receipts, old pay stubs, anything that appears to be important but isn't a big deal if someone finds it.
Fill it with tons and tons of data, the more the better just make sure you leave around 50 MB of space available.
After you have filled the drive with files, go ahead and click on the next button (close folders that are currently opened).
Step 5 Inner Hidden Volume
The screen above is what you should see after you have continued on from adding files. Nothing to do on this screen except hit the next button.
Once again you want to select a three part encryption option. Just as when creating the outer layer volume, you have two choices. Then select the SHA512 Hash Algorithm and click on next.
Despite our example showing 1000 MB you want to select 50 MB if you will only be storing a bitcoin wallet. For each wallet you intend to install on the device add another 25 MB to the total.
So if you are only storing bitcoin, select 50 MB. If you will also store an ethereum wallet select 75 MB.
It is important to your security to keep this as low as possible. The smaller it is the harder it is to detect that there is a hidden volume.
After setting the size go ahead and click next.
Once again you will be presented with a password screen. You should again select a password containing a minimum of 20 characters with letters, numbers, and special characters and you should store this in a location completely separate from the first password.
This password SHOULD NOT BE the same as the first password.
This password is the single most important password for you to keep track of and not let others ever find. Store it in a safe and bury it somewhere, store in a safety deposit box, or ideally just memorize it. Nothing is more important than this password.
After you have safely stored your password somewhere again click next.
One again keep moving your mouse all over your screen until the Randomness Collected from Mouse movements is green and full.
Then click format. This should only take a couple seconds this time.
When it is completely done, you have finished setting up the drive for storing your bitcoin. Close all open windows and proceed to the next step.
Step 6 Adding your Bitcoin Wallet
If you have not already downloaded a copy of Electrum standalone version, remove your USB drive, reconnect to the internet and download that file now. After downloading again disconnect from the internet, reconnect your USB drive and continue.
Once again open the VeraCrypt software. You should see the main screen.
This time select any drive letter displayed and "Select file". Enter your USB drive and select the file you named for the mount to be.
Next you want to click on Mount which should present you with a password box.
Enter your second password used for the hidden drive, and click on "ok". It can take a few minutes for this to get mounted, just have patience.
After it has mounted you will see it mounted on the drive letter you have chosen and should also be able to find it in windows explorer.
Open the drive letter you created by double clicking it. Now move your downloaded copy of electrum to that drive.
Next you want to double click electrum to open it. This can take a fair amount of time opening from your USB drive.
After it has opened you should be presented with the following window.
Click the "choose" button and enter the location for your drive and select the electrum file.
On your electrum screen you should see the following.
Now you want to modify the wallet filename so it says "default_wallet".
Then click next to create the wallet.
Select Standard Wallet and click next.
Select create new seed if you are creating a new wallet or I already have a seed if you are importing a wallet from an existing wallet. Then click Next again.
You can chose segwit or standard wallet on the next screen. I prefer segwit as its faster and cheaper, but its also not accepted in as many places online.
On the next screen is a copy of your keys. Copy these and create a text file in your drive to save them, then click next again.
You will be prompted to reenter your keys. Just copy them from your text file and paste them in and click next.
Now your new bitcoin wallet should be completely saved to your USB drive.
On the electrum screen click the addresses tab and copy any address and save it on your desktop in a text file.
Go back to the VeraCrypt screen and select dismount.
Now remove your USB drive.
If you have instances of bitcoin wallets on your computer, make sure you move all the wallet files to your USB drive, then remove all instances of any bitcoin software from your computer.
Reconnect to the internet
From now on you can give people the address you saved in a text document on your desktop.
You can access your coins from the USB drive at any time by opening the VeraCrypt software and mounting the hidden drive.
If you computer crashes just reinstall the VeraCrypt software again and it will always decrypt your USB drive.