Two Signatures, $766M: Why September's Biggest Hacks Were Authorization Failures, Not Crypto Breaks
Two signatures. That's all it took.
On the morning Bitget's hot wallet bled roughly $387 million, the exchange's CEO went on X and said the thing you almost never hear from a hacked centralized exchange: the private keys were never touched. No broken curve. No leaked seed phrase. Just a forged transaction payload that walked straight through the authorization flow and told the system to release funds it was never supposed to release.
Days later, the Liquid Network — Bitcoin's oldest federated sidechain — lost roughly $320 million through a peg-out authorization key that, again, was reportedly never leaked.
Two of the year's largest thefts. Both claiming the same impossible-sounding defense. Both landing inside the same thirty-day window.
I've been auditing signing flows since the ETHDenver winter of 2017, when I was a twenty-three-year-old with an economics degree and a talent for getting founders to talk before the keynote started. My first instinct on reading those two disclosures was blunt, and it hasn't softened: when two completely different architectures fail in the exact same way in the same month, you're not looking at bad luck. You're looking at a pattern. The pattern is chasing the alpha until the trail goes cold — except this trail doesn't end in a broken algorithm. It ends in the signing layer, one step before the cryptography ever gets a vote.
Let's set the table before the fear eats the whole meal.
September's crypto hack total landed at $766 million. That's the number every outlet ran with, and it's technically accurate. It's also almost entirely the product of two events.
Bitget, the Seychelles-registered centralized exchange, absorbed roughly $387 million — the single largest theft of the year. Its architecture is what I'd call classic custodial infrastructure: hot wallets for liquidity, a cold reserve that's supposed to be untouchable, and a backend authorization layer that decides which requests get signed. When that layer trusts a forged payload, the cold wallet being safe is cold comfort.
Liquid Network, the Blockstream-affiliated Bitcoin sidechain, followed with about $320 million, of which roughly $285 million has already been returned, leaving a net loss near $35 million. Liquid runs on a federation — a fixed set of Functionaries who collectively custody the BTC backing L-BTC. It's a model that trades decentralization for speed and predictability, and it has always carried a quiet asterisk: trust is distributed, but it's still trust.
Add those two together and you get about 92% of the entire month's losses.
The remaining 53 incidents — the long tail that used to be the whole story — summed to roughly $59 million. That's less than half of August's total. Per-incident losses in that tail ran somewhere between $3.15 million and $7.81 million. Real money. Real victims. But nowhere near systemic.
Zoom out one more notch and the picture sharpens. For two years the industry has been told that the path to safety runs through trust-minimization — fewer humans, fewer keys, fewer federated committees. September didn't test that thesis so much as invert it. The two biggest failures happened precisely where trust was most concentrated, and the long tail of smaller, messier, more decentralized incidents quietly shrank. That's the kind of inversion that doesn't fit a headline, which is exactly why it's worth sitting with.
So before anyone declares crypto security dead, understand the shape of the data. This wasn't a broad collapse. This was two very large, very specific failures — and how they failed matters more than how much they cost, because it tells you exactly where the next one is coming from.
Here's the part almost nobody is modeling.
Neither Bitget nor Liquid was broken at the cryptographic layer. Read that again. The attackers didn't factor a key. They didn't exploit nonce reuse. They didn't pull off a quantum miracle. According to Bitget's own account, they reached into the backend of the wallet infrastructure, forged transaction data, and deceived the authorization process into releasing funds. The keys stayed put. The math stayed sound. The humans and their plumbing did not.
That's an authorization-integrity failure. It's the oldest trick in the infrastructure playbook wearing a crypto costume. When a system trusts the payload it's asked to sign and nobody validates that payload against ground truth before the signature fires, you've built a very expensive vending machine with a broken coin slot.
Liquid's case rhymes. The white hat — or "white hat," depending on which thread you're reading — used a SideSwap peg-out authorization key. The key material itself, by the telling, was never exposed. So the failure sits in the invocation logic, the permission checks, or the environment where the key lives. Not in the secret. In everything around the secret.
There's a structural reason Liquid's failure stings more than its net loss suggests. A federated peg-out isn't a bug in Liquid — it's the design. Functionaries hold the keys, and the whole value proposition is that a small, known set of operators can move BTC in and out faster and cheaper than a rollup. The trade-off was always explicit: you get speed and predictability, and in exchange you accept a trust surface no trust-minimized bridge would tolerate. September is what that trade-off looks like when it goes wrong. And note where the money went — $285 million came back. That's not because the system was resilient. That's because whoever held the key decided to give it back. A design that depends on the attacker's goodwill is not a security model; it's a coin flip with good PR.
Here's my first genuinely uncomfortable observation, flagged clearly as inference, not fact. Bitget says the cold wallet was untouched and the keys were safe — yet roughly $387 million walked out of a hot wallet. From a risk-control standpoint, a single exchange hot wallet almost never holds that much liquidity at rest. That mismatch suggests one of two things: either the internal permission structure had an anomaly that let unusually large balances sit exposed, or the loss figure is quoted with token notional baked in rather than realized stablecoin outflow. Either way, it points toward internal knowledge or long-term positioning rather than a random external smash-and-grab.
I've audited enough of these authorization layers to know the smell. The failure is almost never in the primitive. It's in the glue — the RPC that returns unvalidated data, the internal service that trusts a signed-looking request, the ops runbook that says "if the payload parses, sign it." Sixteen years in, the number of times I've seen the actual cryptography be the weak link is close to zero. The number of times I've seen the process around it be the weak link is close to every time.
Then there's the laundering pipeline, the part that should genuinely rattle compliance desks.
SlowMist traced the Bitget funds through a chain that reads like a plumbing diagram: CoW Protocol orders paired with Chainflip deposit addresses, conversion into BTC, then CoinJoin mixing to break the trail. That's not a person with a laptop. That's a cross-protocol, semi-automated escape tunnel that treats DeFi middleware as off-the-shelf tooling. Chainflip reportedly refused at least one deposit — but chose to refund rather than freeze. And there's the tell. A permissionless protocol can't freeze without becoming the thing it claims not to be. So it refunds. Which is neutral. Which is also useless once the money has already moved.
Then Cos, the SlowMist founder, dropped the line of the month: anti-money-laundering checks are "lagging behind automated scripts." That's not a complaint. That's a generation gap. The attackers are shipping code. The defenders are convening review boards.
One more detail that deserved more oxygen than it got. In the LimitBreak Payment Processor V2 event, a researcher going by Quit swept out 23,155 NFTs worth close to $6 million — a real white-hat rescue — yet 660 WETH never came home. That's the sharpest illustration of asymmetry in this entire mess. NFTs are batch-transferable and therefore rescue-able. Fungible tokens, once they move, are simply gone. The architecture of the asset decides whether you get a second chance.
Now for the angle the headline machine buried.
Everyone is running "crypto security is collapsing" as the September story. The data says the opposite. Strip out Bitget and Liquid and the industry's tail risk actually improved — 53 incidents totaling $59 million, less than half of August. The long tail got safer while the headlines got scarier.
That's a narrative-versus-fundamentals divergence, and it's a wide one. Media anchors on the $766 million total because it's the number that stops the scroll. But that number is two events wearing a trench coat. If your mental model of September is "everything is compromised," you've been played by arithmetic.
There's a second layer of misdirection, and this is where my exchange-desk instincts kick in. Look at the buffer math. Bitget's user protection fund reportedly holds north of $464 million. Against a roughly $387 million loss, that leaves about $77 million of cushion if the exchange makes holders whole. That is thin. One more event of similar scale inside a short window and the fund doesn't just strain — it breaks. And if any meaningful slice of it is denominated in the platform's own token rather than stablecoins, its real purchasing power erodes exactly when panic peaks. A pro-cyclical insurance pool is barely insurance at all.
And the "white hat" framing on the Liquid side? Ledger's CTO, Charles Guillemet, said the quiet part out loud: legitimate security researchers generally don't drain a bridge and then ask to be contacted on-chain. That's a high-credibility source denting the redemption narrative. A hacker promising to return funds "once all nodes are patched" is a story that buys time and moral cover simultaneously. I watched this movie during DeFi Summer 2020, hosting Telegram town halls and learning the hard way that enthusiasm is not due diligence. The refund promise is a narrative tool. Treat it like one.
And here's the part the bears don't want to hear. If the long tail is genuinely shrinking, then the industry's baseline security posture is improving even as its marquee failures get louder. That's a strange equilibrium, and it's fragile — one more authorization-flow breach and the "improving" story evaporates. But for now, the honest read is that crypto's day-to-day safety is getting better while its once-a-year catastrophes are getting more cinematic.
Here's where I land, and it isn't comfortable.
The real September risk wasn't the dollar figure. It was the method. Both headline breaches were authorization-flow attacks on trusted, operator-dependent infrastructure — a custodial exchange and a federated bridge. Neither was broken mathematically. Both were broken procedurally. If that method generalizes, and there's no reason yet to believe it can't, then every hot wallet and every Functionary federation is a candidate.
Watch three things over the next ninety days. First, whether a new authorization-flow attack lands — if it does, the "isolated incidents" framing dies instantly. Second, whether Bitget's protection fund actually pays in stablecoins or in its own token, because that answer tells you whether the cushion is real. Third, whether Chainflip-style refunds get reclassified as AML exposure — because if regulators decide a refund is a transfer, the entire permissionless cross-chain model has a very expensive conversation ahead of it.
And one more thing I can't shake. Gracy Chen's public promise that "every dollar will be settled" is a strong signal — but it's also a defensive one. The fact that an exchange CEO has to say "we won't run away" at all tells you how fragile the trust base actually is. The market's default assumption is now that custodians might vanish. That assumption didn't come from September. September just confirmed it.
The cryptography held. The humans didn't. And until the signing layer gets the same audit scrutiny as the curve, the trail stays warm.