🚨 New COLDCARD firmware is available: 5.6.1 for Mk4/Mk5 and 1.5.1Q for Q.
This release follows three weeks of sustained review since our July 31 hotfix. We continue to acknowledge the customers who suffered severe financial losses from the seed-generation attack.
Every newly generated seed now requires one source of user entropy: at least 65 key presses with unpredictable timing, 50 physical dice rolls, or 128 physical coin flips. This input is combined with fresh entropy from the STM32 TRNG, SE1, and SE2.
The release also adds staged-PSBT verification immediately before signing, stronger USB and firmware-update boundaries, improved Delta Mode isolation, active-wallet backup fixes, stronger RNG initialization and fault checks, safer SIGHASH defaults, and many additional security and correctness improvements.
Important: Updating does not repair an existing seed generated on affected firmware. If the advisory applies to your seed, update your device, generate and verify a new seed, then move your funds.
We strongly recommend that all Mk4, Mk5, and Q users update and verify the signed firmware download.
Thank you to every researcher who reported issues, reproduced edge cases, reviewed fixes, and helped make this release stronger.
https://t.co/tFAiHhEWAy
I spent today reviewing and manually testing the latest
@COLDCARDwallet firmware, v5.6.1, including a code review assisted by Kimi K3.
My tests focused specifically on entropy generation using standard six-sided dice:
- Tested the fairness of my dice using the salt-water method: https://t.co/Tbr2YtdEQJ
- Ran additional fairness tests with https://t.co/s9HfxxOWKm
- Generated a new 24-word mnemonic using 100 dice rolls
- Verified the derived addresses
- Added a passphrase and generated additional addresses
Everything appears solid and to be working as expected. I found no issues in the areas I tested.
UPDATE: 🚨 COLDCARD released a new firmware that now requires users to provide physical entropy, such as 50 dice rolls or 65 key presses, before any new seed is generated.
🚨 New COLDCARD firmware is available: 5.6.1 for Mk4/Mk5 and 1.5.1Q for Q.
This release follows three weeks of sustained review since our July 31 hotfix. We continue to acknowledge the customers who suffered severe financial losses from the seed-generation attack.
Every newly generated seed now requires one source of user entropy: at least 65 key presses with unpredictable timing, 50 physical dice rolls, or 128 physical coin flips. This input is combined with fresh entropy from the STM32 TRNG, SE1, and SE2.
The release also adds staged-PSBT verification immediately before signing, stronger USB and firmware-update boundaries, improved Delta Mode isolation, active-wallet backup fixes, stronger RNG initialization and fault checks, safer SIGHASH defaults, and many additional security and correctness improvements.
Important: Updating does not repair an existing seed generated on affected firmware. If the advisory applies to your seed, update your device, generate and verify a new seed, then move your funds.
We strongly recommend that all Mk4, Mk5, and Q users update and verify the signed firmware download.
Thank you to every researcher who reported issues, reproduced edge cases, reviewed fixes, and helped make this release stronger.
https://t.co/tFAiHhEWAy
UPDATE: 🚨 COLDCARD released a new firmware that now requires users to provide physical entropy, such as 50 dice rolls or 65 key presses, before any new seed is generated.
Firmware Verification: COLDCARD’s secure bootloader verifies firmware before it runs. Unauthorized firmware is clearly flagged, helping protect users from malicious firmware attacks.
Deterministic Nonce Generation: COLDCARD uses Bitcoin Core’s libsecp256k1, which generates ECDSA signing nonces deterministically using RFC 6979. This helps protect against nonce-generation weaknesses and key leakage.
Open Source & Verifiable: COLDCARD firmware is publicly available and supports reproducible builds, allowing anyone to verify that released firmware matches the published source.
Together, these protections provide strong defenses against Dark Skippy and similar attacks that rely on compromised firmware or manipulated signing nonces.
🚨 New COLDCARD firmware is available: 5.6.1 for Mk4/Mk5 and 1.5.1Q for Q.
This release follows three weeks of sustained review since our July 31 hotfix. We continue to acknowledge the customers who suffered severe financial losses from the seed-generation attack.
Every newly generated seed now requires one source of user entropy: at least 65 key presses with unpredictable timing, 50 physical dice rolls, or 128 physical coin flips. This input is combined with fresh entropy from the STM32 TRNG, SE1, and SE2.
The release also adds staged-PSBT verification immediately before signing, stronger USB and firmware-update boundaries, improved Delta Mode isolation, active-wallet backup fixes, stronger RNG initialization and fault checks, safer SIGHASH defaults, and many additional security and correctness improvements.
Important: Updating does not repair an existing seed generated on affected firmware. If the advisory applies to your seed, update your device, generate and verify a new seed, then move your funds.
We strongly recommend that all Mk4, Mk5, and Q users update and verify the signed firmware download.
Thank you to every researcher who reported issues, reproduced edge cases, reviewed fixes, and helped make this release stronger.
https://t.co/tFAiHhEWAy
COLDCARD’s seed path is layered and inspectable. [At boot](https://t.co/Q0bHVLMog7), firmware reads 32 bytes from SE1 and eight bytes from SE2, hashes them, and reseeds libngu’s generator. [Libngu uses SHA-256 Hash_DRBG](https://t.co/4cvcpkPyVy): it begins with 128 bytes from the STM32 hardware TRNG, generates output, then XORs every block with fresh, checked STM32 TRNG words. Repeated, zero, seed-error, or stalled hardware output [causes failure](https://t.co/aL3XGX6oMH) rather than returning suspect bytes.
For each seed, COLDCARD [requests 32 bytes from that generator](https://t.co/3KqXvpHxDA), independently requests another 32 bytes from SE1 and eight from SE2, concatenates them, and double-SHA-256 hashes the result. The user must then add one independent source: [65 timed key presses, 50 dice rolls, or 128 coin flips](https://t.co/xc3klbmz5D). Method-specific hashing, purpose tags, and a versioned domain separator prevent the same input from being reused ambiguously; device and human entropy are [double-hashed together](https://t.co/d8yz9bC31J).
That entropy becomes [12 or 24 BIP-39 words](https://t.co/k9UahNPAn9), is checked through the on-device quiz, encoded, and stored as the wallet secret. When unlocked, BIP-39 [derives the master secret](https://t.co/6EMlAIhl6a)—with an optional passphrase—and initializes the BIP-32 HD root. “[Dice Rolls Only](https://t.co/OFG4iNng3h)” is deliberately separate: it excludes all hardware sources and requires 50 rolls for 12 words or 99 for 24.
I think I'm finally at a point where I can put my finger a little more articulately on the gap that is left in the wake of the Coldcard incident, and it's honestly a lot more important and fundamental than I initially thought.
It's not just losing "airgaps" or a specific feature...it's literally losing a MASSIVE degree of freedom that just doesn't exist anywhere else really in the hardware offerings in this space (other than DIY projects, which to each though own, I am not interested in using).
Coldcard didn't require a specific app to sign transactions. It didn't require an app to generate keys. It didn't require an app to update your device firmware.
It wasn't just the airgap, and security arguments around that, it was the FREEDOM that came with that. _You did not depend on Coinkite in anyway to actually use your device after you bought it from them_.
Name me another device you can say that about. Show me one reputable hardware wallet that doesn't REQUIRE their app to generate keys, or update firmware, doesn't leak your xpub to their server during initial set up if your computer is online.
As someone who has only used Coldcard for close to a decade, the reality of how much vendor lock, and dependency on manufacturers software, and the inability to opt out of that or the information leaks it creates is finally sinking in.
It's disgusting. There are a lot of solid teams out there, solid hardware architectures, solid devices, but the totality of the entire user experience around all of them in one way or another leaves me feeling gross.
The idea of using any of them makes me feel like I am trapped, not fully in control of my own money. Just the thought feels constricting.
I don't know what to do about this, and I know for a lot of normie users these things won't matter, but they do to me. It's incredibly disappointing, and I don't know what to do about it.