Weekly Brief: Bitget stopped at 19:05, the theft ran to 21:23

Four weeks since our last brief. Bitget's post-mortems show transfers running for 138 minutes after it blocked withdrawals. Aave's Equities Hub went through four weekends of frozen stock prices with no deficit and grew its collateral sevenfold. Ledger reseller implants took an estimated $93M, and Babylon asked Aave to take native bitcoin.


Illustration for “Weekly Brief: Bitget stopped at 19:05, the theft ran to 21:23”

Our last brief went out on 25 September. This one covers the four weeks since.

Bitget, Mandiant and SlowMist have now published how $388M left Bitget's hot and warm wallets. Bitget's risk system blocked withdrawals across the platform at 19:05 UTC. The last stolen transfer went out at 21:23.

Aave V4's Equities Hub on Base has been through four weekends with its stock prices frozen. We read the hub and the price feeds: collateral grew from $1.46M to $10.10M, the largest Monday repricing was 1.24%, and the hub has recorded no deficit.

Also: an estimated $93M taken from Ledger devices sold through one Southeast Asian reseller, and a proposal to bring native bitcoin to Aave V4.

Everything below is current as of 20 October 2026, 08:15 UTC. The hub, feed, token and rate numbers are read by us from Base, Ethereum and Bitcoin; the rest is sourced at the end.

Bitget: 138 minutes after the block

Bitget's final verified figure is approximately $388M, up from the $351.6M in its first notice after it found further transfers on Zcash and Tron. The money came from 12 hot and warm wallet addresses across XRP, ETH, USDT, USDC, BNB, AVAX, TRX, ZEC and XAUt. Cold wallets were not touched, and Bitget says no private key was taken.

The way in was the security stack. SlowMist found the earliest malicious activity on 31 August, in a zero-day on a third-party security product. Mandiant traced the attacker from a second security appliance to the production wallet job server. On that server the attacker ran a withdrawal tool built for Bitget's wallet: it forged the risk-control parameters, built withdrawal requests and called the withdrawal process directly.

Bitget · how $388M left · UTC
31 Aug
Earliest malicious activity in the logs. A zero-day in a service on one node of third-party security product A lets the attacker run a hidden script, read the database password from an environment variable and connect to the database.
24 Sep 16:07
Using an internal employee's identity, the attacker is inside the management platform of security product B, injecting commands and uploading files. From there it moves to the production wallet job server.
17:49
A custom withdrawal tool starts running on the wallet host. It forges the risk-control parameters, builds withdrawal requests and calls the withdrawal process itself.
18:31
First transfers out: 93 TRX, then 0.84 ETH eleven seconds later. Bitget's monitoring flags them.
19:05
Reconciliation finds a large discrepancy. Risk control blocks withdrawal requests across the platform.
20:40
Private-key compromise has not been ruled out, so the wallet team starts moving funds to cold wallets.
21:23
Last transfer out. 2 hours 52 minutes after the first, 138 minutes after the block.
21:44
Withdrawal and signing services shut down; withdrawal-related access isolated.
25 Sep 08:43
Root cause identified. Law enforcement notified at 13:42.
Bitget's incident timeline; SlowMist's progress report (times converted from UTC+8); Mandiant's status report of 28 September.

The 19:05 block stopped withdrawal requests from customers. The attacker's tool sat below that layer, on the server that hands withdrawals to signing, and Mandiant reports the forged transfers "executed alongside legitimate internal wallet operations" until about 21:23. DFNS's reconstruction puts the single largest burst, about $203M across five chains in nine seconds, at 19:16, eleven minutes after the block. Bitget's timeline does not say which step ended the transfers: it began sweeping hot-wallet funds to cold storage at 20:40, and signing went off at 21:44.

The rest is cleanup. Withdrawals came back in phases from 28 September (BTC first, then ETH, then USDT) and were fully restored on 2 October. Bitget's Protection Fund covered the loss and was refilled to more than $300M on 30 September; its latest update shows 3,705 BTC. Chainalysis attributes the theft to North Korean actors, Elliptic calls that highly likely and TRM likely; no government has said so. DFNS counts about $1.1M frozen, and Bitget has said it will report recovered amounts only once verified. Neither security product has been named.

The Equities Hub, four weekends in

Last brief, the open question on Aave's tokenized stock market was the weekend: Chainlink's equity feeds stop at 20:00 ET Friday and the lending market keeps running. Four weekends have now passed. We pulled every round from the seven feeds and read the hub contract every six hours since launch.

Aave V4 Equities Hub on Base · read from the hub every six hours · 25 Sep to 20 Oct
feed closed$0M$2M$4M$6M$8M$10M28 Sep5 Oct12 Oct19 Oct13 Oct · incentives approved$10.10M stock collateral$5.29M USDC supplied$4.40M USDC borrowed
getAddedAssets and getAssetTotalOwed on the Equities Hub, stock balances priced with the feed value at each read. Shaded: weekends, when the feeds publish nothing.

The market is seven times bigger. Stock collateral in the hub went from $1.46M on launch afternoon to $10.10M, and USDC borrowed from $0.40M to $4.40M. Most of that came after Aave approved incentives for the market on 13 October, so part of the growth is paid for; in the six hours to 16:00 UTC on 15 October alone, collateral rose $2.4M and borrows $1.2M.

The lenders did not follow. USDC supplied fell, from $6.24M at launch to $5.29M. Utilisation is 83% and the base borrow rate 3.70%. Only $889K of USDC is left to borrow, against a $21M borrow cap. The caps are far off; what limits this market today is USDC from lenders.

in the hubtokensvalueshare of Aave capshare of all tokens on Base
NVDAc14,094$3.06M59%44%
GOOGLc8,368$2.88M56%45%
METAc2,715$1.92M47%46%
TSLAc2,232$0.82M16%31%
AAPLc1,897$0.65M13%26%
AMZNc1,736$0.46M17%19%
MSFTc583$0.31M11%21%

Our last brief charted each token's total supply against Aave's caps. The caps apply to what is deposited in Aave, and Aave holds 38% of the $26.5M of these tokens on Base. NVDAc's total supply is now 32,284, above its 24,000 cap, but only 14,094 of them are in the hub.

The weekends were quiet. No reopen moved any of the seven prices by more than 1.24%:

Friday's last print to Sunday 20:00 ET reopen · Coinbase stock feeds on Base
reopen
AAPLc
AMZNc
GOOGLc
METAc
MSFTc
NVDAc
TSLAc
silent
28 Sep
-0.37%
-0.06%
-0.01%
-0.30%
-0.18%
-0.13%
+0.10%
48–56h
5 Oct
-0.07%
+0.19%
+0.47%
+0.10%
+0.28%
+0.19%
+0.52%
52–58h
12 Oct
-0.06%
+0.52%
+0.05%
+0.15%
-0.02%
+0.01%
+0.17%
53–57h
19 Oct
+0.20%
+0.76%
+0.77%
+0.85%
+0.68%
+0.76%
+1.24%
51–55h
First new price after the reopen against the last price before it, read with getRoundData on each feed. “Silent” is the time between those two prints.

The feeds went silent for 48 to 58 hours each weekend, longer than the 48-hour closure. They write a new value on-chain only when the price moves past a threshold or a heartbeat expires, so the last print on a Friday can come hours before the 20:00 ET close: MSFTc's last print on 2 October was at 13:41 UTC. The largest repricing at a reopen was TSLAc +1.24% on 19 October, upward. The largest drop was AAPLc's 0.37% on 28 September. The hub's deficit counter, which records debt left uncovered after a liquidation, reads zero for all eight assets.

Four calm weekends are a small sample. None of them carried news that moved a stock more than about 1% between Friday and Sunday night; an earnings surprise or a market-wide sell-off would, and a borrower at its full collateral factor is liquidatable on any drop. A zero deficit over four quiet weekends says nothing about a 10% gap. LlamaRisk's stress test assumes a liquidation completes within five minutes of the next regular US open, and its assessment notes that a liquidator who receives seized stock tokens "cannot redeem until completing an issuer-controlled vesting process", so it has to sell on Base or find an eligible counterparty. Thanksgiving on 26 November is the first US market holiday since launch.

Ledger: an implant in the reseller channel

From 9 October, owners of Ledger devices bought through CryptoBilis, an authorised reseller serving Malaysia, Indonesia and the Philippines, watched their wallets empty. Ledger confirmed on 10 October that at least one device carried an unauthorised implant. Halborn's analysis: a small board behind the screen read the 24-word recovery phrase during setup and sent it out over LTE through an eSIM. It never touched the secure element or the signing logic. With the seed, the attacker could derive every key.

Estimates from on-chain analysts range from $72M to $93M or more across hundreds of wallets on Bitcoin, Ethereum and USDT; Halborn uses $93M. Ledger has not confirmed a figure. Tether froze about $10M of USDT on 12 October. Ledger told CryptoBilis to stop selling and asked resellers in seven Asian markets to pull devices from shelves. A researcher has reported similar modifications in devices bought in Europe; Ledger has not linked those to these losses.

Bitget's attacker came in through two security products, Ledger's through a shop. Neither had to break a key.

Babylon asks Aave to take native bitcoin

On 14 October, Babylon Labs posted an ARFC to accept native BTC as collateral on Aave V4. The BTC stays on Bitcoin in a vault whose transaction graph is pre-signed by the depositor, a vault provider, keepers and challengers. A non-transferable token on Ethereum represents it in a new Babylon Spoke, and borrowers draw stablecoins from an existing hub.

Liquidation is the hard part, and the proposal gives it two paths. A keeper with redemption rights can seize a vault and redeem the BTC to its own key. Anyone else can sell the seized vault immediately to a second spoke for WBTC at the oracle price less a discount; a permissioned set of arbitrageurs later repays that debt and redeems the BTC on Bitcoin over several days. Aave DAO would take the first $500K of yearly revenue, then a declining share down to 61.5% above $6M.

Control is split by layer. Aave DAO governs both spokes and the hub, including pause and freeze, and would get its own pauser role on the integration contracts; configuration of the swap spoke is delegated to a 2-of-3 multisig of Aave Labs, LlamaRisk and Babylon Labs. The vault contracts on the Babylon side are governed by two multisigs: a 4-of-7 Interim Governance Safe and a 3-of-5 Emergency Guardian whose fifth seat is still TBD. Upgrades there wait five days. A freeze stops new vaults and borrows but leaves exits open; a pause also stops exits, and either multisig can pause or unpause immediately. That pause is what forum replies object to, since it can halt the exit paths of Aave collateral without the DAO, and one reply calls the design functionally a bridge with a centralized key set. Next is a Snapshot vote needing 320,000 AAVE in favour, then an AIP with the risk parameters.

Other incidents

Other incidents since 25 September · DefiLlama amounts
1 Oct · $3.8M
NEAR Intents. USDT drained from its BSC hot wallet through a flaw in how the Omni deposit and withdrawal service interacted with the contract. Patched within hours; NEAR says users will be repaid in full.
1 Oct · $305K
FlashLoopAdapter. A third-party module that runs leveraged Aave V3 loops from Safe wallets accepted a fake Safe as authorised. A flash loan repaid about 1,335 WETH of the owners' debt, the attacker withdrew their weETH, and kept 114.09 ETH. Aave V3 itself was not touched.
6 Oct · $538K
MakerDAO ETH-A keeper. A keeper proxy won liquidation auctions 1457 to 1460 in 2020 and never called deal(), so 200 WETH sat in the Flipper for six years. The implementation's withdraw function had no auth. A Tornado-funded address took it.
10 Oct · $1.28M
Papertrade. Spot price manipulation on Hyperliquid L1.
13 Oct · $4.2M
Gamdom. Keys leaked through infrastructure, drained across eight chains.
17 Oct · $1.3M
Qubic. Weak key generation.

Two of these sat next to Aave without being Aave. The FlashLoopAdapter loss came from a third-party module wired into Safe wallets, and the MakerDAO keeper was a 2020 bot contract that had held the same 200 WETH since its last auction.

Follow-ups

cirBTC fell for the first time. Circle's wrapped bitcoin read 538.50 today, down from 632.96 on 25 September, the first decline since we started tracking it at 40.02. At $81,376 that is $43.8M.

Arc kept growing; Aave on Arc did not. Arc's TVL is $525.7M, up from $472.2M. Aave V4's Arc market is flat at $181.4M. Steakhouse reports Morpho's largest BTC-backed USDC markets on Arc borrowing at 1.96%, held down by the rate curve, with about $180M borrowed.

Liquid's 598.5 BTC has still not moved. The address holding the unreturned part of the September peg-out has made no payment out; it has only received dust of a few hundred satoshis.

USDT fell behind. Aave V3 on Ethereum pays a supply APR of 3.79% on USDC and 3.13% on USDT today, against 3.69% and 3.67% on 25 September. Fed funds is still 3.75–4.00%. USDC is now about 9 basis points under the midpoint; USDT is about 75 under.

What we are watching

  • The Fed on 28 October. The first decision since the September hike.
  • USDC supply in the Equities Hub. Borrowers have $889K left. Either the rate rises until lenders arrive, or new borrowing stops.
  • Bitget's full report, and the names of the two security products. Their vendors have other customers.
  • The Babylon Snapshot. And who fills the open Emergency Guardian seat, since that multisig can stop exits.

How we read it. Equities Hub figures are 100 reads of the hub at 0xa4d5947Eb727A052bae69C593FfC84247EC9864E on Base, every six hours from block 51,781,327 (25 Sep 16:00 UTC) to block 52,847,309 (20 Oct 08:12 UTC): getAddedAssets and getAssetTotalOwed for each asset, getAssetLiquidity for the USDC left to borrow, getAssetDeficitRay for the deficit and getAssetDrawnRate for the base rate. Stock balances are valued at the feed price in force at each read. Weekend gaps compare the last round before Monday 00:00 UTC with the first round at or after it, from every round of the seven feeds listed under AaveV4BaseSpokePriceFeeds in the address book. The Bitget, Ledger and incident figures are reported by the companies and investigators named below; we did not trace those transfers ourselves.


Sources: Equities Hub balances, USDC supplied and owed, deficit and drawn rate read by us from the hub at 0xa4d5947E…9864E on Base (addresses from Aave's address book); feed history from getRoundData on the seven Coinbase stock feeds; token supplies with totalSupply(); cirBTC supply from 0x72DFB2E4... on Ethereum; Aave V3 Ethereum rates from the pool contract; the Liquid address from the Blockstream API; Arc and Aave V4 TVL from the DefiLlama API; incident amounts from DefiLlama Hacks. Bitget from its incident timeline, its report notice, SlowMist's progress report, Mandiant's status report and DFNS. The incentive approval from Coinfomania; LlamaRisk's vesting and stress-test notes via CryptoSlate. Ledger from Halborn and Crypto Briefing. Babylon from the ARFC and Cointelegraph. NEAR Intents from crypto.news; FlashLoopAdapter from Cointelegraph; the MakerDAO keeper from The Crypto Times. Arc Morpho rates from Steakhouse. BTC price from CoinGecko.

← All posts