Hadn't seen much talk about this - but a native GUI flow for PSBTs (Partially Signed Bitcoin Transactions) was added to Bitcoin Core v0.21.0.

What does this mean?

You can have an easy air-gapped cold storage solution with just @COLDCARDwallet and core.

Let's take a look 👇👇👇
This will assume you've already downloaded and installed Bitcoin Core and synced the blockchain (a different tutorial on that another time).

Click the create a new wallet button - or if you already have a wallet and want to create a new one - go to File > Create Wallet
Enter the name of your wallet and make sure to click "disable private keys" which will in turn select "make blank wallet" as well.

This will create your wallet as watch-only - since you will be using a hardware device to sign.

Once complete your empty wallet should appear.
Next - we need to export your wallet from your @COLDCARDwallet

Pin into your device and then go down the following menu path:

Advanced > MicroSD card > Export Wallet > Bitcoin Core
Click Bitcoin Core and your device will generate a wallet file onto the MicroSD card called bitcoin-core.txt
Plug your microSD back into your computer, open up the bitcoin-core.txt file and copy the "importmulti" command completely.
Open up the console in Bitcoin Core by going to Window > Console in the top menu.

Now paste the importmulti command into the console.

*NOTE: if you have more than one wallet - make sure the correct one is chosen in the drop down before you execute the command.

Hit enter.
You should see a success output. So what does this mean?

You've now imported your wallet into Core. It's watch only and when you generate new addresses they will be addresses for your cold storage.

Now that your wallet is set up - let's send a PSBT.
When you send you will fill out the details (to address, amount, fee) like normal.

When you're ready - hit the "Create Unsigned" button.

It will have you review the transaction again. Hit "Create Unsigned" again.
The transaction will be saved to the clipboard and a window pops up with the option to save to file.

Save the PSBT to your microSD card. It will have a ".psbt" extension.
Now we go back to the ColdCard to sign like normal. Put the microSD card into your device and PIN in if needed.

Click Ready To Sign, then review the transaction.

When you're ready click Ok.

The device will say "PSBT Signed" and give the file name of the signed transaction.
Plug your microSD card back to your computer. On the Bitcoin Core top menu go to File > Load PSBT from file...

select the transaction that ends with -signed.psbt
A window pops up saying the transaction is ready for broadcast with the info to review.

When you're ready click "Broadcast Tx"

It will update to say that it's broadcasted successfully and give you a transaction id.
So why is this important? PSBT has been supported by core for a while but without a native GUI component.

IMO this makes it far more accessible to where now most users can be:

-using an air-gapped hardware wallet
-validating their own transactions
-trusting no one
Obviously there are great tools that help allow this already like @SpecterWallet , @bluewalletio , @ElectrumWallet , etc that provide additional functionality that this setup doesn't.

But any feature that helps more people run nodes and USE THEM with their wallets is big IMO
This change makes it easier than ever, and because it's integrated into core - may push more people to validate their own transactions.

Let me know if you guys like these tutorial tweet threads or if they're annoying lol. Hit me up if you have questions. 👍
You can follow @mattderron.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.