Ready To Sign?
COLDCARD® provides a highly secure method to sign Partially Signed Bitcoin Transactions (PSBTs) generated by external wallets. Designed with security as the top priority, your private keys are kept completely offline, safeguarding them from potential threats.
Before signing any PSBT, the COLDCARD presents a detailed breakdown. This allows you to review every element of the transaction with precision. Additionally, it includes built-in checks to help protect you from potential issues or fraud, such as unusually high fees or suspicious change addresses. This transparent review process ensures you are fully aware of exactly what you’re signing.
Create PSBT#
The first step to sending Bitcoin is to create a PSBT. Building a PSBT requires the use of a compatible external wallet, like Sparrow or Nunchuk. Take a moment to think about which transfer method you intend to use to provide the PSBT to the COLDCARD for review and signing, and be sure the wallet you are using to make the transaction supports it.
Use the dropdown below if you need help building a PSBT. There you'll find guides for creating, signing, and broadcasting PSBTs using a variety of popular wallets, COLDCARD models, and import methods.
Create, Sign, and Broadcast PSBTs
- Video Guides:
- Mk4 + Sparrow With SD Card: Create, Sign and Broadcast PSBT
- Q + Nunchuk via NFC: Create, Sign and Broadcast PSBT
- Mk4 + Nunchuk Over NFC: Create, Sign and Broadcast PSBT
- Q + Sparrow Using QR Codes: Create, Sign and Broadcast PSBT
- Q + Nunchuk via QR Codes: Create, Sign and Broadcast PSBT
- Mk3 + Nunchuk With Virtual Disk: Create, Sign and Broadcast PSBT
- Mk3 + Electrum With SD Card: Create, Sign and Broadcast PSBT
- Mk3 + Blue Wallet Using SD Card: Create, Sign and Broadcast PSBT
- Mk4 + BTCPay Server via SD Card: Create, Sign and Broadcast PSBT
- Text Guides:
Import PSBT#
Once PSBTs have been created on the external wallet, they will need to be transferred to the COLDCARD for review and signing. There are multiple ways to accomplish this, depending on user preference and the capabilities of your external wallet.
The COLDCARD supports the following transfer methods: SD card, Virtual Disk (if enabled), NFC (if activated), or QR code (Q only). If you would like to batch sign multiple PSBTs in one session, then you must choose SD card or Virtual Disk.
Select your preferred means of transport below for the steps required.
Import PSBT With SD Card
-
Using Sparrow, have the transaction view open.
-
Tap the keyboard shortcut
Ctrl + S
, or navigate toFile > Save PSBT
and then selectAs Binary...
orAs Base64...
from the menu bar. Save the PSBT to the SD card. The filename must end in the.psbt
extension (e.g.tx-1.psbt
).- If you would like to batch sign more than one PSBT in a single session, then repeat the process for each PSBT until they are all saved to the SD card.
-
Remove the SD card from the computer and insert it into your COLDCARD (Slot A on the Q).
-
On the COLDCARD, choose
Ready To Sign
from the Main Menu.-
If you only have one PSBT on your SD card, you will be taken directly to the PSBT for review. You can move on to the Sign PSBT section.
-
If you have more than one PSBT on your SD card, you will be given a list of PSBTs to choose from along with the option
[Sign All]
.-
To sign a single PSBT, select it from the list and go to the Sign PSBT section.
-
To batch sign all the PSBTs, click
[Sign All]
and move on to the section: Batch Sign PSBTs.
-
-
Import PSBT via Virtual Disk
-
Enable the Virtual Disk on your COLDCARD by heading to:
Settings > Hardware On/Off >
Virtual Disk
, then choose Enable or Enable & Auto.- If you have ever disabled the USB port, you must turn it back on to use the Virtual Disk. Go to:
Settings >
Hardware On/Off > USB Port > Default On
.
- If you have ever disabled the USB port, you must turn it back on to use the Virtual Disk. Go to:
-
Connect the COLDCARD to the computer via USB.
-
Using Sparrow, have the transaction view open.
-
Then you can use the shortcut
Ctrl + S
, or selectFile > Save PSBT
and chooseAs Binary...
orAs Base64...
from the menu bar. Save the PSBT to the Virtual Disk, being sure to use the.psbt
extension in the filename (e.g.tx-1.psbt
).-
If you chose
Enable & Auto
for your Virtual Disk mode, the COLDCARD will initiate the signing process immediately. Jump to the Sign PSBT steps to learn more. -
If you intend to batch sign multiple PSBTs at one time, then repeat steps 1 to 4 for each PSBT until they're all on the Virtual Disk.
-
-
At this point the PSBT(s) are on the COLDCARD. To access them, make sure no SD card is inserted (Slot A on the Q), and select
Ready To Sign
from the Main Menu. -
Press 2 to choose the Virtual Disk.
-
If you only have one PSBT on your SD card, you will be taken directly to the PSBT for review. You can move on to the Sign PSBT section.
-
If you have more than one PSBT on your SD card, you will be given a list of PSBTs to choose from along with the option
[Sign All]
.-
To sign a single PSBT, select it from the list and go to the Sign PSBT section.
-
To batch sign all the PSBTs, pick
[Sign All]
and move on to the section: Batch Sign PSBTs.
-
-
Import PSBT Over NFC
-
Activate the NFC hardware on the COLDCARD, go to:
Settings > Hardware On/Off > NFC Sharing >
Enable NFC
. -
In Nunchuk, go to the transaction details of the PSBT you want to sign.
-
Click on
Sign
. -
Select
Export transaction
. -
The phone is ready to transfer the transaction over NFC.
-
On the COLDCARD, navigate to
Advanced/Tools > NFC Tools > Sign PSBT
. -
Hold the phone to the COLDCARD to transfer the transaction. Go to the Sign PSBT section to learn more about the next steps.
Import PSBT by QR Code (Q Only)
-
Using Sparrow, have the finalized PSBT open.
-
From the menu bar, select
File > Show PSBT as QR...
. -
At the bottom of the QR screen, click
Show BBQr
. -
On the COLDCARD, hit the QR key to initiate the scanner.
-
Scan the QR code from Sparrow to import the transaction to the COLDCARD. For the next steps of the signing process move to the Sign PSBT section.
Sign PSBT#
This section guides you through signing PSBTs on your COLDCARD. You can sign a single PSBT or multiple PSBTs in a batch. Regardless of how many PSBTs you're signing, you’ll always be given a chance to review each transaction’s details individually on the device’s screen and confirm the information to ensure security and accuracy.
Steps to Sign a PSBT
-
The first step in signing a PSBT is to review all the details of your transaction and make sure they are correct. A breakdown of these details along with possible warnings will be explained in the section: Transaction Review.
-
If everything in the PSBT is accurate, hit OK/ENTER to sign and finalize the transaction. Or press B on the Q to sign, finalize, and save to the SD card in Slot B.
If you DO NOT recognize some part of the transaction DO NOT sign!
Press X/CANCEL to abort signing and read the bullet points below.
-
In any case where you must abort signing due to incorrect information, you should delete the PSBT from your SD card or Virtual Disk (if you used one of those methods). Return to your external wallet and review the details of the transaction there. You may have to re-create the PSBT, and/or re-import it to the COLDCARD, and start over at step 1.
-
If you continually get incorrect PSBTs, you should try using another external wallet, and on a different device if possible.
-
-
The COLDCARD will initially use the same method for exporting the finalized PSBT as you used to import it. Therefore, if you used an SD card (Slot A on the Q) or the Virtual Disk, the signed PSBT will be saved back there. If you used NFC or QR, the COLDCARD will begin transmitting the signed transaction using the same method.
-
If Delete PSBTs is enabled, the un-signed PSBT file will be deleted and the signed PSBT will have its filename changed to:
<TXID>.txn
. -
All of the alternative export options are available to you by following the on-screen instructions. If the COLDCARD automatically started to broadcast over NFC or QR, you will have to press X/CANCEL first, then the other options will be present.
-
-
If you have NFC Push TX enabled, the COLDCARD will begin to send the signed transaction over NFC. Tap your NFC-enabled phone to the COLDCARD to broadcast the transaction, and you're done!
- To learn more, go to the NFC Push TX section.
- For a walkthrough of manually broadcasting the signed PSBT, head to the Broadcast PSBT section.
Batch Sign PSBTs#
There may be situations where you wish to create multiple PSBTs and sign them all in a single session. The COLDCARD streamlines this process by signing, and possibly broadcasting, multiple PSBT files in batches.
Steps to Batch Sign PSBTs
-
After selecting
[Sign All]
during the import of your PSBTs, you'll be shown the filename of the first PSBT to be signed. Press OK/ENTER to review the details, 1 to skip this PSBT, or X/CANCEL to quit the entire process. -
Once you hit OK/ENTER you'll be taken to review the transaction. Look through your PSBT to ensure the transaction is correct. For more information about this step, including possible warnings and alerts, see the Transaction Review section.
-
Once you have verified that the transaction is correct, press OK/ENTER to sign. Use B on the Q to sign and save to an SD card in Slot B.
If you DO NOT recognize some part of the transaction DO NOT sign!
Press X/CANCEL to abort signing and read the bullet points below.
-
In cases where you must abort signing, the COLDCARD will move on to the next PSBT. Go back to step 5 and follow along from there.
-
When you finish signing all the good PSBTs, be sure to delete the bad ones from your SD card or Virtual Disk. Return to your external wallet and re-create the transactions.
-
-
A finalized PSBT will be saved to the same place the unsigned PSBT was read from, either the SD card or the Virtual Disk. You can also export using any other supported method by following the on-screen instructions.
-
If Delete PSBTs is enabled, the un-signed PSBT file will be deleted and the signed PSBT will have its filename changed to:
<TXID>.txn
. -
If you have NFC Push TX enabled, the COLDCARD will begin to broadcast the signed PSBT over NFC. After you tap an NFC enabled phone to the COLDCARD and successfully broadcast your transaction, press X/CANCEL to move on. For more information see the NFC Push TX section.
-
-
Tap OK/ENTER to move on to the next PSBT. Repeat steps 1 to 4 until all of your PSBT files have been signed.
-
If you have NFC Push Tx enabled, then all of your transactions should have been signed and broadcasted. You are finished!
- For detailed instructions on manually broadcasting the PSBTs, head to the section: Broadcast PSBT.
Transaction Review#
The ability to review every aspect of a transaction is a critical component of the COLDCARD security model, allowing users to thoroughly review the details of a PSBT before signing. Displayed directly on the device’s screen, you are presented key information such as input and output amounts, transaction fees, destination addresses, and change addresses. Also included is special handling for larger transactions and warnings for potential issues like high fees or fraudulent change addresses.
By enabling users to navigate and verify every aspect of a transaction using only the COLDCARD, this empowers secure decision-making, rendering it an essential step in the signing process.
Transaction Review Breakdown
Transaction Summary#
Displays all the information found in the PSBT so you can review and verify the transaction.
- Sending: Total amount of Bitcoin that will be sent (some may be coming back to you as change).
- This will change to Consolidating if sending only to addresses within your own wallet.
- Network fee: The Bitcoin network fee paid to miners.
- Inputs: Total number of UTXOs used for inputs.
- Outputs: Total number of destination and change addresses.
- Amounts and destination addresses: A list of Bitcoin amounts and the addresses they will be sent to.
- Change back: The total amount of Bitcoin coming back to you, and a list of the addresses that will receive it.
Warnings and Alerts#
The COLDCARD will alert you to potential issues with your PSBT, including locktimes, fee warnings, and fraudulent change addresses.
-
TX Locktimes: Any absolute or relative locktime found in a PSBT, either date or block height, will be prominently displayed.
-
High Fee Warning: If the network fee of a transaction exceeds 5% of the total value sent then you will receive a warning. The COLDCARD will still sign the PSBT if you wish.
-
Max Fee Failure: Attempting to view a PSBT that exceeds the Max Network Fee setting on the COLDCARD (default is 10% of total amount sent) will cause a failure.
-
Change Fraud: The COLDCARD will warn you if your PSBT is trying to use a change address that is not part of your wallet at the point when you attempt to sign it. Instead of signing, the COLDCARD will show you this warning and abort.
-
Wrong XFP: When dealing with multiple seeds, you may accidentally attempt to sign a PSBT with the wrong seed active. In that case the COLDCARD will let you know that the PSBT is not intended for this seed.
-
Sighash: Exotic signature hashes will emit warning
Large Transactions#
Any PSBT with more than 10 outputs is considered a large transaction. Only the 10 biggest outputs (by nValue) will be shown, along with a summary of the Bitcoin amount and number of outputs in the PSBT.
-
To explore all the outputs in the transaction you can hit 2. This will take you to the transaction output explorer where all outgoing addresses, amounts, and whether they are change can be verified.
- The outputs are presented in groups. Use the RIGHT or LEFT keys to move between groups. When you are finished checking the outputs, you can hit X/CANCEL and return to the
OK TO SEND?
screen.
- The outputs are presented in groups. Use the RIGHT or LEFT keys to move between groups. When you are finished checking the outputs, you can hit X/CANCEL and return to the
Broadcast PSBT#
After signing your PSBT, your transaction needs to be broadcasted using an Internet connected device. This step ensures that your transaction is propagated across the Bitcoin network, verified by miners, and included in the blockchain. COLDCARD offers a number of options for moving the signed PSBT to your external wallet for broadcast:
-
SD Card or Virtual Disk: You can use an external wallet, such as Sparrow, on a computer to broadcast the transaction.
-
NFC: Tap an NFC-enabled phone using a Bitcoin wallet, like Nunchuk, that supports NFC.
-
QR (Q Only): Scan the QR code with an external wallet that supports QR transactions.
If you have enabled the NFC Push Tx feature on your COLDCARD, broadcasting occurs automatically by tapping an NFC-enabled phone with Internet access, you can learn more in the NFC Push TX section.
Broadcast PSBT via SD Card or Virtual Disk
-
Connect your SD card, or the COLDCARD's Virtual Disk, to a computer with Sparrow installed.
-
With Sparrow, open the PSBT file using the keyboard shortcut:
Ctrl+F
, or navigate to:File >
Open Transaction > File...
. -
Select all the finalized transactions that you would like to broadcast.
-
Each transaction will open as a separate tab in Sparrow.
-
On each transaction tab, click
Broadcast Transaction
. Once you have done this for each of your transactions you are finished!
Broadcast PSBT With NFC
-
If you've come here after following the Sign PSBT steps, then you should have the signed PSBT transmitting over NFC on your COLDCARD already.
-
Alternatively, you can select any signed PSBT for broadcast by heading to:
Advanced/Tools >
NFC Tools > File Share
on the MK4, or pressing the NFC key and then selectFile Share
on the Q. Then select a signed PSBT (not final).
-
-
Again, if you've been following along with the steps, the Nunchuk wallet on your phone should be ready to receive the signed PSBT over NFC.
-
In case your Nunchuk wallet is not ready to receive the signed PSBT via NFC, you can choose the un-signed transaction from your wallet to open it. Next click
Sign
, and pickImport signature
. Now the phone is ready to receive the signed PSBT over NFC.
-
-
Tap your COLDCARD to the phone.
-
If you come across issues using NFC to send the PSBT, tap X/CANCEL on the COLDCARD to stop the transfer. Then follow to on-screen instructions to re-export with another method. Use the steps for the alternative method to broadcast the transaction.
-
-
The transaction is ready to be sent to the Bitcoin network. Hit the
Broadcast transaction
button and you're done!
Broadcast PSBT Using QR (Q Only)
-
If you're here directly after signing a PSBT, then you most likely have the QR of the signed PSBT on the screen of your COLDCARD, ready to scan with the external wallet.
-
Another way to show your signed PSBT in a QR is to navigate to:
Advanced/Tools >
File Management > Qr File Share
and select the signed PSBT (not final) that you would like to broadcast.
-
-
Using Sparrow, have your COLDCARD wallet and the transaction you're broadcasting both open. If you've been following along since the Sign PSBT section, then it's most likely still on the QR scan screen of your PSBT.
-
If you need to open the PSBT, you can use the
Ctrl + F
shortcut, or go to:File >
Open Transaction > File ...
and choose the PSBT you are about to broadcast. ClickFinalize Transaction for Signing
.
-
-
Next, click the
Scan QR
button on Sparrow to start the camera. -
Scan the QR code from the COLDCARD.
-
If you have trouble scanning the QR code, hit CANCEL to re-export the PSBT using a different option. Follow the corresponding broadcast directions for the alternative method you choose.
-
-
Tap
Broadcast Transaction
to send the signed PSBT to the Bitcoin network, and you're done!
NFC Push TX#
NFC Push TX is a feature that simplifies the process of broadcasting your fully signed transaction. When turned on, you can broadcast a transaction directly after signing it by tapping an NFC-enabled phone to the COLDCARD. This tap action transfers a URL to your phone's browser, which contains the signed transaction data and points to a backend service that will broadcast the transaction to the Bitcoin network.
This method requires only a standard web browser on your phone, making it accessible and straightforward. You can choose from public services or host your own backend for increased privacy and control.
This section will guide you through enabling NFC Push TX, understanding how the feature operates, and ensuring that your transactions are broadcasted successfully.
Using NFC Push TX
-
First, NFC Sharing has to be enabled. Go to:
Settings > Hardware On/Off > NFC Sharing >
Enable NFC
. -
Next, NFC Push TX must be activated. Head to:
Settings > NFC Push TX
and choose a public service provider or enter a custom URL.Using a public service will leak your IP address and transaction details to the service provider.
You can use a VPN or Tor on your phone to hide your IP address, and/or run your own service.
-
Follow the steps in Sign PSBT, or Batch Sign PSBTs, up to the point where the transaction is signed.
-
Immediately after signing the transaction, the COLDCARD will begin to transmit a URL that contains the fully signed transaction with NFC.
-
Tap an NFC-enabled phone to the COLDCARD.
-
A browser will open directly to a page that will immediately start broadcasting your transaction. Upon successful broadcast you are finished!
-
For any reason you can re-export your signed PSBT from the COLDCARD by pressing X/CANCEL to stop the NFC transfer. Then use the on-screen instructions to select another export option.
-
For instructions on manually broadcasting PSBTs see the Broadcast PSBT section.
-