Cautionary tales are emerging in the crypto world as a flaw in Coldcard's code has led to a staggering loss of over $100 million in bitcoin. This incident underscores the importance of the crypto adage, "don't trust, verify," which appears to have been ignored in this case.
Entrepreneur Jonathan Goodman meticulously followed security protocols to safeguard his bitcoin. His Coldcard hardware wallet never connected to the internet and was stored in a safe deposit box, while his seed phrase was kept in another secure location. Despite these precautions, on July 29, Goodman reported that all his wallets were drained, resulting in the theft of 18.25 bitcoin, valued at over $1.17 million at the time.
Goodman was among many affected by a broader hacking incident that targeted thousands of Coldcard users. According to Galaxy Research, approximately 1,596 bitcoin, translating to over $100 million, were stolen from around 7,300 wallets due to a series of attacks. Galaxy Research's Alex Thorn estimated that at least 15 different hackers exploited the same vulnerability, which did not require physical access to the devices.
Hardware wallets are marketed as secure because they keep cryptographic secrets within the device itself. The expectation is that without an internet connection, hackers cannot gain access unless they physically handle the device. However, the Coldcard incident revealed a critical flaw in this assumption. The vulnerability stemmed from how the seed phrase—essentially the password protecting users' funds—was generated, rather than from the hardware wallet itself.
Understanding Wallet Types
Bitcoin wallets can be categorized into two main types: software wallets, or "hot wallets," which are connected to the internet, and hardware wallets, known as "cold wallets," like Coldcard, which store keys offline. Early forms of cold wallets included paper wallets, where users manually recorded keys. While they resist online hacking, they are also vulnerable to physical damage or loss.
Hardware wallets bridge the gap between the two, offering a balance of security and accessibility. They are generally more secure than software wallets but still require user trust in the device's ability to generate keys correctly.
Bobby Gray, founder of TEXITcoin, emphasized the importance of secure key generation and the entire custody process, stating that air-gapped systems, while helpful, are not foolproof.
The Code Flaw
In March 2016, Coinkite, the company behind Coldcard, announced it was discontinuing its hosted hot wallet due to persistent issues with internet traffic, legal complications, and regulatory challenges. Instead, Coinkite aimed to focus on decentralized hardware and software solutions. This pivot led to the development of Opendime, a USB stick that could generate and conceal private keys, followed by the Coldcard hardware wallet introduced in December 2017.
The initial Coldcard model featured a numeric keypad, screen, secure element, and MicroSD slot, allowing users to transfer transaction files without a live data connection. The wallet's design appealed to users who wanted to manage their security proactively.
Despite being open-source, which allowed users to inspect the firmware, the code contained a critical flaw that went unnoticed for several years. This flaw was introduced during a significant software update in 2021. Coinkite's firmware version 4.0.0 was marketed as a major upgrade, but it inadvertently included a seed-generation error.
Uncovered Vulnerability
Bitcoin developer James O’Beirne raised concerns about the seed generation process during an audit in May 2025. He traced the randomness used in wallet creation to a code library developed by Coinkite co-founder Peter Gray. O’Beirne's inquiries were dismissed by Coinkite, which claimed that any significant issue would have already been identified.
The randomness critical to wallet security should have come from a dedicated hardware generator. However, a configuration error caused the wallet to rely on a less secure software generator that utilized device and timing information, which is not truly random. This flaw significantly reduced the number of possible seed combinations, making it easier for attackers to guess the keys.
Root Cause Analysis
The problem arose from miscommunication between two software components that governed the random number generation settings. The firmware did not correctly disable the insecure generator, resulting in devices generating weak seeds. Coinkite estimates that affected devices produced seeds with only 72 bits of randomness instead of the intended 128 bits, dramatically decreasing the potential seed options.
Although the source code was publicly accessible and the correct hardware generator was present in the firmware, reviewers failed to verify the seed-generation process comprehensively. Coinkite’s pre-theft AI-assisted reviews also overlooked the error, and subsequent tests using various AI models failed to identify it.
Coinkite has since released updated firmware to address the vulnerability, but it cannot recover funds lost due to previously generated weak seeds. Affected users are advised to install the new firmware, create a new seed, and transfer their bitcoin to secure addresses.
Implications for Self-Custody
This incident raises critical questions about the reliability of self-custody solutions, which aim to eliminate reliance on custodians like banks or exchanges. While users hold the keys, the security of those keys ultimately depends on the wallet manufacturer’s ability to generate them securely. Goodman’s loss illustrates that even the most diligent security measures can be rendered ineffective by vulnerabilities in the technology itself.
