How a Backend Compromise Drained $387.5M From Bitget Without Touching a Private Key

Weekly Deep Dive · September 28, 2026 · 8 min read · The OpSecWallet Research Team
Wallet SecurityDeFiHardware WalletsUSDTTRON

At 18:31 UTC on September 24, 2026, Bitget's security systems detected unauthorized transfers moving assets out of a portion of the exchange's hot and warm wallets. By the time the outflow was contained, roughly $387.5M in ETH, XRP, BNB, ZEC, USD0, XAUT, AVAX, TRX, USDT and USDC had crossed Ethereum and other EVM networks, the XRP Ledger, Zcash and TRON. Nothing about the failure involved a stolen private key: Bitget's investigation ruled key compromise out entirely, and its cold wallets were untouched throughout.

What the attacker compromised instead was the backend system that assembles and authorizes the exchange's transactions — the machinery that decides what a key is asked to sign — and used it to spoof transaction data and trigger the authorization process itself. That is the largest loss in this record, executed against the layer every previous edition assumed was working.

1. The Incident in Six Lines

Key takeaways

2. Hot, Warm, Cold: What the Three Tiers Are For

Every large exchange runs a three-tier wallet architecture, and the tiers exist because of a trade-off no operator can escape: keys that can pay out quickly are keys an attacker wants, and keys an attacker cannot reach cannot pay out quickly. Hot wallets sit online and handle immediate withdrawals; warm wallets sit between them and cold storage, batching larger flows; cold wallets keep their keys offline and are the reserve. Bitget's three-tier design is exactly why the incident stopped where it did — the breach touched a portion of the hot and warm layers, and the cold reserve, where most platform assets sit, was never reached.

But the tiers answer only half the question. Between the user's withdrawal request and the key that signs it sits a pipeline: services that validate the request, assemble the transaction, apply policy checks, and hand the payload to a signing system. That pipeline is software running on infrastructure, and in this incident it was the compromised layer. Bitget's account is precise about the mechanism — the attacker used the compromised backend to spoof transaction data and trigger the authorization process. The keys did their job: they signed what the pipeline told them to sign. The failure was that the pipeline was made to lie.

3. Timeline

WhenWhat happenedSource signal
Sept 24, 18:31 UTCBitget's security systems detect unauthorized transfers from a portion of hot and warm wallets; emergency response activated within minutesBitget's own security notice
Sept 24Withdrawals paused as a precaution; deposits and trading continue; initial assessment puts affected funds at ~$351.6MBitget's own security notice
Sept 25Attack path and methods identified; underlying vulnerability remediated; no further unauthorized transfers after containmentBitget's own incident timeline
Sept 25Estimate revised to ~$387.5M, adding affected Zcash and TRON transactions; Mandiant and SlowMist engaged; Recovery Bounty Program launchedBitget's own incident timeline
Sept 26Phased withdrawal restoration schedule announcedBitget's own incident timeline
Sept 28 onwardWithdrawals resume progressively across BTC, ETH, USDT, other assets, fiat and P2P; tracing and recovery continueBitget's own incident timeline

4. Where It Broke: The Authorization Pipeline

The specificity of Bitget's language is the most instructive part of the disclosure. The exchange did not describe a leaked key, a phished employee credential or a smart-contract bug; it described transaction data being spoofed and an authorization process being triggered — by the attacker, through infrastructure the attacker controlled. Private-key compromise was ruled out explicitly. In the terms this record has used for three weeks, the distance between the key and the payout was crossed on the pipeline side: the system that decides what a key is asked to sign was made to request the wrong signatures, and the signing layer correctly approved them.

The closest precedent remains the Bybit theft of February 2025 — $1.4B, the largest on record — where attackers spoofed a signing screen to hijack a routine cold-wallet transfer. The two incidents bracket the same lesson from opposite ends: Bybit's users were told a lie about what was being signed; Bitget's backend was made to request signatures for transactions that should never have been assembled. In both cases the key material was never wrong and never left the operator's control. What failed was the trust that the thing asking the key to sign is honest — which means an exchange's security boundary is not its keys but its whole transaction pipeline, and a user evaluating an exchange is evaluating software they cannot see.

5. Who Was Actually Exposed

The answer divides cleanly, and not along the lines the headline suggests. Users whose assets sat in their own wallets — on exchanges elsewhere, in self-custody, on-chain — were never exposed, whatever chains they used. Users with balances on Bitget lost no principal: the exchange states account balances were accurate throughout, deposits and trading continued, and the loss falls within a User Protection Fund published at over $464M. What those users actually lost was time and control. All withdrawals froze for four days; restoration runs on a phased schedule of the exchange's announcement, asset class by asset class, from September 28. The exposure condition, stated plainly: anyone whose money was inside the trust boundary when it failed experienced a freeze the trust boundary's owner controlled — regardless of whether the breach touched their assets at all.

Two narrower exposures deserve their own lines. First, holders of the affected assets: the confirmed list includes TRX and USDT, and the revised estimate explicitly added Zcash and TRON transactions — a reminder that multi-chain incidents reach every chain a venue touches, TRON included, and that issuer-freezable assets were the attacker's first disposal problem rather than the victim's. Second, the on-chain observers: early independent estimates ran $174–183M, roughly half the final figure, and one researcher's analysis even referenced a cold wallet among affected addresses while the exchange maintained cold storage was fully secure — a discrepancy that comes down to how third parties label the warm tier. When the labeling is contested, the number is contested; the honest posture toward any incident figure in its first days is that it is a floor moving in one direction.

Key point: The custody trade-off, priced in one week: the fund covered the principal, and nothing covered the four days. Self-custody inverts the same trade — the key can always pay, and only your discipline stands between it and the drain. Neither choice removes risk; each chooses which failure you live through.

6. The Rest of the Week on the Same Boundary

Four other losses landed in the same seven days, and none shared a mechanism with Bitget. What they shared was the property: value moved on the strength of a system's own say-so, and the say-so was wrong.

A governance proposal on Neutron cost about $20,199 in voting power, passed with eleven Update Admin actions, and lawfully redirected the administrators of contracts used by the Astroport exchange and the Drop liquid-staking protocol — roughly $9.3M per SlowMist's tracker, with Neutron's rate limits and halt containing much of it and Cosmos Hub validators sweeping the attacker's remaining 1,227,121 ATOM, about $2.2M, into a multisig on a coordinated restart. Nothing in either application's own security posture could object, because the takeover was authorized one level down, by the chain itself. A block-validation flaw on Meter let an attacker mint unbacked MTR and MTRG on September 23 and sell roughly $2.3M into PancakeSwap, crashing both tokens by 75% or more — the first incident in this record where consensus rules were the broken layer. The casino Duelbits lost approximately $7M to a suspected hot-key compromise spanning five chains, its estimate climbing from $4.3M to $5.9M to the co-founder's own ~$7M as investigators found more addresses. And a single leaked private key drained more than 145 Ethereum addresses plus TRON and Bitcoin holdings for over $4.3M, still active at the alert's publication — the standing case that individual key hygiene has not stopped being the first line of defense even in the week the pipeline became the target.

7. What to Do With This

8. What to Watch

Three questions decide what this incident means beyond Bitget. First, the root cause: the exchange has promised a full report and has deliberately not speculated on the attack vector; whether the report names a weakness the rest of the industry shares — a backend pattern, an authorization design, a vendor component — determines whether $387.5M bought the sector a fix or only bought Bitget one. Second, the fund arithmetic: drawn at the revised figure, roughly $77M of the published $464M headroom remains, and every exchange with an insurance fund is now being asked what its own coverage would look like after a comparable event. Third, the pace of restoration: a four-day freeze absorbed calmly in a rising market is the best-case reading; the same freeze in a falling one is the stress test nobody chose. The deeper question underneath all three is whether the industry's security spending follows the losses — which, for three consecutive weeks, have been moving from the keys to the systems that use them.

Frequently Asked Questions

Was my Bitget balance actually at risk if the fund covers the loss?

Your principal was never at risk in the way an uninsured loss would be: the exchange states balances remained accurate, the loss falls within its User Protection Fund, and cold storage was untouched. What you were exposed to was the access freeze — four days without withdrawals and a phased restoration thereafter. The two risks are different instruments: principal risk is capped by the fund's size, access risk is capped only by how long containment takes.

How is this different from the Bybit hack?

Both attacks targeted the path between a withdrawal and a signature rather than the key itself, but the surfaces were opposite. In the Bybit case attackers spoofed a signing screen so signers approved a transaction they misread; in the Bitget case the backend that assembles and authorizes transactions was compromised and made to trigger the authorization itself, with key compromise explicitly ruled out. The shared lesson is uncomfortable: in both, the cryptographic material worked correctly, and the lie happened before the key was ever asked to sign.

Why did the loss estimate change from $351.6M to $387.5M?

Because transaction classification continued after the initial assessment. Bitget's September 25 revision added affected Zcash and TRON transactions that the first count missed, and the exchange notes the figure may still move as tracing proceeds. This is the normal direction for incident figures — floors move up as more of the outflow is classified — which is why early numbers from any breach should be treated as provisional.

Does this incident affect my self-custody wallet or my holdings on TRON?

No, as long as the assets were never on the exchange. The breach touched Bitget's own wallet infrastructure; on-chain holdings, hardware wallets and balances on other venues were outside the trust boundary that failed. TRON's connection is as a chain the incident reached — TRX and USDT are on the affected-asset list and the revised estimate added TRON transactions — not as a network-level problem. The standing self-custody lesson from this week is the separate 145-address key leak, which is why key hygiene and exit rehearsal are the same checklist.

What is the single most useful thing I can do this weekend?

Rehearse your exits and right-size your custody. Take a small withdrawal from every venue you depend on and confirm it lands; move anything you are not actively trading off the venue; generate significant holdings on a clean device if any key has ever touched software; and bookmark each venue's official notice page so the next incident's scam wave has nothing to imitate. Every loss pattern this week — a frozen exchange, a drained bridge, a leaked key — would have been bounded by one of those actions taken in advance.

Sources & Methodology

This article is based on public data and official disclosures. Figures were last reviewed on September 28, 2026. Values change with network conditions; always verify against the primary source before making decisions.

  1. Bitget's own security notice (September 24, 2026) and incident timeline page (September 24–26, 2026): 18:31 UTC detection, $351.6M initial assessment revised to $387.5M on September 25 including additional Zcash and TRON transactions, backend compromise used to spoof transaction data and trigger authorization, private-key compromise ruled out, cold wallets unaffected, three-tier architecture, Mandiant and SlowMist engaged, Recovery Bounty Program, phased withdrawal restoration from September 28, User Protection Fund above $464M, affected assets across Ethereum and EVM networks, XRP Ledger, Zcash and TRON.
  2. On-chain researchers' contemporaneous tracing, as carried in Decrypt's reporting (September 25, 2026): Arkham analyst Emmett Gallic's early estimates of $174–183M across three Bitget hot wallets consolidated to a single address, Hacken's and PeckShield's alerts, and the ~$19.7M USDT0-to-7,111-ETH conversion on Arbitrum inside six minutes at a roughly 5% premium.
  3. Bybit's own disclosures of February 2025 and the industry's post-incident record: the $1.4B signing-screen spoof as the bracketing precedent for authorization-layer attacks.
  4. SlowMist's incident tracker (September 22, 2026) and the Cosmos Hub's own Hub Weekly Update #17, carried in CryptoSlate's report (September 24, 2026): Neutron proposal #9 (~$20,199 in NTRN, 11 Update Admin actions), $9.3M across Astroport and Drop, the halt, and the 1,227,121 ATOM (~$2.2M) sweep into a 4-of-6 validator multisig.
  5. Meter's own X statement (September 24, 2026): block-validation flaw at 21:14 UTC on September 23, unbacked MTR and MTRG minted and sold (~$2.3M), mainnet and bridge paused, chain state preserved; Duelbits' co-founder confirmation (~$7M); Payy's own statements (September 24–25, 2026); Specter's alert on the 145-address cross-chain key leak (September 22, 2026).
  6. SlowMist's Darksword warning via CISO 23pds (September 22, 2026) and Google Threat Intelligence Group's published research: the six-vulnerability iOS chain documented against iOS 18.4–18.7, with the iOS 26.5 adaptation unconfirmed.
  7. Blockstream's own Liquid incident status page (latest update September 10, 2026) and DCENT's published notices (September 16–20, 2026): carried threads unchanged by this edition's cutoff.
OSW
The OpSecWallet Research Team

We are an independent research desk focused on wallet security and safe on-chain operation. Every report is written from public data and official security disclosures, cross-checked against primary sources, and reviewed for accuracy before publication. We never ask readers for keys, seeds or transfers.

Disclaimer: This content is for informational purposes only and does not constitute financial, legal or security advice. No checklist or tool eliminates risk entirely; self-custody means you are responsible for your own keys.