Bitcoin Forum
December 25, 2025, 08:13:20 PM *
News: Latest Bitcoin Core release: 30.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: My AirGapped Armory is not generating Private Keys  (Read 71 times)
matrix01 (OP)
Member
**
Offline Offline

Activity: 77
Merit: 35


View Profile
December 17, 2025, 04:54:42 AM
 #1

My air-gapped Armory PC has Armory v0.92.3 installed and runs on an Ubuntu v12.04 LTS Operating System. I have two wallets in my air-gapped Armory PC labeled as “Small-Wallet” and “Large-Wallet”.   For test purposes I performed an “Export Key Lists” operation on the “Small-Wallet” first and got a successful text file that includes PrivBase58, PrivHexBE, PublicX, and a PublicY data. However, when I performed the same “Export Key Lists” operation on the “Large-Wallet” my exported key list text file is missing all PrivBase58, PrivHexBE, PublicX, and a PublicY data. The only data it shows is the “Root Key” data.

Please bear with me below I have listed some of the troubleshooting I have performed and it is accompanied with some questions I have:

  • For test purposes I created a new wallet named “Test Wallet” in my air-gapped Armory PC and printed a backup PDF for it. On this new test wallet, I again performed an “Export Key Lists” operation and the exported key list text file is also missing all PrivBase58, PrivHexBE, PublicX, and a PublicY data on what is a new wallet created today. Is there any possibility there is some setting in the Air-Gapped Armory software that is now blocking the private key data from generating? Because as I mentioned my “Small-Wallet” does show all private key data in the exported key list so this confirms that at some point in the past my air-gapped Armory PC was correctly generating private keys.
  • I also performed a Restore Wallet operation on the “Large-Wallet” in my air-gapped Armory PC and at the end I got a message window that said “Wallet Successfully Restored”. However, when I performed an “Export Key Lists” operation on this newly restored “Large-Wallet” my exported key list text file is also missing all PrivBase58, PrivHexBE, PublicX, and a PublicY data.  Again, it only shows the “Root Key” data.
  • My next troubleshooting idea is to restore the “Large-Wallet” watch only wallet setup on my Armory Online PC. I have not performed this test yet but is there any possibility this approach could generate my missing private keys?  I should also point out this online watch only wallet does show the correct balance for my “Large-Wallet” which made me falsely believe I had my private keys safely stored in my air-gapped Armory PC.
  • Another troubleshooting idea I have is to upgrade my Air-Gapped Armory PC to version 0.96.5. Can such an upgrade possibly re-generate my private keys from the Root Key in a Restore wallet operation?  In short, does upgrading my Air-Gapped Armory PC to version 0.96.5 offer improved wallet restore capabilities that can regenerate my missing private keys based on only using the same Root Key assigned to my "Large Wallet" under Armory v0.92.3?


That is all of the troubleshooting ideas and questions I have for now. I hope an Armory Super User can provide some guidance relating to any additional testing I could perform that can guide me towards the shining light of this very dark tunnel I presently find myself in.  Thank you for your time.
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8171


Self-proclaimed Genius


View Profile
December 17, 2025, 05:59:22 AM
Merited by hugeblack (2)
 #2

However, when I performed the same “Export Key Lists” operation on the “Large-Wallet” my exported key list text file is missing all PrivBase58, PrivHexBE, PublicX, and a PublicY data. The only data it shows is the “Root Key” data.
Simply tick "Include Unused Address Keypool" and all of your private keys should be included in the list.

If you're interested why it happened: That export key list feature only lists used addresses/keys by default.
Since it's an Air-Gap wallet, you keys remain unused since the wallet isn't synced / no transaction history.

matrix01 (OP)
Member
**
Offline Offline

Activity: 77
Merit: 35


View Profile
December 17, 2025, 05:36:44 PM
 #3

Nc50lc, thank you for your post. Just so you know, your Armory knowledge exceeds ChatGPT’s Armory knowledge because you came up with the right answer and ChatGPT did not. In short, you got me out of that dark tunnel I mentioned and for this I sincerely thank you. 

Thanks to your help, I now have a new “Exported Key List” with many records and with each record consists of the three example rows shown below:

Code:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX  (Unused/Address Pool)
       PrivBase58:  NNNNNN   NNNNNN   NNNNNN    NNNNNN   NNNNNN   NNNNNN   NNNNNN   NNNNNN   NNN
       PrivHexBE:   ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  ####  #### 

Below are some questions I have relating to the data shown above:

  • Am I correct to think the address at the top row represented by a bunch of X’s is the public receive address that was used to receive the BTC and that the PrivBase58 prvKey shown below unlocks the funds stored in the public receive address shown above? I ask because the (Unused/Address Pool) text shown next to the address makes me wonder what type of address this is and whether it is searchable in the blockchain using a tool like Mempool Space (which I don’t have setup yet)? And most importantly, are these funds spendable?
  • You mentioned Electrum does something Sparrow cannot do which is it supports individual prvKey import. Can Electrum go a step beyond that and allow me to import 2, 3 or 4 prvKeys at a time so I can cut down on the number of UTXO change leftover amounts before I migrate it over to ColdCardQ? I ask because that wasn’t clear to me from the Electrum tutorial link below you provided in a previous post:

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

Thank you for your time.
matrix01 (OP)
Member
**
Offline Offline

Activity: 77
Merit: 35


View Profile
December 17, 2025, 05:47:54 PM
 #4

Quote
I’ve seen similar cases before. Usually it turns out the backup used was a “watching-only” or paper backup missing the encrypted private root. Armory will still say “Wallet Successfully Restored” because from its POV, the wallet structure is valid — just not spendable. Sadly, that message is misleading for newcomers

Taurox,
Thank you for the post. I can confirm this is the most stressful activity I have ever had to perform. The learning curve on this stuff is so far is off the chart and I still have not gotten around to learning Electrum, ColdCard-Q and MemPool.  I will be glad once all of this is behind me.
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8171


Self-proclaimed Genius


View Profile
December 18, 2025, 04:45:29 AM
 #5

  • Am I correct to think the address at the top row represented by a bunch of X’s is the public receive address that was used to receive the BTC and that the PrivBase58 prvKey shown below unlocks the funds stored in the public receive address shown above? I ask because the (Unused/Address Pool) text shown next to the address makes me wonder what type of address this is and whether it is searchable in the blockchain using a tool like Mempool Space (which I don’t have setup yet)? And most importantly, are these funds spendable?
Basically yes.

For some corrections;
It's more proper to call it "address" or receive/receiving address if you prefer.
And your funds aren't stored in those addresses but in the blockchain that every Bitcoin node verified and non-pruned node has.
The address is just a human-encoded "locking script" that tells how the output of a transaction should be locked, which its private key is capable of unlocking.

For that "Unused/Address Pool" text, it's pertaining to your "keypool" which is a reserve of unused private keys.

Quote from: matrix01
  • You mentioned Electrum does something Sparrow cannot do which is it supports individual prvKey import. Can Electrum go a step beyond that and allow me to import 2, 3 or 4 prvKeys at a time so I can cut down on the number of UTXO change leftover amounts before I migrate it over to ColdCardQ? I ask because that wasn’t clear to me from the Electrum tutorial link below you provided in a previous post:
Ah, I missed to include a note, but yes.
You can type/paste them one prvKey/address per line (enter).

matrix01 (OP)
Member
**
Offline Offline

Activity: 77
Merit: 35


View Profile
December 18, 2025, 05:44:00 AM
 #6

Nc50lc, just a follow-up question to your previous post.  You said: 

Quote
That export key list feature only lists used addresses/keys by default.
Since it's an Air-Gap wallet, your keys remain unused since the wallet isn't synced / no transaction history.

Am I correct to think that by exporting the associated watch wallet from the Online Amory PC and then importing it into the Air-Gapped Armory PC would sync up the air-gapped wallet and eliminate the need for me to tick the "Include Unused Address Keypool" parameter?  If I were to do this do you think the “Exported Key List” will no longer show “(Unused/Address Pool)” text next to the address? Is this something air-gapped Armory requires I do?

I ask because I’m wondering if importing data from an “Export Key List” that is flagged with a (Unused/Address Pool) notice will somehow complicate my imported keys with un-spendable BTC complications. Is this a valid concern?

Lastly, does implementing the Electrum individual prvKey import strategy result with prvKeys that can no longer be restored using a ColdCard-Q twelve-word seed phrase root key?  I ask because that would mean I would have to backup all the wallets inside my ColdCard-Q and store the backup outside of the hardware wallet.  In other word, is it possible to individually import the priKeys into Electrum so the it results with the Coldcard-Q still having a functional twelve-word seed phrase recovery backup option in case my Coldcard-Q ever dies on me?  If I am not mistaking, I think this concern of mine relates to Hierarchical Deterministic (HD) setup as well as implementing a privKey import strategy versus a privKey sweeping strategy. Does individually importing the priKeys into Electrum break the Hierarchical Deterministic (HD) capability on a ColdCard-Q? And will sweeping instead of importing maintain HD in a ColdCard-Q hardware wallet?  Your opinion will be greatly appreciated and thank you for your time. 
nc50lc
Legendary
*
Offline Offline

Activity: 3010
Merit: 8171


Self-proclaimed Genius


View Profile
December 18, 2025, 07:40:43 AM
 #7

I ask because I’m wondering if importing data from an “Export Key List” that is flagged with a (Unused/Address Pool) notice will somehow complicate my imported keys with un-spendable BTC complications. Is this a valid concern?
You don't have to worry about that.
Those are basically your private key that is encoded into WIF. Whether it's under unused or not, there's no unused flag associated with it nor its address.

The only advantage is you don't have to manually check which are empty or not.

BTW, don't forget to tick "Omit spaces in key data" so you wont have to manually delete those unnecessary spaces.

Am I correct to think that by exporting the associated watch wallet from the Online Amory PC and then importing it into the Air-Gapped Armory PC would sync up the air-gapped wallet and eliminate the need for me to tick the "Include Unused Address Keypool" parameter?
No, that export key list option only affects the selected wallet when you clicked "Wallet Properties".
The cold-storage Armory's addresses will remain unused until it's actually synced or when it signed a transaction from your watch-only armory. (the actual wallet not a restored copy of it)

Besides, it has the same wallet ID as its cold-storage counterpart so, you wont be able to import it to your offline Armory.

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!