<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>COINKITE Blog</title>
    <description>World&apos;s First Bitcoin Credit Stick Wallet</description>
    <link>https://blog.coinkite.com/</link>
    <atom:link href="https://blog.coinkite.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 12 Sep 2026 01:27:00 -1200</pubDate>
    <lastBuildDate>Sat, 12 Sep 2026 01:27:00 -1200</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>COLDCARD Firmware Update 5.6.2 &amp; 1.5.2Q: Verifiable Seed Mixing; Continued Security Review; and EDGE 6.6.1X/6.6.1QX</title>
        <description>&lt;p&gt;COLDCARD firmware &lt;strong&gt;5.6.2 for Mk4/Mk5&lt;/strong&gt; and &lt;strong&gt;1.5.2Q for Q&lt;/strong&gt; restore
visibility into the device-generated input used during seed creation and add a
standalone tool for independently checking dice-roll or coin-flip mixing.&lt;/p&gt;

&lt;p&gt;The release also includes changes from our continuing review of transaction
validation, USB communications, Virtual Disk handling, firmware upgrades,
temporary wallets, Delta Mode, and other security boundaries.&lt;/p&gt;

&lt;p&gt;Given the volume of security reports coming to us and appearing across Bitcoin
hardware and software projects, our recommendation for the next while is
simple: treat every applicable COLDCARD firmware release as a critical update
and upgrade promptly.&lt;/p&gt;

&lt;p&gt;We strongly recommend that all COLDCARD Mk4, Mk5, and Q users install
&lt;a href=&quot;https://coldcard.com/downloads/all&quot;&gt;&lt;strong&gt;5.6.2 for Mk4/Mk5&lt;/strong&gt; or &lt;strong&gt;1.5.2Q for Q&lt;/strong&gt; from our official firmware downloads
page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We are grateful to &lt;a href=&quot;https://github.com/drk1wi&quot;&gt;@drk1wi&lt;/a&gt;,
&lt;a href=&quot;https://github.com/hitechhayekian&quot;&gt;@hitechhayekian&lt;/a&gt;,
&lt;a href=&quot;https://github.com/Amiga500&quot;&gt;@Amiga500&lt;/a&gt;, Huzaifa Jawaid, “FreeZ Agent,”
“Rety,” &lt;a href=&quot;https://github.com/KirillCherikov&quot;&gt;@KirillCherikov&lt;/a&gt;,
&lt;a href=&quot;https://github.com/instagibbs&quot;&gt;@instagibbs&lt;/a&gt;,
&lt;a href=&quot;https://karma-x.io/blog/post/75/&quot;&gt;Karma-X&lt;/a&gt;, Shiny
(&lt;a href=&quot;https://x.com/bigshiny0&quot;&gt;@bigshiny0&lt;/a&gt;), Mike Rahel
(&lt;a href=&quot;https://x.com/itooshatonamask&quot;&gt;@itooshatonamask&lt;/a&gt;), Mars
(&lt;a href=&quot;https://x.com/Marsmensch&quot;&gt;@Marsmensch&lt;/a&gt;), and
&lt;a href=&quot;https://github.com/portlandhodl/coldcard_fw_dicerolls_trace&quot;&gt;PortlandHODL&lt;/a&gt; for
reporting issues, contributing code, reproducing edge cases, sharing ideas, and
independently reviewing the remediation. We also thank
&lt;a href=&quot;https://github.com/danilotg&quot;&gt;@danilotg&lt;/a&gt; and
&lt;a href=&quot;https://github.com/spaceainot&quot;&gt;@spaceainot&lt;/a&gt; for post-incident implementation,
testing, release, tooling, and disclosure-policy work. Each finding still has
to be reproduced and evaluated within its actual scope, but this scrutiny is
making COLDCARD stronger.&lt;/p&gt;

&lt;p&gt;Thank you for the many messages of support since the fixes shipped. COLDCARDs
are in stock, and we’re working to keep up with the increased demand. We
appreciate your patience while we get orders out. Development continues: we’ll
keep improving the product and releasing new firmware.&lt;/p&gt;

&lt;p&gt;We’ll keep publishing concrete, inspectable changes as this work proceeds.&lt;/p&gt;

&lt;h2 id=&quot;view-and-verify-seed-mixing&quot;&gt;View and Verify Seed Mixing&lt;/h2&gt;

&lt;p&gt;Every newly generated master seed, Temporary Seed, and generated CCC Key C
still requires one user-sourced entropy method:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;at least 65 key presses with unpredictable timing;&lt;/li&gt;
  &lt;li&gt;at least 50 rolls of a physical six-sided die; or&lt;/li&gt;
  &lt;li&gt;at least 128 physical coin flips.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The standard workflow combines that input with fresh device entropy from the
STM32 TRNG, SE1, and SE2.&lt;/p&gt;

&lt;p&gt;The new &lt;strong&gt;View TRNG Words&lt;/strong&gt; menu item displays 24 BIP-39 words encoding the full
256-bit device-generated input before the user’s key presses, dice rolls, or
coin flips are mixed in. All 256 bits participate in the calculation, including
when creating a 12-word wallet. On Q, the 24-word grid begins on a fresh screen
so the words remain together.&lt;/p&gt;

&lt;p&gt;This restores visibility that existed in the earlier dice-roll workflow but
was inadvertently absent from firmware 5.6.1 and 1.5.1Q.&lt;/p&gt;

&lt;p&gt;The firmware source now also includes the public-domain, dependency-free
&lt;a href=&quot;https://github.com/Coldcard/firmware/blob/master/docs/verify_seed_mix.py&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;verify_seed_mix.py&lt;/code&gt;&lt;/a&gt;
tool. It can independently recompute a final 12- or 24-word seed from the
displayed TRNG words and the complete dice-roll or coin-flip sequence. It does
not support key-mashing input. This complements
&lt;a href=&quot;https://github.com/Coldcard/firmware/blob/master/docs/rolls.py&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rolls.py&lt;/code&gt;&lt;/a&gt;,
first published in October 2020, which performs the corresponding offline
calculation for 24-word seeds created through the separate Dice Rolls Only
workflow. &lt;a href=&quot;https://github.com/Coldcard/firmware/blob/master/docs/rolls12.py&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rolls12.py&lt;/code&gt;&lt;/a&gt;
covers the 12-word variant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep every part of this process secret.&lt;/strong&gt; Anyone who obtains the resulting
seed—or both the displayed TRNG words and your complete dice-roll or coin-flip
sequence—can recreate the wallet and steal its funds. Notes, photographs,
clipboard contents, terminal history, logs, and backups may retain this
information. Run the verification tool only on an offline computer you trust.
The safest approach is to use one complete seed-generation run only to prove
the math, never fund that wallet, then discard it and start again. Generate new
TRNG words and use fresh, unrecorded rolls or flips for your actual master seed.&lt;/p&gt;

&lt;figure&gt;
  &lt;a href=&quot;https://scgbckbone.github.io/seedflow/&quot;&gt;&lt;img src=&quot;/images/posts-img/coldcard-seed-generation-flow.png&quot; alt=&quot;COLDCARD seed-generation flow for firmware 5.6.1 and later&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;&lt;/a&gt;
  &lt;figcaption&gt;&lt;a href=&quot;https://scgbckbone.github.io/seedflow/&quot;&gt;Explore the interactive, source-linked SeedFlow map&lt;/a&gt; by &lt;a href=&quot;https://github.com/scgbckbone&quot;&gt;@scgbckbone&lt;/a&gt; to trace the complete seed-generation process and inspect the firmware behind each step.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;usb-communications&quot;&gt;USB Communications&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;USB ncry v3 adds authenticated encryption with direction-separated keys and
replay protection.&lt;/li&gt;
  &lt;li&gt;The unused USB CDC/VCP serial interface has been removed from normal
operation and keyboard-emulation mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;transaction-validation-and-utxo-handling&quot;&gt;Transaction Validation and UTXO Handling&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;COLDCARD warns when a transaction’s block-height &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nLockTime&lt;/code&gt; is more than ten
years beyond the Bitcoin height known to the firmware.&lt;/li&gt;
  &lt;li&gt;The UTXO cache now retains up to 128 entries across restarts.&lt;/li&gt;
  &lt;li&gt;Cancelled PSBTs no longer commit claimed input amounts to the UTXO cache.
Amounts are committed only after signing and only for inputs COLDCARD actually
signed.&lt;/li&gt;
  &lt;li&gt;Single-signature SegWit change amounts are cached during finalization so
understated input amounts can be detected instead of silently trusted.&lt;/li&gt;
  &lt;li&gt;Duplicate singleton keys in PSBT maps are rejected.&lt;/li&gt;
  &lt;li&gt;BIP-322 Proof of Reserves rejects foreign inputs, including inputs disguised
with forged key-path metadata or partial signatures.&lt;/li&gt;
  &lt;li&gt;P2SH-P2WSH inputs with missing or incorrect redeem scripts are rejected
instead of proceeding with an unknown fee.&lt;/li&gt;
  &lt;li&gt;PSBTv2 transactions with out-of-range transaction versions are rejected,
matching the PSBTv0 parser.&lt;/li&gt;
  &lt;li&gt;On Mk4/Mk5, BIP-322 message signing with WIF Store keys requires an
unrestricted HSM message-signing policy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;firmware-and-virtual-disk-boundaries&quot;&gt;Firmware and Virtual Disk Boundaries&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Signing stops if a Virtual Disk firmware import overwrites the reviewed PSBT.
Thanks to Huzaifa Jawaid.&lt;/li&gt;
  &lt;li&gt;A pending firmware upgrade is cancelled if its staged image is overwritten
before approval. Thanks to Huzaifa Jawaid.&lt;/li&gt;
  &lt;li&gt;Cyclic FAT chains in Virtual Disk imports are rejected instead of causing the
device to hang.&lt;/li&gt;
  &lt;li&gt;Virtual Disk files with FAT metadata inconsistent with their declared size
are rejected. This fixes an integer underflow in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;psram_copy_file&lt;/code&gt; and
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;psram_mmap_file&lt;/code&gt; that could permit out-of-bounds PSRAM writes, reads, or
mappings from a compromised USB host.&lt;/li&gt;
  &lt;li&gt;Firmware images extending beyond the world-checksum-covered flash region are
rejected.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;wallet-state-and-policy-boundaries&quot;&gt;Wallet-State and Policy Boundaries&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;With an empty master wallet and an active Temporary Seed, imports and backup
restores remain temporary instead of becoming master-wallet changes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Change Main PIN&lt;/strong&gt; is hidden while a Temporary Seed or BIP-39 passphrase
wallet is active.&lt;/li&gt;
  &lt;li&gt;In Delta Mode, attempting to view or activate a duress-wallet secret from the
Trick PINs menu wipes the seed instead of revealing it.&lt;/li&gt;
  &lt;li&gt;Non-ASCII BIP-39 passphrases are rejected at USB, saved-passphrase, note, and
password entry points instead of deriving wallets incompatible with
BIP-39-normalizing software.&lt;/li&gt;
  &lt;li&gt;Single-Signer Spending Policy now provides a block-height reset from the
&lt;strong&gt;Last Violation&lt;/strong&gt; screen after a policy bypass, matching CCC behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;simulator-fix&quot;&gt;Simulator Fix&lt;/h2&gt;

&lt;p&gt;The COLDCARD simulator no longer crashes during &lt;strong&gt;Bless Firmware&lt;/strong&gt; because of a
desynchronized LED pipe, and it now records its firmware-greenlight state
correctly.&lt;/p&gt;

&lt;p&gt;This is a developer-tooling fix and does not change the security behavior of a
physical COLDCARD. Thanks to
&lt;a href=&quot;https://github.com/hitechhayekian&quot;&gt;@hitechhayekian&lt;/a&gt; for the report and fix.&lt;/p&gt;

&lt;h2 id=&quot;important-seed-reminder&quot;&gt;Important Seed Reminder&lt;/h2&gt;

&lt;p&gt;Installing this update does not make an existing vulnerable seed safe.&lt;/p&gt;

&lt;p&gt;If your seed may have been generated on affected firmware from 2021 through
July 2026, create a completely new seed using fixed firmware and move your funds
by following our
&lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;seed-generation advisory&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The July 31 firmware corrected the seed-generation failure for new seeds. The
August 20 release added required user-sourced entropy and further hardening.
This release adds verification and additional security work, but it does not
change the migration guidance for seeds already generated on affected firmware.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upgrading alone is not sufficient.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our team remains heads down reviewing security reports and helping affected
users upgrade, create new seeds, and complete their migrations. Support and
other contact channels are handling unusually high volumes, so responses may
take longer than usual.&lt;/p&gt;

&lt;p&gt;Verified guidance remains available on the
&lt;a href=&quot;https://coldcard.com/security/status&quot;&gt;Security Status page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;how-to-update&quot;&gt;How to Update&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Download firmware only from the
&lt;a href=&quot;https://coldcard.com/downloads/all&quot;&gt;official COLDCARD downloads page&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Follow our instructions to
&lt;a href=&quot;https://coldcard.com/docs/upgrade/#dont-trust-verify-the-firmware&quot;&gt;verify the SHA-256 hash and PGP signature&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Install it using the
&lt;a href=&quot;https://coldcard.com/docs/upgrade/#upgrade-procedure-using-microsd&quot;&gt;MicroSD upgrade procedure&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;After restarting, select &lt;strong&gt;Advanced &amp;gt; Upgrade &amp;gt; Show Version&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Confirm that the device reports &lt;strong&gt;5.6.2 on Mk4/Mk5&lt;/strong&gt; or &lt;strong&gt;1.5.2Q on Q&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;If the July seed advisory applies to you, complete the separate seed
migration. Upgrading alone is not sufficient.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The complete standard-release list is available in the
&lt;a href=&quot;https://github.com/Coldcard/firmware/blob/master/releases/ChangeLog.md&quot;&gt;firmware changelog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Security reports can be submitted privately to
&lt;a href=&quot;mailto:security@coinkite.com&quot;&gt;security@coinkite.com&lt;/a&gt; under our
&lt;a href=&quot;https://coinkite.com/responsible-disclosure&quot;&gt;responsible-disclosure policy&lt;/a&gt;.
Customers who need assistance should contact our
&lt;a href=&quot;https://coldcard.com/support/&quot;&gt;support team&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;edge-661x-and-661qx--august-31-2026&quot;&gt;EDGE 6.6.1X and 6.6.1QX — August 31, 2026&lt;/h2&gt;

&lt;p&gt;We also released &lt;strong&gt;EDGE 6.6.1X for Mk4&lt;/strong&gt; and &lt;strong&gt;6.6.1QX for Q&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;EDGE is a separate preview track. It has not been qualified and tested to the
same standard as normal releases and is recommended only for developers and
early adopters doing experimental work.&lt;/p&gt;

&lt;p&gt;These builds are synchronized with the standard release lines through 5.6.1
and 1.5.1Q. Their shared changes include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Reject cyclic FAT chains during Virtual Disk imports instead of hanging.&lt;/li&gt;
  &lt;li&gt;Abort a pending firmware upgrade if its staged image is overwritten before
approval. Thanks to Huzaifa Jawaid.&lt;/li&gt;
  &lt;li&gt;Detect and abort signing if a Virtual Disk firmware import overwrites the
reviewed PSBT. Thanks to Huzaifa Jawaid.&lt;/li&gt;
  &lt;li&gt;Allow uncompressed WIF keys in WIF Store.&lt;/li&gt;
  &lt;li&gt;Speed up multisig address generation and PSBT-input verification.&lt;/li&gt;
  &lt;li&gt;Use predictable sequential filenames when PSBTs are repeatedly processed
through MicroSD or Virtual Disk.&lt;/li&gt;
  &lt;li&gt;Prevent USB hosts from enrolling, deleting, listing, or exporting Multisig or
Miniscript wallet configurations while Spending Policy mode is active.&lt;/li&gt;
  &lt;li&gt;Compact repeated transaction warnings, relative timelocks, and unusual
change-path summaries. Individual details remain available in the transaction
explorer.&lt;/li&gt;
  &lt;li&gt;Generate distinct MuSig2 nonces for different aggregate-key derivations of
the same participant set.&lt;/li&gt;
  &lt;li&gt;Harden MuSig2 session handling for foreign MuSig2 inputs and differing
witness UTXO data.&lt;/li&gt;
  &lt;li&gt;Preserve incomplete MuSig2 sessions while waiting for cosigner public nonces.&lt;/li&gt;
  &lt;li&gt;Prevent PSBT corruption when the same MuSig2 participant performs multiple
signing rounds through Key Teleport.&lt;/li&gt;
  &lt;li&gt;Track remaining multisig and Tapscript signers separately for each PSBT input.&lt;/li&gt;
  &lt;li&gt;Limit MuSig2 participant lists to 32.&lt;/li&gt;
  &lt;li&gt;Generate unique names for multisig wallets created from PSBTs with identical
M-of-N parameters.&lt;/li&gt;
  &lt;li&gt;Correctly identify consolidations containing zero-value &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OP_RETURN&lt;/code&gt; outputs
without misclassifying other zero-value external outputs.&lt;/li&gt;
  &lt;li&gt;Prevent duplicate WIF Store keys and multisig wallets after restart.&lt;/li&gt;
  &lt;li&gt;Require HSM policies to explicitly allow a path before signing BIP-322
messages with WIF Store keys.&lt;/li&gt;
  &lt;li&gt;Reject foreign inputs in BIP-322 Proof of Reserves transactions.&lt;/li&gt;
  &lt;li&gt;Prevent PSBT uploads from being mistaken for partial firmware uploads.&lt;/li&gt;
  &lt;li&gt;Reject BIP-388 wallet-policy imports with non-ASCII or non-printable names.&lt;/li&gt;
  &lt;li&gt;Reject duplicate singleton keys in PSBT maps.&lt;/li&gt;
  &lt;li&gt;Restore &lt;strong&gt;View TRNG Words&lt;/strong&gt; for the complete 256-bit device-generated input
before user entropy is mixed.&lt;/li&gt;
  &lt;li&gt;Fix the &lt;strong&gt;Bless Firmware&lt;/strong&gt; simulator crash. Thanks to
&lt;a href=&quot;https://github.com/hitechhayekian&quot;&gt;@hitechhayekian&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Fix invalid signatures on transactions containing both SegWit v0 and Taproot
inputs.&lt;/li&gt;
  &lt;li&gt;Hide &lt;strong&gt;Change Main PIN&lt;/strong&gt; while a Temporary Seed or BIP-39 passphrase wallet is
active.&lt;/li&gt;
  &lt;li&gt;Keep imports and backup restores temporary when the master wallet is empty
and a Temporary Seed is active.&lt;/li&gt;
  &lt;li&gt;Do not misidentify future-version SegWit outputs as Taproot change.&lt;/li&gt;
  &lt;li&gt;Reject unsupported Taproot leaf versions during PSBT signing. Only Tapscript
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0xc0&lt;/code&gt; is supported.&lt;/li&gt;
  &lt;li&gt;Serialize future even TapLeaf versions correctly.&lt;/li&gt;
  &lt;li&gt;Report the correct transaction ID when finalized MuSig transactions contain
scriptSigs.&lt;/li&gt;
  &lt;li&gt;Remove the unused USB CDC/VCP serial interface from normal operation and
keyboard emulation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See the
&lt;a href=&quot;https://github.com/Coldcard/firmware/blob/2026-08-31T1606-v6.6.1X/releases/EdgeChangeLog.md&quot;&gt;complete tagged EDGE changelog&lt;/a&gt;
and verify the firmware through the official downloads page before installing.&lt;/p&gt;
</description>
        <pubDate>Fri, 04 Sep 2026 03:30:00 -1200</pubDate>
        <link>https://blog.coinkite.com/coldcard-firmware-update-5.6.2-1.5.2q/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/coldcard-firmware-update-5.6.2-1.5.2q/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>COLDCARD + Sparrow: Air-Gapped from First Address to First Signature</title>
        <description>&lt;p&gt;Sparrow and COLDCARD should have different jobs.&lt;/p&gt;

&lt;p&gt;Sparrow runs on the computer, watches the blockchain, tracks wallet history, chooses coins, creates transactions, and broadcasts. In this workflow, COLDCARD holds the signing key, interprets the proposed transaction on its own screen, and signs after physical approval.&lt;/p&gt;

&lt;p&gt;The air-gapped workflow connects those jobs without a live data cable:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;export public wallet data from COLDCARD;&lt;/li&gt;
  &lt;li&gt;import it into Sparrow as watch-only;&lt;/li&gt;
  &lt;li&gt;verify a receive address on both devices;&lt;/li&gt;
  &lt;li&gt;let Sparrow build a PSBT;&lt;/li&gt;
  &lt;li&gt;move it to COLDCARD by Q QR or Mk5 MicroSD;&lt;/li&gt;
  &lt;li&gt;return the signature to Sparrow and broadcast.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With official COLDCARD firmware, the standard wallet export contains public wallet data and does not include the seed or private keys. This limits the computer’s role, but it does not make the computer, transfer medium, or signing device risk-free.&lt;/p&gt;

&lt;h2 id=&quot;versions-current-at-publication&quot;&gt;Versions current at publication&lt;/h2&gt;

&lt;p&gt;Menus and buttons change. At publication, the current releases were:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;COLDCARD Q standard firmware &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1.5.1Q&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;COLDCARD Mk5 standard firmware &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;5.6.1&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;Sparrow Wallet &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2.5.3&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check the &lt;a href=&quot;https://coldcard.com/security/status&quot;&gt;COLDCARD Security Status page&lt;/a&gt;, install and verify the current signed &lt;a href=&quot;https://coldcard.com/downloads&quot;&gt;COLDCARD firmware&lt;/a&gt;, and check &lt;a href=&quot;https://github.com/sparrowwallet/sparrow/releases&quot;&gt;Sparrow releases&lt;/a&gt; before starting. Download Sparrow only from &lt;a href=&quot;https://sparrowwallet.com/&quot;&gt;sparrowwallet.com&lt;/a&gt; or its linked official repository, and verify the download according to Sparrow’s instructions.&lt;/p&gt;

&lt;p&gt;This article covers a standard single-signature wallet. Multisig uses the same PSBT concept but requires the complete policy and enough cosigners to meet the threshold.&lt;/p&gt;

&lt;h2 id=&quot;what-this-workflow-changesand-what-it-does-not&quot;&gt;What this workflow changes—and what it does not&lt;/h2&gt;

&lt;p&gt;QR and MicroSD signing avoid a live data connection between COLDCARD and the computer. They do not make either device trusted, verify firmware for you, protect an exposed backup, or prevent every attack. This article describes the intended workflow, not a guarantee against every software, firmware, supply-chain, backup, or operator failure. Install only signed firmware from the official download page, keep the device under your control, and approve a transaction only after its recipient, amount, fee, change, and warnings match your intent on the COLDCARD screen.&lt;/p&gt;

&lt;p&gt;If the wallet seed was created on firmware covered by the July 2026 advisory, updating the device alone does not repair it. Follow the &lt;a href=&quot;https://coldcard.com/security/migrate&quot;&gt;affected-seed migration guide&lt;/a&gt; before relying on this setup for that wallet.&lt;/p&gt;

&lt;h2 id=&quot;prepare-coldcard-first&quot;&gt;Prepare COLDCARD first&lt;/h2&gt;

&lt;p&gt;Complete the current &lt;a href=&quot;https://coldcard.com/docs/q-quick/&quot;&gt;Q&lt;/a&gt; or &lt;a href=&quot;https://coldcard.com/docs/quick/&quot;&gt;Mk5&lt;/a&gt; setup:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;inspect the tamper-evident bag;&lt;/li&gt;
  &lt;li&gt;set the PIN and learn the anti-phishing-word check;&lt;/li&gt;
  &lt;li&gt;install and verify current signed firmware before creating a seed;&lt;/li&gt;
  &lt;li&gt;generate or import the intended seed;&lt;/li&gt;
  &lt;li&gt;make and test the required backups;&lt;/li&gt;
  &lt;li&gt;record the expected extended fingerprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Current standard firmware combines fresh device entropy with one required user method for every new seed: at least 65 key presses with unpredictable timing, 50 private rolls of a fair physical six-sided die, or 128 private physical coin flips. Dice Rolls Only remains a separate advanced workflow.&lt;/p&gt;

&lt;p&gt;Before funding a wallet with an amount whose loss would be materially harmful to you, apply a strong, unique BIP-39 passphrase after verifying the base-seed backup. Back up the passphrase exactly and separately, record the passphrase wallet’s fingerprint, and test the complete recovery path before depositing funds. Additional complexity can create recovery risk; use multisig only with a documented and tested policy.&lt;/p&gt;

&lt;p&gt;Never type the seed words or BIP-39 passphrase into Sparrow for this watch-only workflow. Do not provide Coinkite support with them, your PIN, backup password, private keys, or dice-roll sequence.&lt;/p&gt;

&lt;p&gt;If the wallet uses a BIP-39 passphrase, apply it on COLDCARD &lt;strong&gt;before exporting to Sparrow&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Under official firmware, the export describes the wallet that is active at that moment. The base seed and each passphrase have different keys, fingerprints, addresses, and balances. Sparrow needs a separate watch-only wallet for each.&lt;/p&gt;

&lt;p&gt;Confirm the active fingerprint at:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced/Tools &amp;gt; View Identity&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Do not proceed if it is not the one recorded for this wallet.&lt;/p&gt;

&lt;h2 id=&quot;export-the-sparrow-wallet-from-coldcard&quot;&gt;Export the Sparrow wallet from COLDCARD&lt;/h2&gt;

&lt;p&gt;On Q or Mk5 open:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced/Tools &amp;gt; Export Wallet &amp;gt; Sparrow&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Read the export notice and use account &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt; for a standard first wallet. Use another account only if your wallet plan already specifies it.&lt;/p&gt;

&lt;h3 id=&quot;microsd-export&quot;&gt;MicroSD export&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Insert a FAT-formatted MicroSD card.&lt;/li&gt;
  &lt;li&gt;Choose MicroSD as the export method.&lt;/li&gt;
  &lt;li&gt;COLDCARD writes a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;coldcard-….json&lt;/code&gt; file to the card’s root.&lt;/li&gt;
  &lt;li&gt;Eject the card and insert it into the computer.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;q-qr-export&quot;&gt;Q QR export&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Choose &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Show QR&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Q displays the export as animated BBQr when needed.&lt;/li&gt;
  &lt;li&gt;Keep the code ready for Sparrow’s Scan option.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With official firmware, the Sparrow export contains the extended public key, derivation path, address type, and related public wallet data. It does not include the seed or private keys.&lt;/p&gt;

&lt;p&gt;“Public key” does not mean “publish it.” An extended public key or descriptor can reveal present and future wallet addresses, balances, and transaction relationships. Handle the export as private financial metadata.&lt;/p&gt;

&lt;h2 id=&quot;import-as-an-air-gapped-hardware-wallet&quot;&gt;Import as an air-gapped hardware wallet&lt;/h2&gt;

&lt;p&gt;In Sparrow:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;choose &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;File &amp;gt; New Wallet&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;give the wallet a recognizable name;&lt;/li&gt;
  &lt;li&gt;select &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Airgapped Hardware Wallet&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;find COLDCARD in the hardware-wallet list;&lt;/li&gt;
  &lt;li&gt;choose &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Import File&lt;/code&gt; for MicroSD or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Scan&lt;/code&gt; for Q QR;&lt;/li&gt;
  &lt;li&gt;load the JSON file or scan the complete BBQr sequence;&lt;/li&gt;
  &lt;li&gt;inspect the populated keystore and wallet settings;&lt;/li&gt;
  &lt;li&gt;click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Apply&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sparrow saves a watch-only wallet and begins synchronizing its addresses.&lt;/p&gt;

&lt;p&gt;The computer can now generate receive addresses and build spends. A correctly created watch-only wallet cannot produce the COLDCARD signature. If Sparrow can spend without the device in this arrangement, stop and determine what private material was imported.&lt;/p&gt;

&lt;h2 id=&quot;verify-the-first-receive-address&quot;&gt;Verify the first receive address&lt;/h2&gt;

&lt;p&gt;This is the setup step that turns “the import seemed to work” into a concrete check.&lt;/p&gt;

&lt;p&gt;In Sparrow:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Receive&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;select the first receive address at index &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;keep the complete address visible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On COLDCARD:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Address Explorer&lt;/code&gt; from the main wallet menu;&lt;/li&gt;
  &lt;li&gt;choose the matching address type;&lt;/li&gt;
  &lt;li&gt;select receive index &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt;;&lt;/li&gt;
  &lt;li&gt;compare every character with Sparrow.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If they differ, do not receive bitcoin. Common causes are the wrong passphrase state, address type, account number, derivation, or export file. Correct the cause and re-export rather than trying to make one screen resemble the other.&lt;/p&gt;

&lt;p&gt;After a match, receive a small practice amount. Label it in Sparrow and wait until it is available to spend.&lt;/p&gt;

&lt;h2 id=&quot;q-path-sign-the-first-psbt-over-qr&quot;&gt;Q path: sign the first PSBT over QR&lt;/h2&gt;

&lt;p&gt;Q performs the entire round trip through the two screens.&lt;/p&gt;

&lt;h3 id=&quot;build-in-sparrow&quot;&gt;Build in Sparrow&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Send&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Enter the destination, amount, and fee rate.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Create Transaction&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Review the proposed inputs, outputs, and fee.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Finalize Transaction for Signing&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Show QR&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sparrow displays a single QR for a small PSBT or animated BBQr for a larger one.&lt;/p&gt;

&lt;h3 id=&quot;review-and-sign-on-q&quot;&gt;Review and sign on Q&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Press Q’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QR&lt;/code&gt; key to start the camera.&lt;/li&gt;
  &lt;li&gt;Hold Q in front of Sparrow’s code until every frame is captured.&lt;/li&gt;
  &lt;li&gt;Read the transaction on Q.&lt;/li&gt;
  &lt;li&gt;Compare the complete recipient address, amount, network fee, and change with your intended payment.&lt;/li&gt;
  &lt;li&gt;Stop on any unexpected warning.&lt;/li&gt;
  &lt;li&gt;Press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ENTER&lt;/code&gt; only when the on-device transaction is correct.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Q signs and displays the result as QR or BBQr.&lt;/p&gt;

&lt;h3 id=&quot;return-to-sparrow&quot;&gt;Return to Sparrow&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Scan QR&lt;/code&gt; in Sparrow.&lt;/li&gt;
  &lt;li&gt;Present Q’s screen to the computer’s webcam until the signed result loads.&lt;/li&gt;
  &lt;li&gt;Review the complete transaction again.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Broadcast Transaction&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If scanning fails, do not take a photograph and send it through a random service. Improve the light, steady the devices, retry the BBQr sequence, or use MicroSD as the fallback.&lt;/p&gt;

&lt;h2 id=&quot;mk5-path-sign-the-first-psbt-with-microsd&quot;&gt;Mk5 path: sign the first PSBT with MicroSD&lt;/h2&gt;

&lt;p&gt;Mk5 has no camera for inbound QR, so MicroSD is the standard round trip.&lt;/p&gt;

&lt;h3 id=&quot;build-and-save-in-sparrow&quot;&gt;Build and save in Sparrow&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Send&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Enter the destination, amount, and fee rate.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Create Transaction&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Review and click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Finalize Transaction for Signing&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Save PSBT&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Save the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.psbt&lt;/code&gt; file in the root of the MicroSD card.&lt;/li&gt;
  &lt;li&gt;Eject the card cleanly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;review-and-sign-on-mk5&quot;&gt;Review and sign on Mk5&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Insert the card into Mk5.&lt;/li&gt;
  &lt;li&gt;Select &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Ready To Sign&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Choose the intended PSBT if more than one is listed.&lt;/li&gt;
  &lt;li&gt;Compare the recipient, amount, fee, and change on the Mk5 screen.&lt;/li&gt;
  &lt;li&gt;Stop on an unfamiliar warning or wrong-wallet fingerprint.&lt;/li&gt;
  &lt;li&gt;Press &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;✔&lt;/code&gt; only after the details match your intent.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Mk5 writes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[original]-signed.psbt&lt;/code&gt; and, for supported complete transactions, a ready-to-broadcast &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.txn&lt;/code&gt; file to the card.&lt;/p&gt;

&lt;h3 id=&quot;return-to-sparrow-1&quot;&gt;Return to Sparrow&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Move the MicroSD card back to the computer.&lt;/li&gt;
  &lt;li&gt;In Sparrow select &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Load PSBT&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Open the signed PSBT or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.txn&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Review the result.&lt;/li&gt;
  &lt;li&gt;Click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Broadcast Transaction&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The card is a transport medium, not a trusted display. Malware may alter files on it. Base approval on what Mk5 parsed and showed, not on the file name or the computer screen.&lt;/p&gt;

&lt;h2 id=&quot;what-sparrow-learns&quot;&gt;What Sparrow learns&lt;/h2&gt;

&lt;p&gt;This workflow removes the live data connection between COLDCARD and the computer. It does not make the watch-only wallet anonymous or make the coordinator, transfer medium, or signer automatically trustworthy.&lt;/p&gt;

&lt;p&gt;Sparrow knows the wallet descriptor and can derive its addresses. It sees the transactions it discovers and the labels you add. If it connects to a public Electrum server, that server may observe the addresses and transactions being queried together.&lt;/p&gt;

&lt;p&gt;For better privacy, connect Sparrow to your own Bitcoin node, ideally over Tor. That changes who receives the wallet queries. It does not erase information already disclosed to a public server, exchange, block explorer, or reused address.&lt;/p&gt;

&lt;p&gt;Keep Sparrow’s wallet file, COLDCARD export, and labels out of general cloud storage unless that disclosure is intentional.&lt;/p&gt;

&lt;h2 id=&quot;troubleshooting-by-symptom&quot;&gt;Troubleshooting by symptom&lt;/h2&gt;

&lt;h3 id=&quot;addresses-do-not-match&quot;&gt;Addresses do not match&lt;/h3&gt;

&lt;p&gt;Check the passphrase state, active XFP, account number, address type, and whether Sparrow imported the correct file. Re-export only after the intended wallet is active.&lt;/p&gt;

&lt;h3 id=&quot;coldcard-reports-wrong-xfp&quot;&gt;COLDCARD reports wrong XFP&lt;/h3&gt;

&lt;p&gt;The PSBT was prepared for another wallet. Open the Sparrow wallet created from this COLDCARD and passphrase context, or activate the expected wallet on COLDCARD. Do not override the mismatch.&lt;/p&gt;

&lt;h3 id=&quot;coldcard-warns-about-change&quot;&gt;COLDCARD warns about change&lt;/h3&gt;

&lt;p&gt;Inspect the change address and derivation. If you cannot explain why COLDCARD does not recognize it, cancel and rebuild the transaction.&lt;/p&gt;

&lt;h3 id=&quot;sparrow-cannot-see-the-signed-file&quot;&gt;Sparrow cannot see the signed file&lt;/h3&gt;

&lt;p&gt;Eject and reinsert the MicroSD card, then load &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[original]-signed.psbt&lt;/code&gt; or the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.txn&lt;/code&gt; file. Do not accidentally reload the unsigned original.&lt;/p&gt;

&lt;h2 id=&quot;the-repeatable-routine&quot;&gt;The repeatable routine&lt;/h2&gt;

&lt;p&gt;The routine is short once the setup is correct:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Receive:&lt;/strong&gt; Sparrow address → verify on COLDCARD → receive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spend with Q:&lt;/strong&gt; Sparrow PSBT QR → Q review and signature → Sparrow scan → broadcast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spend with Mk5:&lt;/strong&gt; Sparrow PSBT on MicroSD → Mk5 review and signature → Sparrow load → broadcast.&lt;/p&gt;

&lt;p&gt;Sparrow may remain online, and the transfer medium should be treated as untrusted. In the intended workflow, the signing key remains on COLDCARD. Authorize the payment only after the on-device transaction details match your intent.&lt;/p&gt;

&lt;p&gt;Use the current &lt;a href=&quot;https://coldcard.com/guides/wallets/coldcard-sparrow-wallet-setup&quot;&gt;COLDCARD and Sparrow setup&lt;/a&gt;, &lt;a href=&quot;https://coldcard.com/guides/using-coldcard/coldcard-qr-signing&quot;&gt;Q QR signing&lt;/a&gt;, and &lt;a href=&quot;https://coldcard.com/guides/using-coldcard/coldcard-microsd-signing&quot;&gt;MicroSD signing&lt;/a&gt; guides for current screens and troubleshooting. Check the &lt;a href=&quot;https://coldcard.com/security/status&quot;&gt;Security Status page&lt;/a&gt; for current firmware and migration guidance.&lt;/p&gt;

&lt;div style=&quot;text-align:center; margin:1.5rem 0;&quot;&gt;
  &lt;a class=&quot;btn btn-od btn-l btn-caps&quot; href=&quot;https://store.coinkite.com/store/category/coldcard&quot;&gt;
    &lt;svg class=&quot;fa-icon&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot;&gt;
  &lt;path d=&quot;M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z&quot; /&gt;
&lt;/svg&gt;

    Get COLDCARD Q or Mk5
  &lt;/a&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 24 Aug 2026 00:03:59 -1200</pubDate>
        <link>https://blog.coinkite.com/coldcard-sparrow-airgapped/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/coldcard-sparrow-airgapped/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>COLDCARD Security Update: Seed Generation, Transaction Integrity, and Data Isolation</title>
        <description>&lt;p&gt;Three weeks ago, we disclosed a firmware bug that caused weakened seed
generation. Attackers regenerated the corresponding private keys offline and
stole funds. The COLDCARD devices themselves were not hacked, remotely
accessed, or taken over. This release reflects three weeks of sustained review
since our July 31 hotfix — including AI-assisted review by Kimi and other
frontier models — not just the RNG path, but the whole system.&lt;/p&gt;

&lt;p&gt;This update covers what we found, what we fixed, and what customers need to do.&lt;/p&gt;

&lt;p&gt;Immediately, we strongly recommend that all &lt;strong&gt;COLDCARD Mk4, Mk5, and Q users
upgrade&lt;/strong&gt; to firmware &lt;a href=&quot;https://coldcard.com/downloads&quot;&gt;&lt;strong&gt;5.6.1 for Mk4/Mk5 and 1.5.1Q for Q from our official
firmware downloads page&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We are grateful to the security researchers who went above and beyond over the
past weeks, reporting issues, reproducing edge cases, and reviewing our fixes.
Their work put this firmware under intense, sustained scrutiny and made this
release stronger.&lt;/p&gt;

&lt;p&gt;Law enforcement authorities continue investigating the thefts and are working
to identify those responsible. We remain available to assist, and authorities
are keeping us informed of material developments.&lt;/p&gt;

&lt;p&gt;We’ll keep publishing concrete, inspectable changes as this work proceeds, and
we remain committed to supporting every customer working through their
migration until it’s done.&lt;/p&gt;

&lt;h2 id=&quot;what-this-release-includes&quot;&gt;What This Release Includes&lt;/h2&gt;

&lt;p&gt;This release includes improvements unrelated to the original RNG issue,
including policy changes to seed generation, transaction review, USB data
handling, firmware-update validation, Delta Mode hardening, and wallet backups.&lt;/p&gt;

&lt;p&gt;We’re publishing the major security and correctness changes here, including
changes unrelated to the original bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important seed reminder:&lt;/strong&gt; Installing this update does not make an existing
vulnerable seed safe. If your seed may have been generated on affected firmware
from 2021 through July 2026, create a new seed using fixed firmware and move
your funds by following our
&lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;seed-generation advisory&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The July 31 firmware corrected the seed-generation failure for new seeds. This
release gives affected customers a more thoroughly reviewed foundation to
generate replacement seeds and complete their migration. It does not change
the migration guidance for seeds already generated on affected firmware.&lt;/p&gt;

&lt;p&gt;Our team remains heads down helping affected users complete their migrations.
Support and other contact channels are handling unusually high volumes, so
responses may take longer than usual. We appreciate your patience and will
continue publishing verified guidance on the
&lt;a href=&quot;https://coldcard.com/security/status&quot;&gt;Security Status page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;seed-generation-and-defense-in-depth&quot;&gt;Seed Generation and Defense in Depth&lt;/h2&gt;

&lt;p&gt;Every newly generated seed &lt;strong&gt;now requires&lt;/strong&gt; one user-sourced entropy method: at
least 65 key presses with unpredictable timing, 50 rolls of a physical
six-sided die, or 128 physical coin flips. The same requirement applies to
generated Temporary Seeds and generated CCC Key C. The standard workflow
combines that input with fresh device entropy from all sources available to us:
SE1, SE2, and TRNG. The backup PRNG generator now uses SHA-256 Hash_DRBG instead
of Yasmarang.&lt;/p&gt;

&lt;p&gt;At boot, it is initialized from the STM32 TRNG and reseeded with a full 256-bit
digest from SE1 and SE2; its output is also mixed with fresh STM32 TRNG words.
For each new seed, firmware combines 32 bytes from the generator, 32 fresh bytes
from SE1, and 8 fresh bytes from SE2, then applies double SHA-256 before mixing
the required user input with versioned method and purpose identifiers.&lt;/p&gt;

&lt;figure&gt;
  &lt;a href=&quot;https://scgbckbone.github.io/seedflow/&quot;&gt;&lt;img src=&quot;/images/posts-img/coldcard-seed-generation-flow.png&quot; alt=&quot;COLDCARD seed-generation flow for firmware 5.6.1 and 1.5.1Q&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;&lt;/a&gt;
  &lt;figcaption&gt;&lt;a href=&quot;https://scgbckbone.github.io/seedflow/&quot;&gt;Explore the interactive seed-generation flow.&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Dice Rolls Only remains a separate advanced option: it excludes all
hardware-generated randomness and requires 50 rolls for 12 words or 99 rolls
for 24 words. Keep every input and any final hash shown by the device private.&lt;/p&gt;

&lt;p&gt;Seed-entry handling was also tightened: holding a key no longer counts as
repeated dice rolls.&lt;/p&gt;

&lt;p&gt;For a wallet intended to hold a meaningful balance, we recommend the standard
Dice Rolls option executed honestly with genuine rolls, a strong and unique
BIP-39 passphrase, and, where appropriate, a carefully designed multisig setup
suited to your threat model.&lt;/p&gt;

&lt;p&gt;These protections do not make an already vulnerable seed safe and do not
replace moving funds to a newly generated seed.&lt;/p&gt;

&lt;h2 id=&quot;active-wallet-display-and-backup-behavior&quot;&gt;Active-Wallet Display and Backup Behavior&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;When a BIP-39 passphrase wallet is active, View Seed Words now shows the
effective extended private key instead of the parent seed words.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Backup System&lt;/strong&gt;, &lt;strong&gt;Clone Coldcard&lt;/strong&gt;, and Key Teleport’s &lt;strong&gt;Full COLDCARD
Backup&lt;/strong&gt; now capture the wallet currently in effect, including a Temporary
Seed or passphrase wallet, and warn before export.&lt;/li&gt;
  &lt;li&gt;For a passphrase wallet, the backup contains the effective XPRV. It does not
contain the parent seed words or the passphrase. Review the
&lt;a href=&quot;https://coldcard.com/docs/backups/#about-the-backup-file-contents&quot;&gt;backup documentation&lt;/a&gt;
before relying on a new backup, and retain the recovery material needed for
your intended wallet structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;transaction-approval-and-signing&quot;&gt;Transaction Approval and Signing&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;COLDCARD now re-verifies a staged PSBT immediately before signing. If a
connected host changes the transaction after it was reviewed on the device,
signing stops and COLDCARD displays &lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Transaction modified&lt;/code&gt;&lt;/strong&gt;. This fixes a
theoretical vulnerability if your computer’s USB port was compromised and
COLDCARD is connected during the signing process.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SIGHASH_SINGLE&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SIGHASH_SINGLE|ANYONECANPAY&lt;/code&gt; are now blocked by default
because later transaction outputs can remain modifiable. Advanced users who
require these modes can set &lt;strong&gt;Sighash Checks&lt;/strong&gt; to &lt;strong&gt;Warn&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;usb-data-and-firmware-update-boundaries&quot;&gt;USB Data and Firmware-Update Boundaries&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;USB downloads are now limited to the most recent result produced by the
device, require an encrypted session, and are invalidated by new uploads,
transactions, or sessions.&lt;/li&gt;
  &lt;li&gt;Additional bounds checks reject integer wraparound and out-of-range access at
the firmware call boundary. The SE1 check value now uses a nonce range
separate from encrypted secret data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;delta-mode-hardening&quot;&gt;Delta Mode Hardening&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Delta Mode now blocks Seed Vault access through Seed XOR, Key Teleport, CCC
Key C import, and BIP-85.&lt;/li&gt;
  &lt;li&gt;Listing saved BIP-39 passphrases in Delta Mode no longer exposes seed-derived
wallet details.&lt;/li&gt;
  &lt;li&gt;Seed-derived message signatures are no longer valid when using a Delta Mode
PIN.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;integrated-trng-self-test&quot;&gt;Integrated TRNG Self-Test&lt;/h2&gt;

&lt;p&gt;We made the hardware TRNG path itself more robust against some internal error
states and compilation errors:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Firmware now checks hardware RNG seed-error state, output readiness, and
zero-word conditions. It retries a bounded number of times and stops on
obvious faults. After clearing a recoverable seed-error condition, firmware
discards the next 12 hardware words as required by the STM32 recovery
procedure before using new output.&lt;/li&gt;
  &lt;li&gt;At boot, firmware checks that the exact &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; function used by the
running build enters the intended hardware RNG read path. If that check
fails, the device stops before normal operation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These controls verify specific source and failure boundaries. Passing the
boot-time check confirms that the running build’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; call reached the
intended hardware-read path during the self-test. It does not independently
prove the quality of every output or every entropy source, and it should not be
read as a claim that finite testing can prove arbitrary randomness.&lt;/p&gt;

&lt;h2 id=&quot;compatibility-and-correctness&quot;&gt;Compatibility and Correctness&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;BIP-322 message signing rejects unsupported text before approval, including
non-ASCII text and ambiguous whitespace cases.&lt;/li&gt;
  &lt;li&gt;WIF Store no longer creates duplicate entries after restart.&lt;/li&gt;
  &lt;li&gt;Short PSBT uploads are no longer mistaken for firmware. Multisig enrollment
rejects duplicate or device-owned keys. Clone restore now confirms the seed
fingerprint. Backup restore is capped, PSRAM is cleared on seed wipe, and
multisig names must be unique.&lt;/li&gt;
  &lt;li&gt;On Q, BBQr rejects malformed or oversized imports, and BIP-21 fields are
sanitized. Locally entered passphrases must be scrolled before reveal.&lt;/li&gt;
  &lt;li&gt;Send Password remains available as an explicitly approved emulated-keyboard
action when the general USB data protocol is disabled.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;thanks-to-external-contributors&quot;&gt;Thanks to External Contributors&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/drk1wi&quot;&gt;@drk1wi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/KirillCherikov&quot;&gt;@KirillCherikov&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/instagibbs&quot;&gt;@instagibbs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://karma-x.io/blog/post/75/&quot;&gt;Karma-X security review&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“FreeZ Agent” reported the staged-PSBT issue, “Rety” reported the Seed XOR
issue, and Peter Todd shared ideas on inter-key timing entropy.&lt;/p&gt;

&lt;h2 id=&quot;new-coldcard-security-status-page&quot;&gt;New COLDCARD Security Status Page&lt;/h2&gt;

&lt;p&gt;We’ve launched a new public
&lt;a href=&quot;https://coldcard.com/security/status&quot;&gt;COLDCARD Security Status page&lt;/a&gt;. This is
the place to check the current fixed-release matrix, migration guidance,
independent-validation evidence and its stated limits, and verified incident
updates. It also provides
&lt;a href=&quot;https://coldcard.com/security/status.json&quot;&gt;machine-readable status&lt;/a&gt;, and we’ll
keep it updated as verified information changes.&lt;/p&gt;

&lt;p&gt;Our &lt;a href=&quot;https://coinkite.com/security&quot;&gt;Security &amp;amp; Transparency hub&lt;/a&gt; connects that
live status page with the advisory, disclosure history, firmware-verification
resources, private reporting instructions, and related public records.&lt;/p&gt;

&lt;h2 id=&quot;how-to-update&quot;&gt;How to Update&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Download firmware only from the
&lt;a href=&quot;https://coldcard.com/downloads&quot;&gt;official COLDCARD downloads page&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Follow our instructions to
&lt;a href=&quot;https://coldcard.com/docs/upgrade/#dont-trust-verify-the-firmware&quot;&gt;verify the SHA-256 hash and PGP signature&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Install it using the
&lt;a href=&quot;https://coldcard.com/docs/upgrade/#upgrade-procedure-using-microsd&quot;&gt;MicroSD upgrade procedure&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;After restart, select &lt;strong&gt;Advanced &amp;gt; Upgrade &amp;gt; Show Version&lt;/strong&gt; and confirm that
your device reports &lt;strong&gt;5.6.1 on Mk4/Mk5&lt;/strong&gt; or &lt;strong&gt;1.5.1Q on Q&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;If the July seed advisory applies to you, complete the separate seed
migration. Upgrading alone is not sufficient.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Full technical notes, affected-version information, source links, and
researcher acknowledgements are available in our
&lt;a href=&quot;https://coldcard.com/docs/upgrade/&quot;&gt;firmware release notes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Security reports can be submitted privately to
&lt;a href=&quot;mailto:security@coinkite.com&quot;&gt;security@coinkite.com&lt;/a&gt; under our
&lt;a href=&quot;https://coinkite.com/responsible-disclosure&quot;&gt;responsible-disclosure policy&lt;/a&gt;.
The firmware repository now also publishes private reporting guidance in
&lt;a href=&quot;https://github.com/Coldcard/firmware/blob/master/SECURITY.md&quot;&gt;SECURITY.md&lt;/a&gt;.
Customers who need assistance should contact our
&lt;a href=&quot;https://coldcard.com/support/&quot;&gt;support team&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Thu, 20 Aug 2026 00:00:00 -1200</pubDate>
        <link>https://blog.coinkite.com/coldcard-security-update-5.6.1-1.5.1q/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/coldcard-security-update-5.6.1-1.5.1q/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>Update on Customer Data Retention</title>
        <description>&lt;p&gt;We want to inform our customers of a change to our data-handling practices in
connection with the &lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;security incident disclosed on July 30,
2026&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As many of you know, our standard practice has been to automatically blank
customer records after 120 days, retaining only email addresses and country of
residence. We have also offered customers the option to request accelerated
blanking at any time after delivery.&lt;/p&gt;

&lt;p&gt;Due to legal obligations arising from the security incident, including the
preservation of records that may be relevant to ongoing and anticipated legal
proceedings, we have temporarily suspended our automated data-blanking process.
This means that customer records that would otherwise have been blanked under
our standard schedule will be retained until further notice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;However, if you would like us to apply our existing retention policies to
your data, we will exempt them from this protocol. Please confirm that you do
not want us to preserve your data by using our
&lt;a href=&quot;https://coinkite.com/contact&quot;&gt;support form&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We understand that this is a departure from our published practices and that
our customers value the privacy protections we have committed to. We want to
be transparent about why this change has been made. We are required by law to
preserve records that may be relevant to legal proceedings. This obligation
applies regardless of our internal data-retention policies and overrides our
standard deletion schedule.&lt;/p&gt;

&lt;p&gt;During this period, all retained customer data will be stored securely and
access will be restricted to authorized personnel. Retained data will not be
used for any purpose other than compliance with legal obligations. We will
resume our standard data-blanking practices as soon as we are legally permitted
to do so.&lt;/p&gt;

&lt;p&gt;If you have questions about this change, please use our
&lt;a href=&quot;https://coinkite.com/contact&quot;&gt;support form&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 07 Aug 2026 00:54:54 -1200</pubDate>
        <link>https://blog.coinkite.com/update-on-customer-data-retention/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/update-on-customer-data-retention/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>Adding to the Public Record on Our Ongoing Investigation</title>
        <description>&lt;h2 id=&quot;what-happened-in-simple-terms&quot;&gt;What Happened, in Simple Terms&lt;/h2&gt;

&lt;p&gt;There was no intentional weak-entropy fallback. It is important to be precise
about what happened.&lt;/p&gt;

&lt;p&gt;Yasmarang was MicroPython’s built-in general-purpose PRNG, introduced upstream
in May 2018. It did not become part of COLDCARD’s seed-generation path until the
libNgU migration in March 2021. Most language runtimes include a
non-cryptographic PRNG for general-purpose tasks. Its presence was not itself
unusual.&lt;/p&gt;

&lt;p&gt;COLDCARD was designed to rely exclusively on its hardware TRNG for seed
generation, with no software fallback. Setting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MICROPY_HW_ENABLE_RNG=0&lt;/code&gt; was
intended to disable the software path. A build and link integration error meant
that setting did not have the intended effect, and libNgU’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; symbol
resolved to MicroPython’s default Yasmarang implementation instead.&lt;/p&gt;

&lt;p&gt;The hardware TRNG did not fail and trigger a weaker fallback at runtime. This
was inherited platform behavior activated by a link-time error, not an
intentional seed-generation design decision or shortcut. This distinction does
not change the risk or migration guidance for affected seeds.&lt;/p&gt;

&lt;p&gt;The COLDCARD devices themselves were not hacked, remotely accessed, or taken
over. A firmware bug in affected releases caused weakened seed generation.
Attackers exploited those weak seeds offline by regenerating the corresponding
private keys and stealing funds.&lt;/p&gt;

&lt;p&gt;We understand there is real anger at this moment. Users have suffered real
losses, and for those impacted, no public statement is enough.&lt;/p&gt;

&lt;p&gt;We continue to support affected customers directly and urge others to reach
out to any other users they are aware of who may be affected. &lt;strong&gt;Urgently: if
your seed was generated with our affected firmware, without at least 50
independent, private dice rolls, and your funds aren’t protected by a strong,
unique BIP-39 passphrase, &lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;move those funds to a new wallet
now&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We also believe this vulnerability is a warning for every company building
Bitcoin hardware and software, not only us—and we’re publishing this now,
while the details are still fresh, because other companies need time to check
their own code to prevent potential further loss.&lt;/p&gt;

&lt;p&gt;To support that effort, we’ve published a new resource:
&lt;a href=&quot;https://coinkite.com/historical-disclosures&quot;&gt;coinkite.com/historical-disclosures&lt;/a&gt;,
a page that records all known public security research, coordinated
disclosures, professional reviews, internal findings, and security advisories
affecting COLDCARD devices.&lt;/p&gt;

&lt;p&gt;We’re publishing it because researchers, journalists, and security teams doing
their own review need a definitive record to work from. We’ll keep this updated
as the investigation continues.&lt;/p&gt;

&lt;h2 id=&quot;where-this-bug-lived&quot;&gt;Where This Bug Lived&lt;/h2&gt;

&lt;p&gt;As independent researchers have &lt;a href=&quot;https://x.com/utxoclub/status/2083838008357450063&quot;&gt;publicly
corroborated&lt;/a&gt;, this firmware
bug appears to have lived at a boundary between two unrelated submodules, not
in the parent code, and not in the cryptographic or Bitcoin-specific logic that
are the subject of most internal and third-party reviews.&lt;/p&gt;

&lt;p&gt;Because the flag check looked correct, the bug silently went unnoticed, and
its potential impact grew with every release.&lt;/p&gt;

&lt;p&gt;We believe it’s important for the broader ecosystem to understand how this bug
arose, and why it evaded detection, so they can avoid similar consequences.&lt;/p&gt;

&lt;h2 id=&quot;what-ai-assisted-review-did-and-didnt-catch&quot;&gt;What AI-Assisted Review Did, and Didn’t, Catch&lt;/h2&gt;

&lt;p&gt;We know there are questions about our own use of AI in code review. We’ll cover
this fully in our post-mortem, but given the active investigation right now,
here’s what we can say immediately.&lt;/p&gt;

&lt;p&gt;We’ve run AI-assisted review against our critical codebases, including in the
weeks before the exploit. It did not catch this vulnerability. Since the
incident, we’ve also tested our code against frontier models, including Kimi
K3, Claude Fable, and Codex 5.6. None of them caught it.&lt;/p&gt;

&lt;p&gt;It’s a reason for us, and anyone else relying on AI tools, to be specific about
what they currently catch and what they might not.&lt;/p&gt;

&lt;h2 id=&quot;what-were-asking-other-teams-to-do&quot;&gt;What We’re Asking Other Teams to Do&lt;/h2&gt;

&lt;p&gt;We remain committed to sharing what we learn as our own review process
continues. If your team relies on AI review of security-critical code, we
recommend you test it specifically against build and submodule boundaries.&lt;/p&gt;

&lt;p&gt;As a result of these new and powerful AI models, we believe many Bitcoin
projects, including those that rely on open-source code, require immediate
review.&lt;/p&gt;

&lt;p&gt;We’re addressing what we can, we’re supporting the people directly affected,
and publishing everything we know.&lt;/p&gt;
</description>
        <pubDate>Tue, 04 Aug 2026 08:02:40 -1200</pubDate>
        <link>https://blog.coinkite.com/adding-to-public-record/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/adding-to-public-record/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>Update, Sunday.</title>
        <description>&lt;p&gt;The last three days have been some of the hardest in this company’s history,
and for a lot of the people reading this, they’ve been something much worse.
Money that took years to save, gone. Trust that took years to build, broken.
That impact is real, and for some, the damage is permanent. Some are asking hard
questions about our company. We are, too.&lt;/p&gt;

&lt;p&gt;Our work won’t stop in the weeks ahead. It is just beginning.&lt;/p&gt;

&lt;p&gt;Since Friday, our team has been reaching out and working directly with
customers, helping move funds that were still safe to move, walking through
recovery options together, and staying reachable for anyone who wrote in not
knowing where they stood. We acknowledge that others in the community did the
same, selflessly, and without compensation. We thank them sincerely.&lt;/p&gt;

&lt;p&gt;We’ve also been in direct contact with the wider hardware wallet and
self-custody community, including other builders, researchers, and people who’ve
thought hard about this kind of failure. All have graciously offered whatever
resources they could spare. We are still engaged in this outreach and are
committing to work with the broader industry going forward.&lt;/p&gt;

&lt;p&gt;If you have an affected device, please do not dispose of it. It may become
essential if funds are recovered. Our legal team will coordinate as warranted
with law enforcement across multiple jurisdictions to support efforts in
identifying those responsible.&lt;/p&gt;

&lt;p&gt;We destroyed our remaining COLDCARD inventory manufactured with the vulnerable
firmware, and shipment was halted when the vulnerability was confirmed.
SATSCARD, OPENDIME, and TAPSIGNER are not affected by this issue.&lt;/p&gt;

&lt;p&gt;Our &lt;a href=&quot;https://coldcard.com/downloads&quot;&gt;patched firmware&lt;/a&gt; prevents this issue from
affecting any new seed generated going forward. It does not repair or restore
security to a seed that was already generated on vulnerable firmware. A new
seed must be created, and funds moved to it to be secure.&lt;/p&gt;

&lt;p&gt;If you need a device sooner than we can provide one, or want an alternative
while you decide next steps, &lt;a href=&quot;https://bitkey.world/&quot;&gt;Bitkey&lt;/a&gt;,
&lt;a href=&quot;https://www.ledger.com/&quot;&gt;Ledger&lt;/a&gt;, &lt;a href=&quot;https://trezor.io/&quot;&gt;Trezor&lt;/a&gt;,
&lt;a href=&quot;https://blockstream.com/jade/&quot;&gt;Jade&lt;/a&gt;, and
&lt;a href=&quot;https://bitbox.swiss/&quot;&gt;BitBox&lt;/a&gt; are reputable options. For collaborative
custody, &lt;a href=&quot;https://www.anchorwatch.com/&quot;&gt;AnchorWatch&lt;/a&gt;, &lt;a href=&quot;https://casa.io/&quot;&gt;Casa&lt;/a&gt;,
&lt;a href=&quot;https://www.unchained.com/&quot;&gt;Unchained&lt;/a&gt;, &lt;a href=&quot;https://nunchuk.io/&quot;&gt;Nunchuk&lt;/a&gt;, and
&lt;a href=&quot;https://lianawallet.com/&quot;&gt;Liana&lt;/a&gt; are worthy of consideration.&lt;/p&gt;

&lt;p&gt;We continue to read everything—the replies, the texts, the emails. Some of it
we owe direct answers to. We’ll follow up on that specifically and soon.&lt;/p&gt;

&lt;p&gt;There are real lessons here for us as a company. We owe the community better,
and we’re beginning to understand the many ways in which our best efforts and
designs could have allowed for this to happen. We’ll show that in our technical
postmortem, as soon as it is possible to do so.&lt;/p&gt;

&lt;p&gt;For now, please continue to refer to the &lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;COLDCARD Security
Advisory&lt;/a&gt; for
the best available information. Please continue to reach out to friends,
family, and loved ones who may be affected. Time is of the essence. The threat
remains real and ongoing.&lt;/p&gt;

</description>
        <pubDate>Sun, 02 Aug 2026 11:00:19 -1200</pubDate>
        <link>https://blog.coinkite.com/update-sunday/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/update-sunday/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>Technical Deep Dive into the Entropy Issue</title>
        <description>&lt;h2 id=&quot;what-happened-in-simple-terms&quot;&gt;What Happened, in Simple Terms&lt;/h2&gt;

&lt;p&gt;There was no intentional weak-entropy fallback. It is important to be precise
about what happened.&lt;/p&gt;

&lt;p&gt;Yasmarang was MicroPython’s built-in general-purpose PRNG, introduced upstream
in May 2018. It did not become part of COLDCARD’s seed-generation path until the
libNgU migration in March 2021. Most language runtimes include a
non-cryptographic PRNG for general-purpose tasks. Its presence was not itself
unusual.&lt;/p&gt;

&lt;p&gt;COLDCARD was designed to rely exclusively on its hardware TRNG for seed
generation, with no software fallback. Setting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MICROPY_HW_ENABLE_RNG=0&lt;/code&gt; was
intended to disable the software path. A build and link integration error meant
that setting did not have the intended effect, and libNgU’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; symbol
resolved to MicroPython’s default Yasmarang implementation instead.&lt;/p&gt;

&lt;p&gt;The hardware TRNG did not fail and trigger a weaker fallback at runtime. This
was inherited platform behavior activated by a link-time error, not an
intentional seed-generation design decision or shortcut. This distinction does
not change the risk or migration guidance for affected seeds.&lt;/p&gt;

&lt;p&gt;The COLDCARD devices themselves were not hacked, remotely accessed, or taken
over. A firmware bug in affected releases caused weakened seed generation.
Attackers exploited those weak seeds offline by regenerating the corresponding
private keys and stealing funds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Updated August 1, 2026 at 2:35 p.m. EDT:&lt;/strong&gt; Funds controlled by seeds generated
on affected firmware are at risk if the seed was created without at least 50
independent, private dice rolls and the funded wallet is not protected by a
strong, unique BIP-39 passphrase.&lt;/p&gt;

&lt;p&gt;Fixed firmware is now available for every affected model and release track,
including Edge firmware versions 6.6.0X for Mk4/Mk5 and 6.6.0QX for Q.&lt;/p&gt;

&lt;h2 id=&quot;what-you-should-do&quot;&gt;What You Should Do&lt;/h2&gt;

&lt;p&gt;The passphrase must be strong, unique, secret, and separate from the seed
backup. A short, common, patterned, quoted, reused, exposed, or uncertain
passphrase does not qualify; treat those funds as at risk. Even when a strong
passphrase reduces the immediate exposure, it does not repair an affected seed.
Unless the independent dice-entropy exception applies, replace the seed and
migrate as soon as practical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If your seed was generated on a Mk2 or Mk3 running firmware 4.0.1 through 4.1.9
without at least 50 independent, private dice rolls:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Update the Mk2 or Mk3 to &lt;a href=&quot;https://coldcard.com/downloads/mk3&quot;&gt;firmware version &lt;strong&gt;4.2.0 or
later&lt;/strong&gt;&lt;/a&gt; before generating a replacement
seed.&lt;/li&gt;
  &lt;li&gt;Generate a completely new seed on the updated COLDCARD.&lt;/li&gt;
  &lt;li&gt;Record and verify the new backup, wallet fingerprint, and a receive address.&lt;/li&gt;
  &lt;li&gt;Send a small test transaction before moving the remaining funds.&lt;/li&gt;
  &lt;li&gt;Keep the old backup until the migration is complete and confirmed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow the dedicated &lt;a href=&quot;https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/&quot;&gt;Mk2/Mk3 Security Advisory and migration
instructions&lt;/a&gt;.
Proceed calmly and verify every step.&lt;/p&gt;

&lt;p&gt;If you added at least 50 fair, independent, private dice rolls when originally
creating the seed, read the dice guidance in the advisory before migrating. We
do not consider that seed at risk from this RNG issue alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If your seed was generated on affected Mk4, Mk5, or Q firmware without at
least 50 independent, private dice rolls:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Upgrade to the fixed firmware for the release track you use before
generating any new seed:
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Standard:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/mk&quot;&gt;version 5.6.0 or later for Mk4/Mk5&lt;/a&gt;,
or &lt;a href=&quot;https://coldcard.com/downloads/q1&quot;&gt;version 1.5.0Q or later for Q&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Edge:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/edge&quot;&gt;version 6.6.0X or later for Mk4/Mk5, or version 6.6.0QX or
later for Q&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Generate a completely new seed on the updated COLDCARD.&lt;/li&gt;
  &lt;li&gt;The fixed firmware’s device-generated seed is sufficient. Dice rolls are
optional and are not required to address this issue. A BIP-39 passphrase is
a separate wallet-security choice.&lt;/li&gt;
  &lt;li&gt;Back up the new seed and any passphrase carefully. Store the passphrase
separately from the seed words.&lt;/li&gt;
  &lt;li&gt;Power-cycle the COLDCARD and verify the wallet fingerprint and a receive
address.&lt;/li&gt;
  &lt;li&gt;Send a small test transaction before moving the remaining funds.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Updating the firmware does &lt;strong&gt;not&lt;/strong&gt; repair a seed that was generated by affected
firmware. A new seed must be generated and the funds migrated to the new wallet.&lt;/p&gt;

&lt;p&gt;Standard and Edge are separate release tracks. If you use Edge, install the
fixed Edge release for your model. Do not assume an older Edge 6.x release is
fixed merely because its version number is higher than the standard release.&lt;/p&gt;

&lt;p&gt;A passphrase creates a different wallet. Every passphrase—including one
containing a typo—produces a valid wallet, so verify the wallet fingerprint
before depositing funds. Losing the passphrase means losing access to that
wallet.&lt;/p&gt;

&lt;p&gt;Read the &lt;a href=&quot;https://coldcard.com/docs/passphrase/&quot;&gt;COLDCARD passphrase
instructions&lt;/a&gt; and &lt;a href=&quot;https://coldcard.com/docs/verifying-dice-roll-math/&quot;&gt;dice-roll
instructions&lt;/a&gt; before using
either option.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TAPSIGNER, OPENDIME, and SATSCARD are not affected because they use different
codebases.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;

&lt;p&gt;A complex and subtle series of bugs prevented the hardware RNG from
contributing randomness in certain versions of the firmware. We
were unaware of the bug until today. Changes introduced for Mk4 added
entropy from SE1 and SE2, which partially reduced the impact on later
models but did not restore the intended 128-bit security target.&lt;/p&gt;

&lt;p&gt;The COLDCARD source code has always been open and publicly available,
so we have to assume that someone used AI to review previous versions
of our firmware and stumbled upon this issue. A few weeks ago, we
used one of the best available AI models to review our code for
security issues, and it did not find this bug or anything serious.&lt;/p&gt;

&lt;p&gt;Both attackers and defenders have the same AI tools, but today
it did not help us, and only helped the bad guys.&lt;/p&gt;

&lt;p&gt;For funded wallets with neither the independent dice entropy nor a strong,
unique BIP-39 passphrase described above, the reduced search space is a direct
security risk, not a theoretical possibility.&lt;/p&gt;

&lt;h2 id=&quot;technical-background&quot;&gt;Technical Background&lt;/h2&gt;

&lt;p&gt;In 2021, we moved COLDCARD’s elliptic-curve operations to Bitcoin Core’s
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;libsecp256k1&lt;/code&gt;, using the same implementation trusted by Bitcoin Core instead
of maintaining a separate EC stack. That required adding libNgU, an embedded
MicroPython library that exposes &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;libsecp256k1&lt;/code&gt; and other Bitcoin primitives.&lt;/p&gt;

&lt;p&gt;The cryptographic choice was sound. The integration was not. During that
migration, wallet seed generation moved from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ckcc.rng_bytes()&lt;/code&gt; to
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ngu.random.bytes()&lt;/code&gt;. That path resolved &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; to MicroPython’s software
fallback instead of COLDCARD’s hardware RNG implementation.&lt;/p&gt;

&lt;p&gt;The bulk of randomness on the COLDCARD was coming from a 
&lt;a href=&quot;https://github.com/micropython/micropython/blob/master/ports/stm32/rng.c#L90&quot;&gt;PRNG&lt;/a&gt;
that I didn’t know was actually in the source code base (it is from a
submodule, Micropython). At the same time the carefully crafted
TRNG code I wrote &lt;strong&gt;was being&lt;/strong&gt; used, but just by chance, and only for
less important things.&lt;/p&gt;

&lt;p&gt;On Mk2 and Mk3, the active PRNG was seeded primarily from device and timing
state. Under our current attack assumptions, we estimate the effective
search space at about 40 bits. This is a preliminary estimate and may
change as analysis continues.&lt;/p&gt;

&lt;p&gt;During Mk4 development, we also mixed values from the TRNGs in SE1 and
SE2 into the PRNG state as a backup to a backup. This additional entropy
materially improves the situation for Mk4, Q and Mk5. Under the same
current assumptions, we estimate the effective search space at about
72 bits.&lt;/p&gt;

&lt;p&gt;Although Mk4, Q and Mk5 had additional secure-element entropy mixed into
the PRNG state, they continued to draw most subsequent random values from
the same MicroPython PRNG:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/micropython/micropython/blob/master/ports/stm32/rng.c#L36&quot;&gt;micropython/ports/stm32/rng.c&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That file either builds PRNG code, or uses the STM32 hardware TRNG. Looking
quickly at it, you’d think we got the TRNG version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;get_rng()&lt;/code&gt;
but in fact, I explicitly set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MICROPY_HW_ENABLE_RNG&lt;/code&gt; to zero, thinking
we didn’t need either version, but that’s not what it does. Because
that code provided a PRNG with the same function signature as
the desired code, the build completed without identifying the wrong
implementation.&lt;/p&gt;

&lt;p&gt;The MicroPython fallback was
&lt;a href=&quot;https://github.com/micropython/micropython/commit/f68e722005&quot;&gt;introduced upstream in May
2018&lt;/a&gt;.
It did not enter COLDCARD wallet seed generation until the
&lt;a href=&quot;https://github.com/Coldcard/firmware/commit/b18723dddb6d751c39978e4364b56b2414f68b47&quot;&gt;libNgU migration in March
2021&lt;/a&gt;.
The affected Mk2 and Mk3 firmware range is 4.0.1 through 4.1.9. Version 4.2.0
corrects new seed generation. The eight-year figure therefore describes the
age of the upstream fallback code, not the duration of affected COLDCARD seed
generation.&lt;/p&gt;

&lt;p&gt;Existing review confirmed that the intended TRNG implementation was present in
the firmware binary, but did not verify which &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; implementation the
wallet seed-generation path actually reached across the two submodules. No
changes are needed in the COLDCARD firmware itself, just which code comes along
for the ride.&lt;/p&gt;

&lt;h2 id=&quot;why-existing-review-did-not-catch-it&quot;&gt;Why Existing Review Did Not Catch It&lt;/h2&gt;

&lt;p&gt;Both RNG implementations had the same function signature, and the intended
board-specific TRNG code was present in the binary. Existing review verified
that code but did not verify end-to-end symbol resolution and call reachability
from wallet seed generation.&lt;/p&gt;

&lt;p&gt;The relevant preprocessor guard is visible in this section of code:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/switck/libngu/blob/cf1988aa54969a7d2dcef261ee664a41a7013262/ngu/random.c#L22-L31&quot;&gt;random.c:22-31&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The guard used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#ifndef&lt;/code&gt;, which tests whether &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MICROPY_HW_ENABLE_RNG&lt;/code&gt; is
defined, rather than whether its value is nonzero. We defined that macro as
zero, so the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#error&lt;/code&gt; did not stop the build.&lt;/p&gt;

&lt;p&gt;The hotfix now explicitly excludes MicroPython’s fallback PRNG object and adds
a build-time RNG symbol check. The build fails unless the board-specific object
defines the global &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rng_get()&lt;/code&gt; symbol and the upstream fallback object defines
no symbols.&lt;/p&gt;

&lt;h2 id=&quot;next-steps&quot;&gt;Next Steps&lt;/h2&gt;

&lt;p&gt;We have released emergency hotfixes for every affected model and release
track:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://coldcard.com/downloads/mk3&quot;&gt;Version 4.2.0 for Mk2 and Mk3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://coldcard.com/downloads/mk&quot;&gt;Standard version 5.6.0 for Mk4 and Mk5&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://coldcard.com/downloads/q1&quot;&gt;Standard version 1.5.0Q for Q&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://coldcard.com/downloads/edge&quot;&gt;Edge version 6.6.0X for Mk4 and Mk5, and Edge version 6.6.0QX for
Q&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These hotfixes correct entropy generation. Updating does not repair seeds that
were generated by earlier affected firmware; those seeds must still be
replaced unless the independent dice-entropy exception applies.&lt;/p&gt;

&lt;p&gt;At this point, many researchers and competitors have studied this bug and
published their own analysis:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://x.com/LLFOURN/status/2082990000896147942&quot;&gt;LLFOURN: Attack-cost model for affected COLDCARD
generations&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://engineering.block.xyz/blog/predictable-rng-fallback-and-32-bit-reseed-in-coldcard-firmware&quot;&gt;Block: Predictable RNG Fallback and 32-Bit Reseed in COLDCARD
Firmware&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div&gt;
  &lt;a class=&quot;btn btn-info&quot; style=&quot;margin-left:4px;&quot; href=&quot;https://coldcard.com/docs/upgrade&quot;&gt;
     &lt;svg class=&quot;fa-icon&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 512 512&quot;&gt;
  &lt;path d=&quot;M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z&quot; /&gt;
&lt;/svg&gt;
     Download the latest firmware&lt;/a&gt;
&lt;/div&gt;
</description>
        <pubDate>Thu, 30 Jul 2026 00:00:00 -1200</pubDate>
        <link>https://blog.coinkite.com/entropy-technical-backgrounder/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/entropy-technical-backgrounder/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>Coldcard Security Advisory</title>
        <description>&lt;p&gt;&lt;strong&gt;Updated August 1, 2026 at 2:35 p.m. EDT:&lt;/strong&gt; Funds controlled by seeds generated
on affected firmware are at risk if the seed was created without at least 50
independent, private dice rolls and the funded wallet is not protected by a
strong, unique BIP-39 passphrase.&lt;/p&gt;

&lt;p&gt;The COLDCARD devices themselves were not hacked, remotely accessed, or taken
over. A firmware bug in affected releases caused weakened seed generation.
Attackers exploited those weak seeds offline by regenerating the corresponding
private keys and stealing funds.&lt;/p&gt;

&lt;p&gt;Fixed firmware is now available for every affected model and release track:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Mk2/Mk3:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/mk3&quot;&gt;version 4.2.0 or later&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mk4/Mk5 standard:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/mk&quot;&gt;version 5.6.0 or later&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Q standard:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/q1&quot;&gt;version 1.5.0Q or later&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mk4/Mk5 Edge:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/edge&quot;&gt;version 6.6.0X or later&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Q Edge:&lt;/strong&gt; &lt;a href=&quot;https://coldcard.com/downloads/edge&quot;&gt;version 6.6.0QX or later&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Standard and Edge are separate release tracks. If you use Edge, install the
fixed Edge release for your model. Do not assume an older Edge 6.x release is
fixed merely because its version number is higher than the standard release.&lt;/p&gt;

&lt;p&gt;Do not generate a new seed on any
of these models until the update is installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Funds controlled by a seed generated on Mk2 or Mk3 version 4.0.1 (March
2021) through 4.1.9 inclusive are at risk if the seed was created without at
least 50 fair, independent, private dice rolls and the funded wallet is not
protected by a strong, unique BIP-39 passphrase.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Seeds generated on Mk4, Q and Mk5 before the fixed firmware releases are also
affected, with about 72 bits of entropy rather than the expected 128 bits.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Updating the firmware does not change or repair an existing seed. If your seed
was generated before the fixed firmware version for your model, follow the
migration guidance below unless the independent dice-entropy exception applies
to you. A strong passphrase reduces the immediate exposure, but it does not
repair the affected seed; passphrase users should also migrate as soon as
practical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TAPSIGNER, OPENDIME and SATSCARD are not affected by this bug as they are different codebases&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The issue is present on Mk2 and Mk3 firmware versions &lt;a href=&quot;https://coldcard.com/downloads/mk3&quot;&gt;4.0.1 through 4.1.9
inclusive&lt;/a&gt;. It also affects seeds generated
on Mk4 and Mk5 before standard version 5.6.0 or Edge version 6.6.0X, and on Q
before standard version 1.5.0Q or Edge version 6.6.0QX. The impact on Mk4, Mk5
and Q is not as severe but is still serious.&lt;/p&gt;

&lt;h2 id=&quot;if-you-added-dice-when-creating-the-seed&quot;&gt;If You Added Dice When Creating the Seed&lt;/h2&gt;

&lt;p&gt;This issue affects the device-generated entropy. It does not remove independent
entropy that you supplied with dice.&lt;/p&gt;

&lt;p&gt;On affected firmware, COLDCARD &lt;a href=&quot;https://github.com/Coldcard/firmware/blob/621e808712464688584fdffad9eba132cc7c27cd/shared/seed.py#L276-L332&quot;&gt;hashed the device-generated seed together with
every dice roll&lt;/a&gt;
entered through &lt;strong&gt;Add Dice Rolls&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;50 to 98 independent, private rolls:&lt;/strong&gt; the dice input alone contributed at
least 128 bits of entropy.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;99 or more independent, private rolls:&lt;/strong&gt; the dice input contributed
approximately 256 bits of entropy.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Fewer than 50 rolls, or you do not remember:&lt;/strong&gt; follow the migration
guidance in this advisory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you entered at least 50 fair and independent rolls, and the rolls were not
recorded or exposed, we do not consider the resulting seed at risk from this
RNG issue alone.&lt;/p&gt;

&lt;p&gt;This applies to the final seed words shown after the dice were added. If you are
uncertain which words you used, how many rolls you entered, or whether the
rolls were private, migrate to a new seed.&lt;/p&gt;

&lt;aside class=&quot;advisory-callout&quot; role=&quot;note&quot; aria-labelledby=&quot;mk3-firmware-status&quot;&gt;
  &lt;h2 id=&quot;mk3-firmware-status&quot;&gt;Investigation and Firmware Status&lt;/h2&gt;
  &lt;p&gt;Fixed Mk2/Mk3 firmware version 4.2.0 has been released. Install it from the
  official Mk2/Mk3 download page before generating a replacement seed.&lt;/p&gt;
  &lt;p&gt;Version 4.2.0 corrects new seed generation. It cannot repair a seed that
  was already generated by affected firmware.&lt;/p&gt;
  &lt;p&gt;This advisory reflects our early analysis. Our investigation is ongoing,
  and a formal technical review will be released as soon as possible.&lt;/p&gt;
&lt;/aside&gt;

&lt;h2 id=&quot;if-you-used-a-passphrase&quot;&gt;If You Used a Passphrase&lt;/h2&gt;

&lt;p&gt;If the affected seed was used with a strong, unique BIP-39 passphrase, that
passphrase adds an independent barrier. The reduced seed entropy alone is not
enough to reach funds in that passphrase wallet; an attacker must also discover
the passphrase.&lt;/p&gt;

&lt;p&gt;A short, common, patterned, quoted, or reused passphrase may be guessable. If
that describes your passphrase, or you are uncertain about its strength, treat
the funds as at risk and migrate immediately.&lt;/p&gt;

&lt;p&gt;This means a BIP-39 passphrase, not the COLDCARD PIN. Even with a strong
passphrase, migrate to a newly generated seed as soon as practical. Continue to
protect the passphrase and do not enter it into a website or an untrusted
device.&lt;/p&gt;

&lt;h2 id=&quot;if-the-mk2-or-mk3-is-your-only-device&quot;&gt;If the Mk2 or Mk3 Is Your Only Device&lt;/h2&gt;

&lt;p&gt;Firmware 4.2.0 allows the Mk2 and Mk3 to generate a replacement seed correctly.
You do not need a newer COLDCARD to complete the migration. Updating does not
repair the affected seed already stored on the device.&lt;/p&gt;

&lt;p&gt;Using one Mk2 or Mk3 for both wallets requires carefully switching between the
old and new seeds. If a second device with fixed firmware is available, use it
instead. If the Mk2 or Mk3 is your only device:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Verify the written backup and wallet fingerprint of the affected seed.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://coldcard.com/downloads/mk3&quot;&gt;Install firmware 4.2.0 or later&lt;/a&gt; and
confirm the version on the device.&lt;/li&gt;
  &lt;li&gt;On an empty Mk2 or Mk3, generate a new seed. Record and verify its backup,
wallet fingerprint, and a receive address.&lt;/li&gt;
  &lt;li&gt;Restore the affected seed and send a small test transaction to the verified
address.&lt;/li&gt;
  &lt;li&gt;Restore the new seed and confirm that its fingerprint matches and the test
funds arrived.&lt;/li&gt;
  &lt;li&gt;Restore the affected seed and move the remaining funds.&lt;/li&gt;
  &lt;li&gt;Restore the new seed and confirm the migration. Keep the old backup until
the complete balance has arrived and is confirmed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The fixed firmware’s device-generated seed is sufficient. Dice rolls are
optional and are not required to address this issue. A BIP-39 passphrase is a
separate wallet-security choice; if used, back it up exactly and separately
from the seed words.&lt;/p&gt;

&lt;h3 id=&quot;optional-dice-only-seed-on-mk2-or-mk3&quot;&gt;Optional Dice-Only Seed on Mk2 or Mk3&lt;/h3&gt;

&lt;p&gt;After updating to version 4.2.0, users who are confident in their ability to
perform and verify a dice-only migration can create a replacement seed without
using the device’s random-number generator. This is optional; the normal &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;New
Wallet&lt;/code&gt; flow is corrected in version 4.2.0.&lt;/p&gt;

&lt;p&gt;On an empty Mk2 or Mk3 running 4.2.0, select &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Import Existing &amp;gt; Dice Rolls&lt;/code&gt; and
enter at least 99 independent rolls of a fair six-sided die. This dedicated
dice-only path hashes the roll sequence directly; it does not use the device’s
generator.&lt;/p&gt;

&lt;p&gt;This is an advanced procedure. A one-device migration requires safely
alternating between the old and new seeds. Before erasing either seed from
the device, verify its written backup and XFP. Verify a receive address for the
dice-generated wallet, restore and verify the original wallet, and send a
small test transaction before moving the remainder. Keep the original
backup until the entire migration is confirmed.&lt;/p&gt;

&lt;p&gt;The dice-roll sequence is secret key material. Never photograph it, save it
digitally, or enter it into a networked computer. Read the &lt;a href=&quot;https://coldcard.com/docs/verifying-dice-roll-math/&quot;&gt;COLDCARD
dice-roll method&lt;/a&gt;
before attempting this option.&lt;/p&gt;

&lt;h2 id=&quot;migrate-carefully&quot;&gt;Migrate Carefully&lt;/h2&gt;

&lt;p&gt;When migrating to a new key, calm and care should be applied. Rushing a
wallet migration can create a more immediate risk than the issue you are
trying to address.&lt;/p&gt;

&lt;p&gt;Seeds generated on Mk2 or Mk3 versions 4.0.1 through 4.1.9; Mk4 and Mk5 before
standard version 5.6.0 or Edge version 6.6.0X; or Q before standard version
1.5.0Q or Edge version 6.6.0QX are affected unless the independent dice-entropy
exception applies. Before generating a replacement seed, update Mk2 or Mk3 to
version 4.2.0 or later; Mk4 and Mk5 to standard version 5.6.0 or later, or Edge
version 6.6.0X or later; or Q to standard version 1.5.0Q or later, or Edge
version 6.6.0QX or later:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Confirm the fixed firmware version is installed.&lt;/li&gt;
  &lt;li&gt;Generate a new seed on the updated COLDCARD.&lt;/li&gt;
  &lt;li&gt;Record and verify its backup before depositing funds.&lt;/li&gt;
  &lt;li&gt;Verify a new receive address on the COLDCARD screen.&lt;/li&gt;
  &lt;li&gt;Send a small test transaction and confirm that the new wallet works.&lt;/li&gt;
  &lt;li&gt;Only then move the remaining funds.&lt;/li&gt;
  &lt;li&gt;Keep the old backup until the migration is complete and confirmed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We are continuing to investigate. More details will follow.&lt;/p&gt;
</description>
        <pubDate>Thu, 30 Jul 2026 00:00:00 -1200</pubDate>
        <link>https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>One COLDCARD, Many Wallets: Better Backups with BIP-85</title>
        <description>&lt;p&gt;Every new wallet creates another seed phrase to record, hide, duplicate, and eventually recover. BIP-85 gives COLDCARD users another option: derive a different seed for each compatible wallet from one protected parent, without entering the parent seed into any of them.&lt;/p&gt;

&lt;p&gt;Restore the same parent on a COLDCARD, select the same output type and index, and you get the same child again. A compromised child does not reveal its parent or siblings through BIP-85. A compromised parent can recreate every child.&lt;/p&gt;

&lt;p&gt;That asymmetry is what makes BIP-85 useful—and what makes the parent backup so important.&lt;/p&gt;

&lt;h2 id=&quot;separate-wallets-without-seed-reuse&quot;&gt;Separate wallets without seed reuse&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki&quot;&gt;BIP-85&lt;/a&gt; derives deterministic entropy from the active seed on your COLDCARD. COLDCARD can format that entropy as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;12, 18, or 24 BIP-39 words;&lt;/li&gt;
  &lt;li&gt;a WIF private key;&lt;/li&gt;
  &lt;li&gt;a BIP-32 XPRV;&lt;/li&gt;
  &lt;li&gt;32 or 64 bytes of hexadecimal data;&lt;/li&gt;
  &lt;li&gt;a deterministic password.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For another hardware or software wallet, the usual output is a new BIP-39 seed phrase. Each application type and index produces a different result.&lt;/p&gt;

&lt;p&gt;This is not seed reuse. Wallet A receives child &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt;. Wallet B receives child &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1&lt;/code&gt;. Each gets different seed words, keys, addresses, balances, and transaction history. Neither destination receives the COLDCARD parent seed.&lt;/p&gt;

&lt;p&gt;The parent remains the common recovery root. Its seed words or encrypted backup can recreate the children, provided you also preserved the information that selected each one.&lt;/p&gt;

&lt;h2 id=&quot;what-this-fixes&quot;&gt;What this fixes&lt;/h2&gt;

&lt;p&gt;Backup quality tends to fall as wallet count rises.&lt;/p&gt;

&lt;p&gt;The main savings wallet may have a tested steel backup in two locations. A later mobile wallet gets words on a card. A test wallet lands in a notebook. Six months later, nobody remembers which phrase belongs to which application.&lt;/p&gt;

&lt;p&gt;BIP-85 replaces some of those unrelated secret backups with one carefully protected root plus a recovery map. That map should record:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;the parent wallet or passphrase context;&lt;/li&gt;
  &lt;li&gt;the BIP-85 output type and word count;&lt;/li&gt;
  &lt;li&gt;the index;&lt;/li&gt;
  &lt;li&gt;the destination wallet and network;&lt;/li&gt;
  &lt;li&gt;any account, derivation, descriptor, or application data needed by that wallet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The index is not a password. It tells COLDCARD which deterministic child to reproduce. Losing it does not expose the child, but it can turn recovery into a search.&lt;/p&gt;

&lt;p&gt;This model is useful for a mobile spending wallet, another hardware wallet with a different interface, or a temporary wallet used for a specific job. The child can do that job without becoming another independent seed-generation and backup project.&lt;/p&gt;

&lt;h2 id=&quot;create-a-bip-85-child-on-coldcard&quot;&gt;Create a BIP-85 child on COLDCARD&lt;/h2&gt;

&lt;p&gt;Before starting, decide which COLDCARD seed will be the parent. If a BIP-39 passphrase or Temporary Seed is active, it becomes part of the parent context. You will need that exact context to reproduce the child.&lt;/p&gt;

&lt;p&gt;For a simpler recovery plan, derive the child from the normal parent before entering a passphrase or loading a Temporary Seed.&lt;/p&gt;

&lt;figure&gt;
  &lt;img src=&quot;/images/posts-img/coldcard-mk5-bip85.jpg&quot; alt=&quot;COLDCARD Mk5 displaying BIP-85: One COLDCARD, Many Wallets&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;
  &lt;figcaption&gt;COLDCARD Mk5.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;On COLDCARD Mk4 or Mk5, open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced/Tools &amp;gt; Derive Seed B85&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;On COLDCARD Q, open &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced/Tools &amp;gt; Derive Seeds (BIP-85)&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Read the warning, then choose the output format accepted by the destination wallet.&lt;/li&gt;
  &lt;li&gt;Enter a unique index from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;9999&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Record the output type, word count, index, and intended wallet in your recovery map.&lt;/li&gt;
  &lt;li&gt;Display or export the child, then import it with the destination wallet’s official recovery workflow.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;COLDCARD can move the result by MicroSD, Virtual Disk, NFC, QR, or USB keyboard emulation. Every export contains a live secret. Choose the narrowest path supported by the destination.&lt;/p&gt;

&lt;p&gt;For another hardware wallet, prefer entering the words on that device when it supports on-device entry. Do not type seed words into a website. Do not leave an exported copy on an ordinary computer or MicroSD card unless that copy is part of a deliberate backup plan.&lt;/p&gt;

&lt;h2 id=&quot;see-bip-85-in-practice&quot;&gt;See BIP-85 in practice&lt;/h2&gt;

&lt;p&gt;These Coinkite walkthroughs show how to derive a dedicated child seed from COLDCARD and restore it on a mobile wallet or a Ledger. Only the child seed moves to the destination; the COLDCARD parent remains separate.&lt;/p&gt;

&lt;h3 id=&quot;mobile-wallet&quot;&gt;Mobile wallet&lt;/h3&gt;

&lt;iframe style=&quot;aspect-ratio: 16/9; width: 100%;&quot; src=&quot;https://www.youtube.com/embed/xS5yGKO5IMg&quot; title=&quot;Secure your mobile wallets with COLDCARD using BIP-85&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; loading=&quot;lazy&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h3 id=&quot;ledger&quot;&gt;Ledger&lt;/h3&gt;

&lt;iframe style=&quot;aspect-ratio: 16/9; width: 100%;&quot; src=&quot;https://www.youtube.com/embed/UqfSSF__fZY&quot; title=&quot;Secure your Ledger with COLDCARD using BIP-85&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; loading=&quot;lazy&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;test-the-recovery-path-not-just-the-seed&quot;&gt;Test the recovery path, not just the seed&lt;/h2&gt;

&lt;p&gt;A seed phrase can be correct while the recovery plan is incomplete.&lt;/p&gt;

&lt;p&gt;Use a disposable wallet or resettable spare for the first test. Do not erase an existing funded wallet unless its independent backup has already been tested.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Import the BIP-85 child into the destination wallet.&lt;/li&gt;
  &lt;li&gt;Record its first receive address.&lt;/li&gt;
  &lt;li&gt;Remove the child from the test destination.&lt;/li&gt;
  &lt;li&gt;Recreate it on COLDCARD from the recorded parent context, format, and index.&lt;/li&gt;
  &lt;li&gt;Restore it again and confirm the same receive address appears.&lt;/li&gt;
  &lt;li&gt;Send and spend a small amount before using the wallet for meaningful funds.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The test checks more than the words. It checks whether your recovery notes identify the correct parent, passphrase state, output type, index, destination, and wallet settings.&lt;/p&gt;

&lt;p&gt;Some wallets need metadata that a seed phrase does not restore. Multisig wallets need the complete wallet policy or descriptor. Account-based applications may need the correct account or derivation information. Follow the destination wallet’s documentation and preserve anything it says is required.&lt;/p&gt;

&lt;h2 id=&quot;what-bip-85-does-not-protect&quot;&gt;What BIP-85 does not protect&lt;/h2&gt;

&lt;p&gt;The destination wallet does not inherit COLDCARD’s secure elements, firmware, trusted display, or signing controls.&lt;/p&gt;

&lt;p&gt;If you load a child into a phone, it becomes a hot-wallet secret. Malware, screen recording, cloud backup, or somebody with access to the unlocked phone may expose it. BIP-85 limits that failure to the child; it does not make the phone cold.&lt;/p&gt;

&lt;p&gt;The reverse risk sits at the parent. Anyone who obtains the parent seed, any required passphrase, and the recovery map can recreate all of its children. Protect the parent for the total value and importance below it, not only for the balance visible on the parent wallet.&lt;/p&gt;

&lt;p&gt;This shared root also means BIP-85 children are &lt;strong&gt;not independent multisig cosigners&lt;/strong&gt;. Do not derive two or three members of the same multisig quorum from one parent. A single parent compromise would recreate the quorum and defeat the reason for multisig.&lt;/p&gt;

&lt;p&gt;Privacy remains separate as well. The children are not cryptographically linked on-chain merely because they share a BIP-85 parent, but address reuse, transaction behavior, exchange records, and destination-wallet telemetry can still connect them.&lt;/p&gt;

&lt;h2 id=&quot;do-not-build-one-failure-domain-for-everything&quot;&gt;Do not build one failure domain for everything&lt;/h2&gt;

&lt;p&gt;One parent can produce many children. That does not mean one parent should produce every secret you own.&lt;/p&gt;

&lt;p&gt;Keep long-term savings separate from routine spending when the consequence of a shared-root compromise would be too large. A dedicated COLDCARD seed can serve as the BIP-85 root for spending wallets and experiments while a separate savings seed remains outside that tree.&lt;/p&gt;

&lt;p&gt;The same rule applies to deterministic passwords, XPRVs, and WIF keys. Convenience is not a reason to put unrelated, high-consequence secrets under one root.&lt;/p&gt;

&lt;p&gt;Choose the boundary first. Then use BIP-85 to make backups inside that boundary more orderly.&lt;/p&gt;

&lt;h2 id=&quot;one-root-a-written-map-and-tested-children&quot;&gt;One root, a written map, and tested children&lt;/h2&gt;

&lt;p&gt;BIP-85 is a practical answer to wallet sprawl:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;keep the parent seed on COLDCARD;&lt;/li&gt;
  &lt;li&gt;give each compatible wallet a different child;&lt;/li&gt;
  &lt;li&gt;record the parent context, format, index, and destination;&lt;/li&gt;
  &lt;li&gt;treat every exported child as a live secret;&lt;/li&gt;
  &lt;li&gt;test recovery before funding;&lt;/li&gt;
  &lt;li&gt;keep multisig cosigners and unrelated high-value secrets independent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read the full &lt;a href=&quot;https://coldcard.com/docs/bip85/&quot;&gt;COLDCARD BIP-85 guide&lt;/a&gt; for every output and export option. The &lt;a href=&quot;https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki&quot;&gt;BIP-85 specification&lt;/a&gt; defines the derivation and test vectors.&lt;/p&gt;

&lt;div style=&quot;text-align:center; margin:1.5rem 0;&quot;&gt;
  &lt;a class=&quot;btn btn-od btn-l btn-caps&quot; href=&quot;https://store.coinkite.com/store/category/coldcard&quot;&gt;
    &lt;svg class=&quot;fa-icon&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 576 512&quot;&gt;
  &lt;path d=&quot;M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z&quot; /&gt;
&lt;/svg&gt;

    Get COLDCARD Q or Mk5
  &lt;/a&gt;
&lt;/div&gt;
</description>
        <pubDate>Wed, 29 Jul 2026 01:00:00 -1200</pubDate>
        <link>https://blog.coinkite.com/one-coldcard-many-wallets-bip85/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/one-coldcard-many-wallets-bip85/</guid>
        
        
        <category>ckcc</category>
        
      </item>
    
      <item>
        <title>arca Reservations Are Open</title>
        <description>&lt;p&gt;Reservations are open for &lt;strong&gt;arca&lt;/strong&gt;, the physical digital safe built for secrets you cannot afford to lose—our personal data haven. A &lt;strong&gt;$99 USD partial prepayment per unit&lt;/strong&gt; reserves a place in the limited first batch, currently targeting January 2027.&lt;/p&gt;

&lt;p&gt;The tentative early-bird price is $669 USD for one arca, $539 USD each for two, and $499 USD each for three or more.&lt;/p&gt;

&lt;div style=&quot;text-align:center; margin:1.5rem 0;&quot;&gt;
  &lt;a class=&quot;btn btn-od btn-xl btn-caps&quot; href=&quot;https://store.coinkite.com/store/arca-pdh100?utm_source=coinkite-blog&amp;amp;utm_medium=blog&amp;amp;utm_campaign=arca-reservations&quot;&gt;
    Reserve arca
  &lt;/a&gt;
&lt;/div&gt;

&lt;h2 id=&quot;founders-edition-hardware&quot;&gt;Founder’s Edition Hardware&lt;/h2&gt;

&lt;p&gt;arca comes from the same Coinkite shop that built COLDCARD, OPENDIME, TAPSIGNER, SATSCARD, and our other physical custody tools.&lt;/p&gt;

&lt;p&gt;The Founder’s Edition hardware includes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a Rockchip RK3328 host running FreeBSD;&lt;/li&gt;
  &lt;li&gt;an Arm Cortex-M33 security controller with TrustZone;&lt;/li&gt;
  &lt;li&gt;ATECC608C and DS28C36BQ+T secure elements;&lt;/li&gt;
  &lt;li&gt;a secure real-time clock, motion sensor, and active tamper-detect circuit;&lt;/li&gt;
  &lt;li&gt;two USB power inputs, Power Over Ethernet, and an internal UPS;&lt;/li&gt;
  &lt;li&gt;planned reproducible deterministic builds and decoy PIN paths.&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
  &lt;img src=&quot;/images/posts-img/arca-pdh-100-fe-exterior.png&quot; alt=&quot;arca rear panel rendering showing status LEDs, two USB power inputs, USB data, SD card, and Power Over Ethernet&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; /&gt;
  &lt;figcaption&gt;Founder&apos;s Edition rear panel.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;These parts provide defence in depth. The FreeBSD host handles higher-level services. The Cortex-M33 security controller and two different secure elements put sensitive operations behind separate boundaries. The secure clock, motion sensor, tamper circuit, independent power inputs, PoE, and internal UPS add physical-state and availability controls. No single chip or feature is the whole security argument.&lt;/p&gt;

&lt;p&gt;Passwords can be stored inside arca, but they are not its primary authentication model. Access uses physical 2FA tokens and one-time codes instead of a reusable password.&lt;/p&gt;

&lt;h2 id=&quot;recovery-should-not-depend-on-one-phone-one-building-or-one-person&quot;&gt;Recovery should not depend on one phone, one building, or one person&lt;/h2&gt;

&lt;p&gt;The authenticator app was on the dead phone. The seed backup is in one building. The registrar login depends on one inbox. Production credentials exist in one employee’s notes. The emergency procedure is “ask Alice.”&lt;/p&gt;

&lt;p&gt;None of this requires a sophisticated attacker. Normal life is enough:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;The phone is gone.&lt;/strong&gt; You know the account password, but the authenticator, passkey recovery, or code needed to enroll a new phone lived on the old one.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Everything is in one building.&lt;/strong&gt; The seed plate, emergency USB, printed codes, and recovery instructions are all “offline” in the same home or office. A fire, flood, evacuation, seizure, or long trip makes every copy unavailable at once.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;One employee is the recovery plan.&lt;/strong&gt; The registrar, cloud root account, signing process, and production credentials depend on a founder or administrator who left, is unreachable, or no longer remembers the full procedure.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;The pieces exist, but the recovery path does not.&lt;/strong&gt; The password is in a manager, one code is in email, another is on paper, and the final step lives in someone’s memory. Nobody has tested whether the pieces still work together.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Family must solve it under stress.&lt;/strong&gt; They know important assets and accounts exist, but not which instructions are current, who should receive what, or how to start without exposing everything.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are small secrets with large consequences. The usual fixes pull in opposite directions. Make more copies in screenshots, email, chat, and cloud drives, and sensitive material becomes easier to leak. Keep only one careful offline copy, and one dead device, inaccessible building, or unavailable person can lock everyone out.&lt;/p&gt;

&lt;p&gt;A password manager is useful for daily logins. A NAS is useful for files. Paper and steel are useful static backups. A hardware wallet is useful for signing. Each solves part of the problem, but the recovery path can still depend on the same phone, inbox, cloud account, building, or person.&lt;/p&gt;

&lt;p&gt;arca is built to turn that scavenger hunt into a custody plan. It gives critical secrets and their recovery context a dedicated physical home. The current design uses isolated tenants for family, business, partner, and hosted contexts. Policy controls and Swarm mirroring are in development so selected people can recover the right context and two or more arcas can keep encrypted copies in different trusted locations.&lt;/p&gt;

&lt;p&gt;arca does not replace those tools. For everyday use, it protects daily backups, passwords, business access, files, and signing material on dedicated hardware. For continuity, it keeps the recovery layer underneath them: seed words, recovery codes, business keys, runbooks, inheritance notes, important encrypted files, and the instructions someone will need when the normal path is gone. A third path under development will give authorized agents narrow, policy-controlled access without handing them every secret. For Bitcoin and crypto users, that can include wallet recovery material, exchange recovery codes, signing policies, and continuity instructions.&lt;/p&gt;

&lt;h2 id=&quot;more-than-encrypted-storage&quot;&gt;More than encrypted storage&lt;/h2&gt;

&lt;p&gt;One arca can work as a standalone physical safe for digital secrets. The larger design includes several services inside the same hardware custody boundary:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a widely adopted password-manager server, likely Bitwarden and/or KeePassXC, for personal and team credentials;&lt;/li&gt;
  &lt;li&gt;an embedded COLDCARD signing emulator for remote multisig co-signing or a dedicated single-signature wallet;&lt;/li&gt;
  &lt;li&gt;CK Bunker-style HSM functions in development, so approved systems can request signing or cryptographic operations without receiving the raw key;&lt;/li&gt;
  &lt;li&gt;isolated spaces for family, work, company, partner, and hosted contexts;&lt;/li&gt;
  &lt;li&gt;controlled access for people, services, and authorized agents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is pre-production hardware and software. Some of this works in the alpha; some remains in design or prototyping. The final interfaces and feature scope may change before release.&lt;/p&gt;

&lt;p&gt;A password manager helps with daily logins. A NAS stores files. An HSM performs narrow key operations. arca overlaps with all three, but it is broader than recovery alone: everyday backups and signing, personal and business continuity, and controlled access for authorized agents.&lt;/p&gt;

&lt;h2 id=&quot;one-arca-is-a-safe-more-than-one-is-a-swarm&quot;&gt;One arca is a safe. More than one is a Swarm.&lt;/h2&gt;

&lt;p&gt;One arca still means one device in one physical location. Two or more are designed to mirror an isolated encrypted tenant across places you choose.&lt;/p&gt;

&lt;p&gt;A second arca covers loss of the first device or building. A third location lets one arca be offline for maintenance, travel, or an outage without leaving only one recovery copy. The locations can be a home, office, family property, company site, or another city or jurisdiction that fits your threat model.&lt;/p&gt;

&lt;p&gt;You do not need to own every arca in the Swarm. The design lets a trusted friend host your isolated encrypted tenant on their arca without receiving access to its contents. You can host theirs in return. Think reciprocal safes, not a shared folder, login, or vault.&lt;/p&gt;

&lt;p&gt;That is why the quantity pricing matters. Buying more than one is not about keeping a spare beside the first box. It is about removing one device, one building, and one local event as the only recovery path.&lt;/p&gt;

&lt;h2 id=&quot;business-continuity-without-the-shared-secret-mess&quot;&gt;Business continuity without the shared-secret mess&lt;/h2&gt;

&lt;p&gt;Businesses accumulate secrets that quietly become infrastructure: production credentials, API keys, signing keys, vendor accounts, recovery codes, treasury material, and emergency runbooks.&lt;/p&gt;

&lt;p&gt;arca is built to separate those contexts by team, company, partner, or project. Policy controls and CK Bunker-style HSM interfaces are in development so selected secrets can be available without copying them into chat, email, or every employee’s password manager. An approved system can request an operation without receiving the raw key.&lt;/p&gt;

&lt;p&gt;Multiple arcas are designed to keep encrypted recovery contexts in different offices or trusted locations. If a founder, administrator, finance lead, or other key person leaves or becomes unavailable, the company should have a documented path back that does not depend on reconstructing one person’s private ritual.&lt;/p&gt;

&lt;h2 id=&quot;inheritance-and-the-dead-man-switch&quot;&gt;Inheritance and the dead-man switch&lt;/h2&gt;

&lt;p&gt;Families have the same continuity problem under worse conditions. A survivor should not have to reverse-engineer the owner’s digital life while dealing with an emergency.&lt;/p&gt;

&lt;p&gt;arca is built so selected secrets, documents, and instructions can have a controlled recovery path for chosen people. A planned dead-man switch can make selected material recoverable after defined inactivity or release conditions.&lt;/p&gt;

&lt;p&gt;The useful version is not “miss one check-in and dump the whole vault.” Different people may need different instructions. A business context should remain separate from a family context. Sensitive releases need authentication, limits, and records.&lt;/p&gt;

&lt;p&gt;The policy and release mechanics are still in development. arca will not determine whether someone has died, and it does not replace legal estate planning.&lt;/p&gt;

&lt;h2 id=&quot;reservation-details&quot;&gt;Reservation details&lt;/h2&gt;

&lt;div class=&quot;reservation-pricing-wrap&quot; role=&quot;region&quot; aria-label=&quot;arca reservation pricing&quot; tabindex=&quot;0&quot;&gt;
  &lt;table class=&quot;reservation-pricing-table&quot;&gt;
    &lt;caption&gt;arca tentative pricing and reservation prepayments&lt;/caption&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;col&quot;&gt;Quantity&lt;/th&gt;
        &lt;th scope=&quot;col&quot;&gt;Tentative price&lt;/th&gt;
        &lt;th scope=&quot;col&quot;&gt;Due today&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot; data-label=&quot;Quantity&quot;&gt;1&lt;/th&gt;
        &lt;td data-label=&quot;Tentative price&quot;&gt;&lt;strong&gt;$669 USD&lt;/strong&gt;&lt;/td&gt;
        &lt;td data-label=&quot;Due today&quot;&gt;&lt;strong&gt;$99 USD&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot; data-label=&quot;Quantity&quot;&gt;2&lt;/th&gt;
        &lt;td data-label=&quot;Tentative price&quot;&gt;&lt;strong&gt;$539 USD&lt;/strong&gt;&lt;span&gt;per unit&lt;/span&gt;&lt;/td&gt;
        &lt;td data-label=&quot;Due today&quot;&gt;&lt;strong&gt;$198 USD&lt;/strong&gt;&lt;span&gt;$99 per unit&lt;/span&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr class=&quot;best-value&quot;&gt;
        &lt;th scope=&quot;row&quot; data-label=&quot;Quantity&quot;&gt;3 or more&lt;/th&gt;
        &lt;td data-label=&quot;Tentative price&quot;&gt;&lt;strong&gt;$499 USD&lt;/strong&gt;&lt;span&gt;per unit · best unit price&lt;/span&gt;&lt;/td&gt;
        &lt;td data-label=&quot;Due today&quot;&gt;&lt;strong&gt;$99 USD&lt;/strong&gt;&lt;span&gt;per unit&lt;/span&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;The first batch is very limited and is currently targeting January 2027. Pricing and timing remain tentative while we finish the product.&lt;/p&gt;

&lt;p&gt;If your recovery plan still depends on one phone, one building, one cloud account, or one person remembering everything, &lt;a href=&quot;https://store.coinkite.com/store/arca-pdh100?utm_source=coinkite-blog&amp;amp;utm_medium=blog&amp;amp;utm_campaign=arca-reservations&quot;&gt;reserve arca&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Learn more about the product, Swarm backups, Founder’s Edition hardware, and how it compares with adjacent tools at &lt;a href=&quot;https://arcasafes.com/?utm_source=coinkite-blog&amp;amp;utm_medium=blog&amp;amp;utm_campaign=arca-reservations&quot;&gt;arcasafes.com&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Wed, 22 Jul 2026 00:00:00 -1200</pubDate>
        <link>https://blog.coinkite.com/arca-reservations-are-open/</link>
        <guid isPermaLink="true">https://blog.coinkite.com/arca-reservations-are-open/</guid>
        
        
        <category>arca</category>
        
      </item>
    
  </channel>
</rss>
