Bitcoin Forum
January 02, 2026, 03:30:46 PM *
News: Latest Bitcoin Core release: 30.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Air-gapped Electrum Wallet to Air-gapped Coldcard-Q Privkey Migration Workflow  (Read 82 times)
matrix01 (OP)
Member
**
Offline Offline

Activity: 82
Merit: 36


View Profile
December 29, 2025, 05:01:34 AM
Last edit: December 29, 2025, 05:15:13 AM by matrix01
Merited by ABCbits (1)
 #1

Here is my workflow (as much as I understand) and I hope an Electrum Super User can fill in the gaps in my workflow which moves from left to right. At the left side beginning point I have a key list text file exported from my obsolete air-gapped signer PC. This text file contains legacy P2PKH Bitcoin Public Addresses, PrivBase58, and PrivHexBE data.  At the middle point of the workflow, I have setup an air-gapped Electrum Wallet version 4.6.2 AppImage to receive only the PrivBase58 and Address data stored in the exported key list text file data (PrivHexBE data excluded in migration).  And at the end of the workflow is an air-gapped Coldcard-Q wallet which receives unsigned transactions from the Electrum software and signs them. Once signed by the Coldcard-Q the transaction gets broadcasted to the BTC blockchain via a Start9 BTC node I have setup. Listed below are the workflow gaps I have I hope somebody out there can clarify:

  • Is it 100% mandatory I convert the PrivBase58 privkeys data in the text file over to a WIF (Wallet Import Format) format before importing into Electrum?   Google provides conflicting information on this matter. So, I am not 100% certain if I need to somehow convert all my PrivBase58 keys to a WIF format. If yes, what tool do I use to make this conversion over to WIF possible? And am I correct to exclude the PrivHexBE data from this migration workflow?
  • At the midpoint in the workflow my plan is to SWEEP the privKeys as opposed to IMPORT them into Electrum. This way I get new issued Privkeys and Public Addresses and I think this provides financial privacy benefits.  Is my sweeping provides better onchain financial privacy assumption correct or incorrect?  And how does my BTC remains spendable if I am getting issued new privkeys via this sweeping operation? In other words, what mechanism makes the BTC blockchain aware my old private keys have been replaced by new ones?
  • At the end point of the workflow, it is not clear to me if using a JSON file from the Coldcard-Q is the best option to use for transferring the unsigned Electrum Wallet transactions over to the Coldcard-Q for signing?  In short, I am not 100% on how I integrate the Coldcard-Q with the Electrum Wallet unsigned transactions so that once broadcasted my BTC remains spendable under new issued Privkeys and Public Bitcoin Addresses?

Lastly, can anybody point me to any great online written or video instructional material that explains this entire workflow for a newbie like me.  Thank you for your time.  
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8191


Self-proclaimed Genius


View Profile
December 29, 2025, 05:34:24 AM
 #2

  • Is it 100% mandatory I convert the PrivBase58 privkeys data in the text file over to a WIF (Wallet Import Format) format before importing into Electrum?   Google provides conflicting information on this matter. So, I am not 100% certain if I need to somehow convert all my PrivBase58 keys to a WIF format. If yes, what tool do I use to make this conversion over to WIF? Am I correct to exclude the PrivHexBE data from this migration workflow?
Those export labels look familiar. (I also saw you in Armory board)
I assume that those are from Armory; if so, those "PrivBase58" export are actually already WIF without uncompressed flag byte. (all start with '5', omit the spaces)
Electrum supports it and importing it will restore your legacy P2PKH addresses.

You can exclude those "PrivHexBE" since those are your private keys in bare HEX format.
But keep them safe.

  • At the midpoint in the workflow my plan is to SWEEP the privKeys as opposed to IMPORT them into Electrum. This way I get new issued Privkeys and Public Addresses and I think this provides financial privacy benefits.  Is my sweeping provides better onchain financial privacy assumption correct or incorrect?  And how does my BTC remains spendable if I am getting issued new privkeys via this sweeping operation? In other words, what mechanism makes the BTC blockchain aware my old private keys have been replaced by new ones?
If you have a lot of bitcoins, it's better to keep the workflow that involves your private keys completely offline.
Using Sweep will require the wallet to be online while typing the private keys.
Sweep is basically a simple transaction that sends all of the UTXO that the private keys can spend to a single address of the target wallet.
In terms of privacy, it's even worse since you can't use coin-control if you want to pick certain inputs plus it links all of your previous transactions to a single point.

If you want the same result while keeping the private keys offline, use my example in your first thread about "Cold-Storage" import and spending method.
You'll get the same result as Sweep since you will still send it to your new wallet with different private keys in the end (e.g. your ColdCard Q).

Regarding "coin-control" that you can do on the watch-only wallet, here's how: bitcoinelectrum.com/how-to-spend-specific-utxos-in-electrum (unofficial documentation)

  • At the end point of the workflow, it is not clear to me if using a JSON file from the Coldcard-Q is the best option to use for transferring the unsigned Electrum Wallet transactions over to the Coldcard-Q for signing?
I can't help much on this part since I'm not using a ColdCard-Q.
But they have an official tutorial for that:coldcard.com/docs/quick/#using-coldcard-offline-with-electrum

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
Abdussamad
Legendary
*
Offline Offline

Activity: 3897
Merit: 1680



View Profile
December 29, 2025, 09:15:18 AM
 #3

If you're using a hardware wallet then you have no need for an offline electrum setup. You also don't have to mess about with private keys.
matrix01 (OP)
Member
**
Offline Offline

Activity: 82
Merit: 36


View Profile
December 30, 2025, 05:37:52 AM
 #4

Nc50lc, thank you for your post. It’s great to see you in the Electrum board. I figured the Armory board was your board of choice considering your high level of Armory expertise.

Today I added all of the private keys I exported out of Armory to a spreadsheet running on an air-gapped/offline laptop setup with the Linux Mint OS and Electrum v4.6.2.  After reviewing the two spreadsheets I have encountered a new gap in the workflow I hope you can clarify.  I have a Test Wallet I deleted and Seed Phrase recovered for test purposes. This Test Wallet only holds around $50 in Sats and it shows 4 PrivBase58 keys if the “Include Unused (Address Pool)” box is left unticked. However, if the “Include Unused (Address Pool)” box is ticked the PrivBase58 key count for this Test Wallet goes up to 650 (which is a lot). So, this has me wondering which set of PrivBase58 keys do I push through my offline Electrum Wallet? Is it only the 4 keys or is it the 650 keys that only display when the “Include Unused (Address Pool)” box is ticked?  Additionally, I also have a Cold Storage Wallet with a lot more funds compared to the $50 my Test Wallet holds. However, this Cold Storage Wallet only shows a 24 PrivBase58 key count only if the “Include Unused (Address Pool)” box is ticked and shows a Zero PrivBase58 key count if the “Include Unused (Address Pool)” box is left unticked.  Therefore, for this Cold Storage Wallet I am assuming all 24 PrivBase58 keys need to be pushed through Electrum considering I am not being made to choose between pushing through Electrum 4 PrivBase58 keys or 650 PrivBase58 keys like my Test Wallet is making me choose.  My honest assumption was the PrivBase58 key count would be dependent to the amount of Bitcoins one owns. But I figure all of this has proved my assumption to be incorrect because the PriveKey58 count does not seem to be correlated to the amount of BTCs one owns.

As for Sweep vs. Import workflows my basic understanding of the two approaches is summarized below:
  • Sweep = Funds will be put into a new address with a new private key.
  • Import = Continues to exist in same private key and public address.

For this reason, I thought the Sweep approach did a better job of protecting your onchain financial privacy post migration.  However, I was not aware using the Sweep approach require I have the wallet be online while typing the private keys. And I also wasn't aware of "coin-control". I plan to read up on how "coin-control" works before I do anything.  Additionally, I have reviewed your post below several times:

https://bitcointalk.org/index.php?topic=5524213.msg64885706#msg64885706

Would it be too much trouble for you to modify your post so it integrates an air-gapped hardware wallet of your choice that you are familiar with?  I ask because this will most likely yield better results compared to what I was thinking of doing which was to study how your post at the link above integrates to the AI workflow content I got shown below. In your opinion do you think the AI workflow below is legit or do you think the AI is hallucinating with some of the content?  Thank you for your time.

MY AI PROMPT = How does one move private keys from an obsolete wallet over to a Coldcard-Q using Electrum software?

To move funds from an old wallet to your Coldcard-Q via Electrum, you'll import the old private keys into an Electrum wallet, create a watching-only version, then generate unsigned transactions for any needed movements to your Coldcard, sign them offline on the Coldcard, and broadcast. The most secure way involves exporting the Coldcard's wallet details (skeleton file) to an SD card for Electrum to read, then using Electrum to create transactions for the Coldcard to sign.

Method 1: Importing Keys into Electrum (Simpler)
1.   Get Keys from Old Wallet: Export private keys (WIF format) from your obsolete wallet (e.g., Bitcoin Core, another Electrum).
2.   Install Electrum: On your computer (preferably offline), install Electrum.
3.   Create New Wallet: Open Electrum, "Create New Wallet," and choose "Import Bitcoin addresses or private keys".
4.   Paste Keys: Paste your private keys, one per line. Add prefixes like p2wpkh-p2sh: for P2SH addresses (starting with '3') or p2wpkh: for native SegWit (starting with 'bc1') if needed.
5.   Create Signed Transactions: In your new Electrum wallet, create transactions to send funds to your Coldcard's receiving address. Save these as unsigned .txn files to an SD card.
6.   Sign on Coldcard: Insert the SD card into your Coldcard-Q, go to "Sign Transaction", load the .txn file, verify, and sign.
7.   Broadcast: Put the signed .txn file back on the computer and broadcast the transaction in Electrum.

Method 2: Using Coldcard Skeleton File (Recommended for Coldcard Integration)
1.   Export Skeleton from Coldcard: On your Coldcard-Q, go to Advanced/Tools > Export Wallet > Electrum Wallet. Save the new-electrum.json file to a MicroSD card (e.g., coldcard-export.json).
2.   Create Watch-Only Wallet in Electrum: Insert the SD card into your computer. In Electrum, create a new wallet, choose "Import Bitcoin addresses or Public Keys," and open the coldcard-export.json file. This creates a read-only wallet linked to your Coldcard.
3.   Import Old Wallet: Create another Electrum wallet (or use the same file if it's your primary) and import your old private keys as in Method 1.
4.   Create Transactions: In your old keys Electrum wallet, create transactions to send funds to addresses controlled by your Coldcard wallet (the watch-only one). Save these as unsigned .txn files.
5.   Sign & Broadcast: Sign these .txn files on the Coldcard-Q and broadcast from the Electrum instance connected to your Coldcard, following steps 6 & 7 from Method 1.

Key Security Tip: Always verify addresses and amounts on the physical Coldcard screen before confirming any transaction.
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8191


Self-proclaimed Genius


View Profile
December 30, 2025, 07:38:40 AM
 #5

So, this has me wondering which set of PrivBase58 keys do I push through my offline Electrum Wallet? Is it only the 4 keys or is it the 650 keys that only display when the “Include Unused (Address Pool)” box is ticked?
The thing with cold-storage Armory's unused keypool is: It wont be able to track accurately which are actually used without being synced.
It can still mark those keys that have been used to sign your transactions while offline as 'used', but AFAIK, it doesn't include the unpent change address's private key until its used to sign in the next transaction.
So, as a precaution, it's safer to import all of the unused keypool to make sure that you're importing all of your used private keys to Electrum.

As for Sweep vs. Import workflows my basic understanding of the two approaches is summarized below:
  • Sweep = Funds will be put into a new address with a new private key.
  • Import = Continues to exist in same private key and public address.
This is correct.
But, I recommend to import them to a cold-storage machine to be able to safely send all of your bitcoins to your Coldcard.
In then end, your bitcoin are still sent to a new address with a new private key. (directly to your Coldcard wallet's)

Plus, it's basically the same since Sweep is just a regular transaction that spends all UTXO and send it to the wallet that you used to sweep.
There isn't something special in the sweep process and it requires you to type/paste your private keys on the online machine.
Meanwhile, the workflow I recommend can send it to your Coldcard wallet without exposing the private keys to the internet.

MY AI PROMPT = How does one move private keys from an obsolete wallet over to a Coldcard-Q using Electrum software?
-snip-
Method 2: Using Coldcard Skeleton File (Recommended for Coldcard Integration)
This just includes the steps to create a ColdCard watch-only wallet to Electrum which is in their official doc link above.
The rest is the same as Method1.

Method 1: Importing Keys into Electrum (Simpler)
It doesn't taken in consideration that when importing the keys offline, Electrum wont be able to sync the wallet to populate your spendable UTXOs.
If done offline, it requires an online watch-only wallet containing your addresses in your "Addresses" tab.
Refer to my link in your other thread for the correct import cold-storage workflow.

Basically what I said in my previous post:
  • Import your private keys from Armory to your offline machine's Electrum
  • Import their derived addresses to your Online machine's Electrum
  • Create a PSBT in your watch-only wallet that sends (all of) your bitcoins to your Coldcard wallet.
    (refer to their official tutorial if you also want to use Electrum as Coldcard's watch-only wallet where you can get one of your address, you can open multiple instances of Electrum)
  • Export that transaction and import it to the offline machine.
  • In the offline Electrum, sign that PSBT, export that signed transaction and import it back to your online machine.
  • In the online Electrum, after importing the signed transaction, review it 3x, then click "broadcast" to send.
Refer to my link in your other thread for the screenshots.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
Abdussamad
Legendary
*
Offline Offline

Activity: 3897
Merit: 1680



View Profile
December 30, 2025, 09:46:29 AM
 #6

Quote
To move funds from an old wallet to your Coldcard-Q via Electrum, you'll import the old private keys into an Electrum wallet, create a watching-only version, then generate unsigned transactions for any needed movements to your Coldcard, sign them offline on the Coldcard, and broadcas

If the originating wallet is electrum you have to sign the transaction with electrum not coldcard.
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8191


Self-proclaimed Genius


View Profile
December 31, 2025, 04:44:37 AM
 #7

To move funds from an old wallet to your Coldcard-Q via Electrum, you'll import the old private keys into an Electrum wallet, create a watching-only version, then generate unsigned transactions for any needed movements to your Coldcard, sign them offline on the Coldcard, and broadcas
If the originating wallet is electrum you have to sign the transaction with electrum not coldcard.
I think that the AI mistaken his prompt containing "...using Electrum software" for both the obsolete wallet and Coldcard-Q and somehow mixed them together in the confusion.
And "obsolete wallet" is most likely the term that confused it since its not specific and the only named wallet in his prompt is Coldcard.

@matrix01
It's better not to rely nor even use it to ask for instructions since you'll likely get incomplete or inaccurate information from it.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
matrix01 (OP)
Member
**
Offline Offline

Activity: 82
Merit: 36


View Profile
December 31, 2025, 05:06:40 AM
 #8

Nc50lc, thank you for your post. Regarding your previous post six step summary. I am trying to apply it to my situation but to do this I need to ask some questions.

Quote
Import your private keys from Armory to your offline machine's Electrum
Import their derived addresses to your Online machine's Electrum
In my situation I only need to import the PrivBase58 keys and not include the Blockchain Public Address as part of the import into the air-gapped Electrum setup? Is this correct?

Quote
Create a PSBT in your watch-only wallet that sends (all of) your bitcoins to your Coldcard wallet.
(refer to their official tutorial if you also want to use Electrum as Coldcard's watch-only wallet where you can get one of your address, you can open multiple instances of Electrum)
Not clear what multiple instances of Electrum helps with. My understanding was Electrum allows pasting as much PrivBase58 data that is necessary into the Electrum Wallet single PrivBase58 field.

Quote
Export that transaction and import it to the offline machine
In my situation my offline machine is the air-gapped Linux Mint Laptop (#1 Device) I have setup with Electrum Wallet and stores all my PrivBase58 data as two spreadsheet files. Additionally, my Coldcard-Q (#2 Device) can also be thought of as an offline machine.  Are you referring to a different "offline machine"?

Quote
In the offline Electrum, sign that PSBT, export that signed transaction and import it back to your online machine.
Am  I correct to think what you refer to as "your online machine" equates to my #3 Device shown in my diagram below?


Below is a diagram of my new Cold Storage setup:

Code:
      #1 Device                       #2 Device                          #3 Device                            #4 Device
Air-Gapped Linux Mint
Laptop with Electrum   -----> Air-Gapped ColdCard-Q HW -----> Online LM PC with Sparrow Wallet  -----> Start9 Broadcast BTC Node.
installed & stores all                                                                                 Runs Bitcoin Knots, Electrs
PrivBase58 Data.                                                                                       and Mempool Space.

Lastly, my understanding was I need to setup a watch-only wallet between #2 Device and #3 Device. Are you also suggesting I also setup a watch-only wallet between #1 Device and #2 Device? 

Bear with me, but would it be too much trouble for you to modify your six steps so it correlates with my Cold Storage diagram shown above.  Thank you for your time.
matrix01 (OP)
Member
**
Offline Offline

Activity: 82
Merit: 36


View Profile
December 31, 2025, 05:10:30 AM
 #9

To move funds from an old wallet to your Coldcard-Q via Electrum, you'll import the old private keys into an Electrum wallet, create a watching-only version, then generate unsigned transactions for any needed movements to your Coldcard, sign them offline on the Coldcard, and broadcas
If the originating wallet is electrum you have to sign the transaction with electrum not coldcard.
I think that the AI mistaken his prompt containing "...using Electrum software" for both the obsolete wallet and Coldcard-Q and somehow mixed them together in the confusion.
And "obsolete wallet" is most likely the term that confused it since its not specific and the only named wallet in his prompt is Coldcard.

@matrix01
It's better not to rely nor even use it to ask for instructions since you'll likely get incomplete or inaccurate information from it.


Agree, I think the AI was hallucinating.
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8191


Self-proclaimed Genius


View Profile
December 31, 2025, 06:04:35 AM
 #10

Quote
Import your private keys from Armory to your offline machine's Electrum
Import their derived addresses to your Online machine's Electrum
In my situation I only need to import the PrivBase58 keys and not include the Blockchain Public Address as part of the import into the air-gapped Electrum setup? Is this correct?
Correct, Electrum will automatically derive your address which you can see in the 'Addresses' tab ("View->Show Addresses" to enable)

Quote from: matrix01
Not clear what multiple instances of Electrum helps with. My understanding was Electrum allows pasting as much PrivBase58 data that is necessary into the Electrum Wallet single PrivBase58 field.
It's if you want to use Electrum as your ColdCard watch-only wallet.
You can open an instance where ColdCard watch-only wallet is open to get a receiving address; (created from an exported "skeleton wallet")
While another instance is the watch-only wallet of your air-gap imported Electrum wallet to create a transaction that will send to it.

Quote from: matrix01
In my situation my offline machine is the air-gapped Linux Mint Laptop (#1 Device) I have setup with Electrum Wallet and stores all my PrivBase58 data as two spreadsheet files. Additionally, my Coldcard-Q (#2 Device) can also be thought of as an offline machine.  Are you referring to a different "offline machine"?
I'm usually specific on those, like for ColdCard-Q, I usually call it "Hardware Wallet" or specifically "Coldcard".
For "offline machine" it's your offline computer.

Quote from: matrix01
Am  I correct to think what you refer to as "your online machine" equates to my #3 Device shown in my diagram below?
-snip-
Lastly, my understanding was I need to setup a watch-only wallet between #2 Device and #3 Device. Are you also suggesting I also setup a watch-only wallet between #1 Device and #2 Device?
You'll only need 2 machines (computers): 1 Air-Gap and 1 Online.
You use the Air-Gap machine for your offline Electrum containing your prvKeys.
And the Online Machine for your watch-only Electrum containing your addresses; in the same online machine, another instance of Electrum or Sparrow with your Coldcard watch-only wallet.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
matrix01 (OP)
Member
**
Offline Offline

Activity: 82
Merit: 36


View Profile
January 01, 2026, 11:01:22 PM
 #11

Nc50lc, thank you for your post. To eliminate the high stress associated to performing this Armory to Electrum to Coldcard-Q private key migration task I have decided to first do a test run on the BTC Testnet4 blockchain which is a test environment. Fortunately, I was able to find a working BTC TestNet4 faucet to fund my “#1TestWallet” running on Electrum version 4.6.2 on my Linux Mint PC (#3 Device shown below).  I now have a fraction of zero value BTC which means I could practice this migration task without feeling as though I am walking on broken glass.  Cheesy



As a first step, I have exported all the private keys out of my Electrum “#1TestWallet” which resides on my Linux Mint PC (#3 Device shown above).  This generated a CSV file containing 34 rows of addresses and private keys that look like the example shown below:

Code:
tb1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5        p2wpkh:cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb
tb1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxm        p2wpkh:cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk

Compared to my private keys exported out of Armory the difference I see is these TestNet4 addresses begin with “tb1” text and the private keys begin with “p2wpkh” text. In contrast, Armory differs by showing a “1” and “PrivBase58” instead. I am assuming this is because my Armory privKey data is legacy P2PKH data which precedes the "p2wpkh" blockchain data standard.

As my next step I put the Key List CSV file onto a clean USB drive and moved the file over to my air-gapped Linux Mint Laptop (#1 Device shown above).  Here the plan is to paste all 34 p2wpkh private keys (excluding all “tb1” addresses) to the Electrum window field shown below.  But before I do that, I have the following questions:

  • Do these new TestNet4 “p2wpkh” private keys require conversion to the WIF format?  I ask because Armory PrivBase58 private keys do not require conversion to WIF as you mentioned previously. But I am not sure about this “p2wpkh” private key format.
  • If If yes, what tool is used for WIF conversion?
  • Is the "p2wpkh" prefix included as shown below? Or does the prefix need to be removed before pasting the data into the Electrum window field shown below?
  • Do all 34 keys get pasted in this field as a single group? Or is the correct approach to paste each key individually?
  • I ask because I am not sure if these different “p2wpkh” private keys follow stricter rules that prevent me from applying your approach where private keys can be sent to a new address with a new private key. Does applying your approach result in creating 34 individual Electrum Wallets in my air-gapped Linux Mint Laptop (#1 Device shown above)? I hope you can clarify that.



I have not done this yet, but after the private keys are pasted in the Electrum window field shown above and I select the "NEXT" button I am assuming Electrum makes me create a new wallet to store all these new “p2wpkh” private keys in.  Is this assumption correct?

Lastly, exactly how are the pasted “p2wpkh” private keys wrapped inside a new air-gapped Electrum wallet get migrated over to the ColdCard-Q considering they are in a "p2wpkh" format and not a legacy "P2PKH" format? I realize it is done via a MicroSD card between my air-gapped Linux Mint Laptop (#1 Device shown above) and my ColdCard-Q (#2 Device shown above). But what is not clear to me yet, is what form of data gets saved onto the MicroSD card?  And does this require I setup a Watch-Only Wallet between my air-gapped Linux Mint Laptop (#1 Device shown above) and my ColdCard-Q  (#2 Device shown above)?

Happy New Year to everybody in this forum and thank you for your time.


nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8191


Self-proclaimed Genius


View Profile
Today at 04:37:27 AM
 #12

-snip-
Those keys in your test csv file excluding the "p2wpkh:" prefix are also WIF (starts with "K" or "L"), but with compressed flag byte which is today's most commonly used format.
The "p2wpkh:" prefix is specific to Electrum that instructs the client to derive Native SegWit address from the private key, it's not actually part of the private key.
But without it, Electrum will derive legacy addresses from the prvKeys instead.
You can click the "Info" button near the text box where you type the private keys for the tool-tip.

Additionally, you don't have to use "p2pkh:" prefix in your Armory-exported prvKeys since uncompressed WIF isn't standard when used with SegWit scripts so it'll automatically derive legacy addresses from those.

Quote from: matrix01
  • Do all 34 keys get pasted in this field as a single group? Or is the correct approach to paste each key individually?
If you paste them all during new wallet creation with "Import Bitcoin Addresses or Private Keys" option: those will be all included in a single wallet that is tagged "Imported".
(for clarification: "wallet" isn't an "address", its something the manages your keys/addresses)
That type of wallet doesn't have master master key nor pre-generated private keys, only those that you've imported.
You can add more in "Wallet->Private keys->Import" menu. (it's grayed-out in other wallet types)

If you paste them individually, in a way that you create another wallet and go through all the steps again and paste just one: Each will be included in their specific wallet.

Quote from: matrix01
Lastly, exactly how are the pasted “p2wpkh” private keys wrapped inside a new air-gapped Electrum wallet get migrated over to the ColdCard-Q -snip-
Those will not be migrated over to your ColdCard. Those should stay in the Air-Gap machine.
You'll only use those to sign the transaction created in the online Electrum that sends all of your bitcoins to your Coldcard.
You can review my instructions above.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!