GambleCashless

The $83 Million Coldcard Question: Auditing the Space Between the Blocks

CryptoPrime Mining

Consider the diagnostic asymmetry. A 2011 thief leaves fingerprints. A smart-contract attack leaves a trace in the state root. But an $83 million drain associated with Coldcard wallets leaves something far less useful in the public record: no CVE identifier, no proof-of-concept, no official post-mortem, and no attack path. The earliest reports supplied four data points and a conclusion. Four points define a plane, not a vector. Tracing the assembly logic through the noise becomes the default act for anyone who wants to understand whether this is a story about Coldcard, about Bitcoin self-custody, or about the way we have been validating high-value transactions all along.

Let me start by stating what is not in dispute. A large amount of bitcoin — the headlines say $83 million — was moved out of wallets whose users placed their trust in Coldcard hardware. The reports describe the event as a Coldcard vulnerability exploit. They do not offer a technical mechanism. They recommend stronger security measures. They predict that multisignature wallets will gain adoption. That is the entire corpus. Everything else is inference, and inference is exactly where the industry tends to fail.

Let me be clear about the stakes. Coldcard is not a consumer gadget. It is the hardware wallet of choice for the paranoid end of Bitcoin self-custody: airgapped operation, secure element attestation, PSBT support, duress PINs, and a long record of adversarial design decisions. Its users are the least likely cohort to fall for a fake website phishing page. That is precisely why the $83 million figure matters. It suggests a class of attacker who did not go after the weak target with the obvious tool. It suggests targeting. And targeting implies knowledge.

The architecture of trust is fragile in ways that a price chart cannot reveal. This incident sits at the intersection of hardware security, transaction-format semantics, and human verification behavior. To understand it, we have to stop talking about the brand and start talking about the signing flow.

The signing flow is the attack surface

Let me reduce any Bitcoin self-custody setup to its operational skeleton. Private keys live in a tamper-resistant element. The device displays a transaction summary. The user verifies the amount and the destination address. The user presses a button. The device signs. The signed transaction is exported to a connected device and broadcast.

That flow contains a single moment of truth: the user's visual verification of the transaction details on the hardware wallet display. Everything else can be compromised. A computer can be infected. A wallet app can be swapped. A QR code can be replaced. The hardware wallet exists to make the signing decision trustworthy. It does not exist to make the decision-making human trustworthy.

Now run the same skeleton through the logic of an $83 million theft. If an attacker compromised Coldcard's firmware supply chain, the impact would look completely different. A firmware-level or hardware-level zero-day is a high-value, reusable capability. The rational use of such a capability is to drain thousands of wallets in a coordinated sweep before the vendor ships a fix. The reported incident, as described, appears to be a concentrated extraction of a very large sum. That pattern is more consistent with a targeted operation than with a viral exploit. It is the profile difference between a rifle trigger and a cluster bomb.

Based on my audit experience, both on Ethereum assembly and on Bitcoin transaction formats, the first hypothesis I would test is not “Coldcard was hacked.” It is “the user's intent was hijacked before the signing hardware could see the truth.” The phrase exploited in such attacks is not a buffer overflow. The phrase is “the display only shows what it is told.”

PSBT is the natural corridor

Partially Signed Bitcoin Transactions exist so that different wallets can cooperate in the construction of a transaction without sharing keys. A PSBT contains inputs, outputs, fee rate, derivations, and partial signatures. It is a perfect transport mechanism for an attack: it is a file, it is designed to be passed between devices, and it is human-hostile enough that most users never parse its complete binary structure manually.

A malicious PSBT can be constructed with a benign-looking destination in the user's wallet interface while the actual output that will be signed is something else. In a single-signature context, the user still has to verify the payload on the Coldcard screen. But in practice, when a file is presented by a wallet application the user already trusts, verification intensity drops. The user sees the UI layer, not the PSBT layer. The hardware wallet displays the raw outputs, but the human often does not decode what the raw outputs mean. That gap is not a hardware vulnerability. It is a protocol gap between “what the user intended” and “what the user signed.”

Let me be more concrete. A standard Coldcard workflow involves importing a PSBT generated by a desktop wallet, inspecting it on the device, and exporting a signed PSBT. If the attacker can manipulate the PSBT before it reaches the Coldcard, or if the attacker can convince the user that a signed PSBT is merely an informational file, the hardware wallet will faithfully sign whatever the user confirms. The code does not lie; it only reveals the user's confirmation. The hardware wallet is not the liar. The user's understanding is.

I have spent more time than I care to admit reading PSBT dumps in hex editors, because that is the only place where the transaction's true structure becomes visible. A wallet interface will tell you that you are sending 0.5 BTC. The hex will tell you that you are sending 0.5 BTC to address A and 83 million satoshis to address B. The first number is the number you wanted. The second is the number you signed. The device knows only what it was asked to sign. It does not know what you intended.

If the attack happened through a malicious PSBT, the correct lesson is not “multisig solves everything.” The correct lesson is: the hardware wallet's output display is the only place where the transaction's true economic meaning can be verified, and most users, including sophisticated ones, do not verify it rigorously on every signature event. That is not a new insight. I have made this point in private security working groups since 2020. But nine-figure losses have a way of making an old argument feel new.

The $83 Million Coldcard Question: Auditing the Space Between the Blocks

The three candidate failure modes

Let me lay out the candidate attack modes in a decision tree, because that is how the next few weeks will unfold.

Candidate one: firmware or hardware compromise. If a Coldcard firmware update introduced a backdoor, or if the secure element was broken, the attacker could exfiltrate private keys without user interaction. This is the most catastrophic scenario for the industry and the least likely to remain hidden. A break of the secure element or the signing enclave would be reusable against every Coldcard sold. The first victim would be one address, but the technical capability would be detected in follow-on audits, in attestation mismatches, or in speculative exploit attempts. A careful attacker does not burn a firmware-level capability on one target and then disappear. This hypothesis cannot be discarded, but it should not be the default prior.

Candidate two: supply chain interception. A user orders a Coldcard. A malicious actor intercepts the shipment, replaces the device with a lookalike, or modifies the packaging. The user performs a firmware check, notices nothing, and enters a seed phrase derived from the fake device. The attacker now has the keys. This attack has existed since the beginning of hardware wallets. It is mitigated by the secure element attestation process, sealed packaging, and by purchasing directly from the vendor. But the mitigation requires the user to perform the verification steps. Again, the variable is human diligence.

Candidate three: social engineering through transaction-construction channels. This is the nontechnical attack that produces a technical signature. It can be a fake multisig setup service, a compromised coordinator app, a malicious PSBT sent through an encrypted channel, or a “transaction repair” script. The attacker does not need to break Coldcard's firmware. They need to break the workflow between the user's intention and the user's confirmation.

If the event follows candidate three, the reaction in the Bitcoin community is going to be uncomfortable. Because candidate three is extremely common, extremely hard to quantify, and extremely resistant to hardware fixes. The industry will prefer to tell a story about zero-days and firmware updates, because those have patches. But the more likely story is about protocol-level UX failure, and that does not have a patch.

The $83 Million Coldcard Question: Auditing the Space Between the Blocks

The multisig fallacy

The original report predicts that the event will push multisignature adoption. I want to challenge that prediction in the strongest possible terms, because it may be the one outcome that makes the next attack easier, not harder.

A multisig wallet requires multiple independent signatures. The theory is that no single key compromise can move funds. That theory is sound at the key-management layer. But multisig does nothing to protect the user at the intent layer. If the attacker's method was to deceive the user into signing an attacker-crafted transaction, adding two more signatures does not add two more security checkpoints if all three users are looking at the same malicious UI. In fact, multisig increases the number of signing events, the number of files exchanged, and the number of places where a malicious PSBT can be injected. It increases coordination latency. Where logical entropy meets financial velocity, complexity is not the same as safety.

I encountered this exact dynamic during my DeFi composability work in 2020. In Ethereum, the danger was reentrancy through a proxy contract. The mitigation was a checks-effects-interactions pattern. The lesson was not “add more contracts.” The lesson was to reduce the surface between the user's intent and the state transition. The same principle applies here. The danger is not that Coldcard is broken. The danger is that the verification boundary is the weakest point. Adding more signatures multiplies the number of traversals of that boundary.

If a multisig user is already the victim of a fake coordinator, a multisig wallet will not save them. It will simply give the attacker multiple opportunities to present signed vectors that look legitimate because they are signed by the user's own devices.

A parallel from the ERC-721 metadata crisis

In 2021, I stepped away from the financial noise around NFTs to study the ERC-721 metadata problem. What I found was that most NFT projects were not storing asset data under the token ID. They were storing a URI that pointed to a JSON file on a centralized server. The token itself was a receipt, and the receipt pointed to a body that could be swapped at any time. The interface looked trustworthy. The underlying data was not inspected.

The Coldcard incident carries the same disease, shifted one layer. The user is shown a wallet interface that appears to contain a transaction, and that interface points to a PSBT payload. The interface is the URI. The PSBT is the JSON. The human is expected to verify the endpoint, but almost nobody does. In my NFT analysis, I called this “defining value beyond the visual token”: the asset is not the image, and the transaction is not the summary lines the wallet renders. The asset is the off-chain state schema; the transaction is the byte-for-byte content of the PSBT. If the renderer and the payload disagree, the user is not making an informed decision. They are signing a document they have never fully read.

That gap is where attackers live. It was true for NFT metadata. It is true for hardware wallets. The lesson is structural, not brand-specific.

The institutional custody narrative hides behind the smoke

One of the quieter effects of an event like this is the reinforcement of custodial trust. Every headline that says “hardware wallet users lost $83 million” can be read by a risk officer as an argument for using a qualified custodian. That reading is not wrong. Institutional custody with insurance, cold storage, auditing, and defined operational procedures is a legitimate risk-management choice. But the pivot to custody matters for a specific reason: it does not solve the underlying issue. Custodians reduce the user's exposure to self-sovereignty failure by removing sovereignty. They do not reduce the exposure to the failure mode of “signing the wrong thing” if the signing is distributed across a team of coordinated operators. The problem recurs at a higher layer.

I am not saying self-custody is irrational. I am saying the binary framing of “self-custody versus custody” misses the real variable, which is the quality of transaction verification discipline. The most secure setup in the world is useless if the person with the button is signing a rendering of a different transaction than the one being broadcast.

When the SEC consulted me after the Terra collapse analysis, I spent a large amount of time convincing examiners that the boundary between “decentralized protocol” and “centralized operator” was not the only place where risk lived. It was the boundary between user intent and protocol state. The same intuition applies to hardware wallets. The Coldcard is not a security boundary. The human's recognition of the signing payload is the boundary. Everything else is upstream.

The missing class of tools

Auditing the space between the blocks requires looking at fields that most wallet software hides. A PSBT is not a single transaction. It is a container with unknown field lengths, output descriptors, and signature metadata that can be reordered, duplicated, and augmented. I have built test harnesses that deliberately modify the display order of outputs while preserving the total balance shown to the user. The human sees the same sum. The underlying output set is completely different. This is not a theoretical concern. In my own signing rehearsals, I have generated a PSBT that displays one recipient on the wallet screen and a second recipient in the raw bytes that get broadcast after finalization. A hardware wallet cannot detect this if the user confirms the display.

Let me use a concrete example from a simulation I ran last year. I created a PSBT with two outputs: one to the intended destination and one to a burn address. The wallet rendered only the first output. The Coldcard, when asked to sign, displayed both outputs. The user, seeing a familiar interface and a single output, confirmed. The raw transaction contained both. A verification tool that simply counted outputs and compared them against the UI had no cost, no UI budget, and no reason to exist in the current product roadmap. That is the gap.

The fix is not more firmware security. The fix is a tool class that does not exist yet: a transaction parser that renders every output of a PSBT in a canonical, human-readable format, separate from the wallet that generated the file, and that can be audited by a second independent device. Until that tool class becomes as common as a block explorer, the “self-custody” narrative will continue to rely on a false premise: that the signing device is the only verifier that matters.

What can actually be verified

Days after the event began to circulate, the only hard numbers in the public record remain the amount and the casualty list. There is no disclosed CVE. There is no exploit contract on the blockchain waiting to be reverse-engineered, because the tool is not a contract; it is a series of signatures. That is the uncomfortable truth: if the attack happens through social engineering and transaction manipulation, the on-chain evidence looks identical to a legitimate transaction. The beneficiary addresses are not a vulnerability in the Bitcoin network. The vulnerability is a gap between what the signing key can achieve and what the signer believes they are approving.

This is why I open my own wallet audits with a question that has nothing to do with the public key: what is the complete data path from transaction proposal to broadcast? I want to see the PSBT generation code. I want to see the UI layer that renders the PSBT. I want to know whether the hardware wallet's display output is compared byte-for-byte against the proposal, or whether the user simply sees a green checkmark and a fee. Most setups do not pass that audit because most setups are not designed to pass it.

The practical implication is that users should treat the hardware wallet display not as a confirmation screen but as the final version of the truth. That means practicing a habit I recommend in my own work: before signing anything above a predetermined threshold, export the PSBT to an independent tool that renders every output in plain language, and compare that rendering to the Coldcard screen. If the two disagree, the transaction should be abandoned and the coordination channel should be assumed compromised.

The information vacuum is itself a signal

The absence of an official technical disclosure creates a particular problem for the analyst. It allows every actor in the ecosystem to project their preferred narrative onto the incident. Coldcard's apologists will call it a user error. The custody industry will call it a self-custody failure. The multisig industry will call it an argument for broader key distribution. None of these conclusions can be falsified with the current data. That is exactly how the worst security lessons disappear.

A high-confidence security event with a nine-figure loss deserves a technical post-mortem within days, not weeks. The fact that the early reporting contains no CVE, no affected firmware version, and no compromised function is either because the investigation is ongoing, or because the attacker left no code to inspect. Both explanations are plausible. But the longer the vacuum lasts, the more I move my prior toward the social-engineering hypothesis. A firmware zero-day leaves a fingerprint. A malicious PSBT leaves nothing.

Let me be precise about what should be tracked next. First, watch for a second incident with a similar signature. If the attack vector is a reusable PSBT deception technique, it is not going to be deployed once. It will be repeated against other high-value users. Second, watch whether the public messaging shifts from “Coldcard users” to “self-custody users.” If official communications become generic, the attack may be broader than the reporting suggests. Third, watch the multisig onboarding tools. If a wave of new multisig users arrives without a corresponding improvement in transaction verification tooling, the industry will have done exactly the wrong thing: it will have converted a verification failure into a coordination failure.

The value of this event is not the number

I have been told many times that security news is commodity content. An $83 million theft is not a commodity. It is a realignment event for an industry whose foundational assumption was that the private key is the ultimate authority. That assumption remains true. The private key is the ultimate authority over where funds go. But the human holding the key is not the ultimate authority over what the key signs. For years, the industry sold hardware wallets as the solution to the problem of “your computer is compromised.” What was never adequately sold is the idea that the problem keeps moving up the stack.

The code does not lie; it only reveals. The Bitcoin network will happily settle an attacker's transaction if it carries valid signatures. Coldcard will happily sign a transaction if its user confirms the payload. The moment of confirmation is the only place where the entire security architecture can be undone, and it is the least-engineered part of the stack.

The $83 Million Coldcard Question: Auditing the Space Between the Blocks

The practical recommendation is not to abandon hardware wallets. The practical recommendation is to redesign the signing ritual. Do not sign a PSBT generated by the same software that displays it. Use a dedicated renderer for raw outputs. Verify the transaction with a separate channel. Treat every multisig coordination channel as a potential attacker-controlled environment until you have proven otherwise. And above all, stop telling new users that multisig is the next step after a hardware wallet. Multisig is only useful if every signer has a reliable way to know what they are signing. Without that, it is just more surface area, engineered by people who value the architecture of trust more than the fragility of human attention.

Takeaway

The industry will probably get the conclusion it wants. If a second attack materializes within a few weeks, the lesson will be impossible to avoid: the problem is not the hardware, and the problem is not Bitcoin. The problem is the small, ugly, human-shaped window between intent and signature. If no second attack materializes, the event will be filed as anomalous fraud, and the ecosystem will return to its old habits — faster, easier, more convenient, and less aware of exactly where the trust boundary is becoming thinner.

I do not think the second attack is optional. The technique, whatever it is, is now known to the attacker. The attacker knows that it worked once. That is all the incentive needed. The question is whether the rest of the ecosystem will do the one thing that protects against the category, not the case: build verification tools that make the transaction payload legible, independent of the wallet that proposes it, and honest about the fact that a hardware wallet is only as strong as the human's moment of attention.

The architecture of trust is fragile. This time, its failure is wearing a familiar face. It is not a bug. It is the gap between what we intended to sign and what we actually signed. Until that gap is closed, the next $83 million withdrawal date is already in the mempool.

Market Prices

Coin Price 24h
BTC Bitcoin
$77,799.3 +1.37%
ETH Ethereum
$2,520.3 +1.47%
SOL Solana
$101.44 +1.55%
BNB BNB Chain
$723 +0.86%
XRP XRP Ledger
$1.39 +3.28%
DOGE Dogecoin
$0.0841 +0.57%
ADA Cardano
$0.2105 +2.78%
AVAX Avalanche
$7.37 +0.53%
DOT Polkadot
$1.01 +0.56%
LINK Chainlink
$11.36 +0.30%

Fear & Greed

57

Greed

Market Sentiment

Event Calendar

{{年份}}
15
04
halving Bitcoin Halving

Block reward reduced to 3.125 BTC

08
04
upgrade Solana Firedancer

Independent validator client goes live on mainnet

22
03
unlock Optimism Unlock

Circulating supply increases by about 2%

18
03
unlock Sui Token Unlock

Team and early investor shares released

30
04
upgrade Celestia Mainnet Upgrade

Improves data availability sampling efficiency

12
05
halving BCH Halving

Block reward halving event

28
03
unlock Arbitrum Token Unlock

92 million ARB released

10
05
upgrade Ethereum Pectra Upgrade

Raises validator limit and account abstraction

Tools

All →

Altseason Index

41

Bitcoin Season

BTC Dominance Altseason

Gas Tracker

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Market Cap

All →
# Coin Price
1
Bitcoin BTC
$77,799.3
1
Ethereum ETH
$2,520.3
1
Solana SOL
$101.44
1
BNB Chain BNB
$723
1
XRP Ledger XRP
$1.39
1
Dogecoin DOGE
$0.0841
1
Cardano ADA
$0.2105
1
Avalanche AVAX
$7.37
1
Polkadot DOT
$1.01
1
Chainlink LINK
$11.36

🐋 Whale Tracker

🔵
0xe4a4...78cf
1d ago
Stake
1,699 ETH
🔴
0xe622...fee5
6h ago
Out
462,699 USDT
🔴
0xde57...fda6
12m ago
Out
4,339.45 BTC

💡 Smart Money

0x2493...2e8d
Early Investor
+$3.6M
64%
0xee1d...f3ff
Experienced On-chain Trader
-$0.5M
66%
0xc442...fc76
Top DeFi Miner
+$2.2M
84%