32 / 736COLD

Cold Storage

Keeping keys away from an ordinary online computer

Bitcoin is not stored in a safe or on a USB drive. The network records the coins; what we protect are the keys that let us spend them. Cold Storage separates those keys from an ordinary online computer. Long-term protection also requires a secure backup and a recovery process that has been tested.

Cold Storage means keeping bitcoin private keys separate from an everyday internet-connected computer or phone. The keys create signatures that verifiably authorize payments. You can monitor the balance online and receive money while the signing device is switched off. Sending requires its signature or safely recovered keys. Separation reduces remote attacks; it does not replace backups or payment checks.

Alice wants to hold bitcoin long term, but she also uses her laptop for work, email and downloads. She does not want a laptop compromise to hand an attacker the keys to her savings. So she creates and keeps them in a separate trusted device. She transfers only the public information needed to monitor the wallet into the laptop app. When she sends bitcoin from her existing wallet to a receiving address she has already verified, the signing device can stay switched off. The network records the payment and the app shows its confirmations; no file containing money is downloaded into the device. A month later Alice wants to send some of the funds elsewhere. The laptop prepares a proposal: who receives how much, and at what fee. Alice passes it to the signing device, checks the details on its screen, and only then approves. The device produces a digital signature proving spending authorization without releasing the private keys. The signed transaction returns to the online app, which broadcasts it. This division of work is the point of Cold Storage. The label alone says nothing about the device’s quality, whether the displayed address is correct, or whether Alice can recover after a device failure. [7] [11]

The keys stay away from an ordinary online computer; the bitcoins do not leave the network. Every UTXO, an unspent output of an earlier payment, remains recorded in the public blockchain. Disconnecting an already compromised laptop is not enough, and a metal plate bearing words is a backup, not a signing device. Plan for theft, fire, device failure and the owner’s death. Glacier Protocol therefore separates setup, deposits, withdrawals, viewing and maintenance. [9] [10]

Backup words are called a Seed Phrase. An optional passphrase is an additional secret you choose for deriving the wallet, not the device PIN. Multisig requires signatures from several keys. Create keys on a trusted device and record the required backup format, any passphrase and the wallet configuration. BIP129 describes a two-round Multisig setup that verifies keys and the shared configuration. Compare the receiving address on the signing device, not just the computer. Start with a small transfer and test receipt, spending and recovery. Receiving a payment alone does not demonstrate that recovery works. [5] [11]

The Seed Phrase and the passphrase in use allow keys to be derived again; finding the correct wallet may also require other information. A different passphrase leads to a different wallet and cannot replace a forgotten one. SLIP39 backup shares are not duplicate copies of the seed, the secret starting data for deriving keys: recovery requires the specified number of shares. Protect backups against theft, photographs and damage. Never enter a real backup into a website or an ordinary online computer. [13] [14]

An air gap removes a direct network connection, but data still reaches the device through channels such as QR codes or microSD. A fault in the program reading incoming data (the parser), malicious device software (firmware) or a deceptive display can compromise this setup too. Use verified firmware, supported formats and independent transaction checks. A memory card does not clean an infected computer, and a QR code is not automatically safe. A wired Hardware Wallet can also keep keys isolated. Connection topology alone is no security guarantee. [1] [7] [12]

Consider burglary, covert backup copying, coercion and recovery by heirs. One incident should neither expose enough keys for theft nor destroy so much material that recovery becomes impossible. A seal may reveal tampering but cannot prevent copying. A hidden or decoy wallet is not guaranteed protection from coercion. Document the procedure and roles without unnecessarily exposing secrets; institutional dual control needs a different organization from personal custody. [9] [10] [13]

Check backup condition, instruction clarity and device compatibility without needlessly exposing the seed. A safe recovery test must find the correct receiving UTXOs and those returning the remainder to your own wallet (change) and produce a valid signature; accepting a list of words is not enough. Use a trusted device. Before changing devices or wallet rules, test the entire process with a small amount. If exposure is suspected, create new independent keys and transfer the funds safely; retain the old recovery material until the new setup is verified. [7] [9] [10]

A script sets the conditions for spending bitcoin. An extended public key, or xpub, lets a wallet derive further public keys in the relevant branch. Creating addresses from those keys also requires knowing the script type, which sets the spending rules. An xpub cannot sign payments. The online coordinator is an application holding public wallet data. It finds UTXOs, derives addresses and builds an unsigned transaction; the signing device holds the private keys. An Output Descriptor describes scripts and key origins, while its checksum helps detect transcription errors. A public descriptor or xpub normally cannot spend alone, but may expose addresses and balances. A compromised coordinator can also substitute a recipient. [4] [8] [15]

PSBT, defined by BIP174, carries an unsigned transaction and the information needed to sign it. Its data is grouped into maps, lists of labelled values: one for the transaction as a whole and separate ones for each input and output. The file begins with bytes 0x70 0x73 0x62 0x74 0xff. The coordinator prepares the data and the device adds its signature; after combining signatures and finalizing, the resulting transaction can be broadcast. The offline device therefore needs no UTXO database of its own. BIP370 covers PSBT v2 and BIP371 adds Taproot fields; check device compatibility beforehand. [1] [2] [3] [6] [7]

Before approving, use a trusted display to check the recipient, amount, fee or fee rate, and outputs returning the remainder to your own wallet, called change. Also examine displayed inputs and the sighash mode, which determines which parts of the transaction the signature commits to. BIP174 requires checking that proposed change belongs to the expected wallet; a label supplied by the computer is not enough. For a significant payment, verify the address through another independent, authenticated channel, and consider a second person’s check. [1] [11] [12]

An m-of-n setup requires m of n keys to sign. Loss is survivable if at least m keys remain available. An attacker, in contrast, needs at least m keys to spend independently. Do not confuse these two thresholds. Seeds alone may also be insufficient to reconstruct the wallet: back up the descriptor or Bitcoin Secure Multisig Setup (BSMS) configuration, including xpubs, key order, derivation paths (the sequence of steps used to derive each key) and script type. A more complex setup is useful only if you can manage and recover it. [4] [5] [8]

For the clearest picture, read this entry together with Hardware Wallet, Self-custody, Air-gapped Wallet, PSBT, Seed Phrase, BIP 39. The reverse links also lead from Hardware Wallet, Watch-only Wallet, PSBT, Custodial Exchange.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction FormatSpecification DOC · 002BIP 370 — PSBT Version 2Specification DOC · 003BIP 371 — Taproot Fields for PSBTSpecification DOC · 004BIP 380 — Output Script DescriptorsSpecification DOC · 005BIP 129 — Bitcoin Secure Multisig SetupSpecification DOC · 006Bitcoin Core — PSBT HowtoDocumentation DOC · 007Bitcoin Core — Offline Signing TutorialDocumentation DOC · 008Bitcoin Core — Output DescriptorsDocumentation DOC · 009Glacier Protocol — About GlacierDocumentation DOC · 010Glacier Protocol — Protocol StructureDocumentation DOC · 011COLDCARD — Address ExplorerDocumentation DOC · 012COLDCARD — QR Scanner and PSBT SigningDocumentation DOC · 013Trezor — Wallet BackupsDocumentation DOC · 014Trezor — Shamir BackupDocumentation DOC · 015Bitcoin Optech — Output Script DescriptorsDocumentation
Revised: Source-first · No investment advice