Inside the Mercado Bitcoin Drain. Nine Networks in Twenty-Five Minutes, Then a Slow Getaway
Before dawn on 2 November 2026, someone emptied the hot wallets of Mercado Bitcoin, Brazil's largest crypto exchange, on nine blockchains at once. The main sweep took under half an hour. What followed was slower. Stablecoin and gold-token issuers froze what they could. The attacker sorted the loot into fresh wallets, bridged part of the Solana haul into Ether and sold the rest for stablecoins that Tether then froze. That day tens of thousands of its customer deposit addresses were swept into the attacker's address, thousands of them after the exchange said the incident was contained. From the next day, wallets funded by the attacker sold the long tail of tokens for Ether. This is the chronology as the blockchains recorded it. All times are Brasília time (BRT, UTC−3).
This is a corrected version of a post we published on 3 November and withdrew the same day. What changed, and why, is at the end.
The short answers: about $49.1 million left wallets we attribute to Mercado Bitcoin, most of it in 25 minutes. The exchange has not published its own wallets, so that attribution is ours, and it is not equally firm everywhere:
-
High confidence, $33.6 million: the Ethereum, Polygon and BNB Chain hot wallets, which had been funded many times by wallets that Dune, a public analytics site, labels as Mercado Bitcoin's (Arkham, an analytics firm, also labels the Ethereum one as the exchange's), and the Stellar wallet, which was opened in December 2025 by an account that StellarExpert's public directory lists as Mercado Bitcoin's.
-
Medium confidence, $10.7 million:
- the Bitcoin wallets, $8.3 million: they had been spent together in earlier transactions, which almost always means one owner, and the change from the theft went back to the exchange's own change address. No public label names them;
- the Arbitrum and Avalanche wallets, $2.2 million: they trade with the same unlabelled counterparties as the exchange's labelled wallets, but carry no label or funding link of their own;
- customer deposit addresses with a history of their own with the exchange's labelled wallets, and those swept in the same transactions as them, $148,000.
Each is marked again where it appears below.
-
Assumed from timing only, $4.8 million: the Solana wallet, $3.3 million, and the Tron wallet, $1.5 million. We count them as the exchange's because the same attacker emptied them in the same minutes. Nothing else links them to Mercado Bitcoin.
Six issuers have frozen $12.0 million, about 25% of the total. Within the three transfers our trace follows from the attacker's wallets, nothing went to an exchange or a mixer that any public label names. From the morning of 3 November, wallets the attacker funded sent tokens worth $11.6 million, at the hour of each transfer, into MetaMask's swap service, and the proceeds sit in Ether in fresh wallets.
THE ATTACK
The preparation
The attack was set up well before it happened. The money ended up in one address that Mercado Bitcoin later published, 0xe485e7a7…742478, identical on every EVM chain, plus its counterparts on Bitcoin, Solana, Tron and Stellar. That address did not exist on chain until the afternoon before.
- A wallet we tie to the attacker,
0x7d61b68d…d7449d, makes its first transaction on Ethereum. We tie it to the attacker because it later sent test payments to the attacker address before Mercado Bitcoin made that address public. - A small funder,
0x2b63378d…bec651, receives 0.00456 BNB from0x161ba15a…fbb645, a Binance hot wallet. Exchange withdrawals like this can leave an identity trail at the exchange, though they identify no one by themselves. - The attacker address receives its first funds ever, 0.0045 BNB from that funder: enough gas to transact on BNB Chain.
- Test payments begin.
0x7d61b68d…d7449dand its Tron twin, controlled by the same private key, send small amounts of USDT, ETH, BNB and TRX to the attacker on Ethereum, BNB Chain and Tron. - Gas for Ethereum, 0.0316 ETH, arrives from
0xa64634ca…51b1c2, an address that had been dormant since 2021. - Two more wallets funded by
0x7d61b68d…d7449dmake their own test sends. - The last small test sends arrive: on Tron at 18:23, and on Ethereum at 19:02 from
0x29d9b8a9…d7c68a, which we also tie to the attacker because it sent test payments before the address was public.
So by the evening of 1 November the receiving side was ready, funded and tested on three chains, about eight hours before the first Mercado Bitcoin wallet was touched.
A warm-up on another exchange's hot wallets
The first wallets the attacker emptied did not belong to Mercado Bitcoin, as far as the chain shows. Between 22:22 on 1 November and 02:10 on 2 November, three hot wallets on Base, Optimism and Arbitrum were swept into the same attacker address.
- Base: the hot wallet
0xc3f6b6c4…406696is emptied, mostly USDC and ETH, about $110,000. - Optimism: the hot wallet
0x225e8fac…1aabc9is emptied, about $7,000. - Arbitrum: the hot wallet
0xb4af4d0b…778f01, labelled BitMart, is emptied of about $164,000 in small-cap tokens (EVA, ANT, RAIN, ATH), in 30 transfers, the last of them at 13:39 the next afternoon. - Within a minute, five smaller wallets that had traded with the Base and Optimism hot wallets before send their own ETH to the attacker, 3.11 ETH on Base and 0.57 ETH on Optimism. Each was signed with the wallet's own key.
- On Bitcoin, a new address,
1FGkTXZN…77iSWX, is assembled from old coins linked to the exchange wallet that will be drained three hours later. It could be routine housekeeping or an early move by the attacker; the chain does not say which. - Linea: two unlabelled wallets send ETH and some tokens, about $32,000, to the attacker address. Nothing ties them to Mercado Bitcoin.
The same attacker came back to the Base hot wallet that evening, as told below. Counting every sweep, the warm-up wallets lost $435,000. We do not count it in Mercado Bitcoin's total.
This matters for the question of how the attack worked. If these were another exchange's hot wallets, whoever did it held signing power over several unrelated, exchange-grade wallets as well as Mercado Bitcoin's. Seed phrases stolen from individuals do not explain that. A compromise of something their operators had in common, such as a custody, signing or key-management tool, would, and so would keys bought or reused from an exchange that had stopped trading. It is a hypothesis, and nothing public confirms either reading.
Twenty-five minutes, nine networks
The Bitcoin wallet was hit first, with small test sweeps. Then, from 03:24, everything happened at once. Ethereum, Tron, Solana, Stellar, Avalanche, Polygon, Arbitrum and BNB Chain were emptied in parallel, each wallet drained within minutes of the others. By 03:50 about $48.9 million had moved to the attacker.
How fast the money left: value taken from wallets we attribute to Mercado Bitcoin, in each 10 minutes, 2 Nov
Almost all of it moved between 03:20 and 03:50 BRT
- Bitcoin: the address built at 23:15 is swept, 0.369 BTC. It is the first Mercado Bitcoin-side value to move. Medium confidence, as for all the Bitcoin wallets: see 03:41.
- Bitcoin: a tiny test, then, in the same block, 53 addresses that look like customer deposit addresses swept together. Medium confidence, as for all the Bitcoin wallets.
- Ethereum: the exchange's main hot wallet,
0x5cc77877…27d548, starts emptying. At 03:24:47 a single transaction takes 2,852.07 ETH. Over the next 24 minutes 192 transfers take $29.7 million: ETH, 2.99 million USDT, 2.24 million USDC, PEPE, AAVE and a long tail of tokens. - Tron: about $1.5 million, mostly USDT and TRX, in 11 transfers. Assumed to be Mercado Bitcoin's from timing only.
- Solana: $3.3 million, including 10,696 SOL, 818,000 USDT and a basket of Solana tokens. Assumed to be Mercado Bitcoin's from timing only.
- Stellar: the Mercado Bitcoin wallet itself creates the attacker's Stellar account and then empties into it: 6.72 million XLM and 979,000 USDC, $2.1 million.
- Bitcoin: another tiny test, then the exchange's hot wallet and its feeder are swept in one transaction, 104.43 BTC. Change from these sweeps went to the exchange's own change address and was swept minutes later, as if the attacker signed through the exchange's own wallet software. Medium confidence: the exchange has not published its Bitcoin wallets. We tie these to it because they were spent together in earlier transactions, which almost always means one owner, and because the change went back to the same change address.
- Avalanche: 77,000 AVAX, $665,000. Medium confidence: tied to the exchange because it trades with the same counterparties as its labelled wallets, not by a label of its own.
- Polygon: $1.66 million in USDC, USDT, RIB and the BRL1 real stablecoin.
- Arbitrum, $1.54 million, and BNB Chain, $93,000, follow within a minute. Arbitrum is medium confidence, on the same basis as Avalanche; BNB Chain is high.
- The last Bitcoin change output is swept. The morning drain is over: 106.07 BTC now sits at
19qGpsHv…6prDZp, in seven transactions.
What was taken, by network: value moved from wallets we attribute to Mercado Bitcoin, in the morning drain
Ethereum was six dollars in ten; Bitcoin was the next largest
Nine networks, one signer, parallel sweeps finished inside 25 minutes. That pattern points to someone who held the exchange's keys or controlled the system that signs with them, from outside or from inside; the chain does not say which. A flaw in one smart contract cannot empty Bitcoin, Stellar and Ethereum wallets at the same time.
The attacker address is active on 24 networks in all. On ten of them money arrived during the drain: the nine above, plus XDC, where $96,000 arrived at 03:48 from an unlabelled address. Only the timing links that address to Mercado Bitcoin, and we do not ingest XDC, so that sum is not in our total. On the other 13, small amounts, $74,000 in all, arrived before the drain from wallets with no tie to the exchange.
THE RESPONSE
Six issuers freeze $12.0 million
Stablecoins and tokenised gold can be frozen by their issuers. Tether was the first to act, about three and a half hours after the drain, before Mercado Bitcoin had said anything in public. Every figure below is read from the issuer's own contract, not from a statement.
- Tether freezes 444,301 USDT0 in the attacker's Polygon address.
- Tether freezes 708,244 USDT in the attacker's Tron address.
- Tether freezes 3,059,425 USDT in the attacker's Ethereum address, and in the same block its 81.4 ounces of Tether Gold: 4.21 million USDT blocked in under an hour and a half. Paolo Ardoino, Tether's chief executive, put the figure at more than 4.5 million USDT at 12:06; by then, with the Solana freeze below, Tether had frozen 5.48 million USDT.
- Mercado Bitcoin posts on X that the incident was identified and quickly contained, with no customer losses. At 11:24 it publishes the attacker's addresses.
- Agora freezes 106,083 AUSD in the attacker's Ethereum address.
- Paxos freezes 369.8 PAXG gold tokens and 14,333 USDP, most of the gold in a parking wallet,
0x3c6daf92…53e051. - Tether freezes the attacker's Solana USDT, 1,264,700, one second after the last sale into it (see the Solana section).
- BRL1, a Brazilian real stablecoin, has no freeze function of its own. Its access registry starts refusing the attacker's address, which holds 307,936 BRL1; the registry lists no other address.
- Tether freezes 82,341 USAT, its US-regulated dollar token.
- Circle, the issuer of USDC, starts: 707,767 USDC on Polygon. Within half a minute it blacklists the attacker's Ethereum and Base addresses, which by then held almost no USDC.
- Circle freezes 2,236,100 USDC in
0x3ce76d2d…40c779, the parking wallet that took the attacker's Ethereum USDC at 10:12, and 13,214 USDC in two smaller ones minutes earlier. - Ripple pauses 39,335 RLUSD in the same parking wallet that holds the PAXG.
- Circle freezes 66,283 USDC in the Base copy of the parking wallet
0x8419e782…1ff320, and at 16:23 1,531 USDC in another parking wallet, on Optimism. - Stellar: Circle deauthorises the attacker's USDC and EURC, 979,527 USDC and 10,468 EURC. The 6.72 million XLM in the same account cannot be frozen.
- MetaMask USD freezes wallets the attacker used or funded, 33 by the next day. None held any.
- Circle freezes the 358,228 EURC in the attacker's Ethereum address. Its first EURC freeze, on 2 November, had named a parking wallet that held none.
| Issuer | Frozen, US$ |
|---|---|
| Tether (USDT, USDT0, Tether Gold, USAT) | 5,892,483 |
| Circle (USDC, EURC) | 4,417,753 |
| Paxos (PAXG, USDP) | 1,532,740 |
| Agora (AUSD) | 105,968 |
| BRL1 (access registry) | 56,051 |
| Ripple (RLUSD) | 39,348 |
| Total | 12,044,343 |
Frozen by the issuers: balances blocked in the attacker's and parking wallets, by network
Tether and Circle hold most of it; gold tokens are valued at the latest price
Not everything was frozen. The USDT and USDC the attacker gathered on BNB Chain are bridged versions that no issuer can block at the source; they left on 4 November. The 9,450 USDC that a bridge refunded on Arbitrum was frozen only on 4 November, in the next wallet along.
The attacker sorts the loot
Five hours after the drain the attacker returned and began splitting the Ethereum haul into new, single-purpose wallets. Each one received a particular kind of asset and then went quiet: Ether in one, USDC in another, memecoins in a third, gold tokens and synthetic dollars in a fourth. None of them had any history before that day. We count them as the attacker's because each was first funded from the attacker's published address and had no history of its own; that is an inference, though a strong one.
- The first parking wallet,
0x8419e782…1ff320, starts receiving Ether. The same address is later funded on Avalanche, Base and Arbitrum. 0x3ce76d2d…40c779receives all the USDC from the Ethereum address, getting it out before Circle acts.- Tron: a parking wallet,
TJiRoqF9…kYWAmh, receives the TRX. 0x3c6daf92…53e051receives PAXG gold tokens, RLUSD, USDe and USDS.0x0110b9a1…e53b51receives the memecoin and DeFi basket: PEPE, AAVE, FET and others.0x4a9d1fe8…d318aereceives ONDO, QNT, FLOKI and GALA, and0xc19f9f80…1228c1receives POL and PIXEL at 12:06.
Fresh wallets, one asset type each: value each new parking wallet received from the attacker, 2 Nov
Wallets with no history, funded in three hours
Solana: Ether through the bridges, frozen dollars from the sales
On Solana the attacker had two kinds of loot: liquid coins (SOL, and the USDT drained from the Solana wallet we assume was the exchange's) and a basket of small Solana tokens that are hard to sell in size. The liquid part went across bridges into Ether, which no issuer can freeze. The small tokens were sold on Solana's exchanges for stablecoins, and that is where the plan went wrong.
- The first SOL goes into Mayan, a cross-chain swap service, through a one-off order wallet the attacker funded seconds before. The Ether comes out on Ethereum, straight into the attacker's published address. In all, Mayan took 10,666 SOL and some USDT and USDC.
- The attacker also starts using Chainflip, another cross-chain exchange.
- Selling begins on Solana's exchanges, mostly through the Jupiter aggregator. Over two hours, 216 swaps turn the small tokens into 1.26 million USDT and 0.23 million USDC.
- The sales into USDT stop. One second later Tether freezes the attacker's Solana USDT, 1,264,700. From here the attacker sells for USDC only, until 13:01.
- The last landing. In total, 46 Mayan orders and 5 Chainflip swaps brought 743.3 ETH to the attacker on Ethereum.
The USDC from the sales went on through Mayan. The USDT did not. It stayed in the attacker's Solana address until Tether froze it. In other words, the attacker turned about $1.5 million of tokens nobody could freeze into a stablecoin that could be frozen, and lost most of it.
Every bridge crossing here is confirmed by the bridge's own records on both chains. A third attempt, on Arbitrum, did not go through: a parking wallet sent 9,450 USDC into a Chainflip deposit channel, asking for the money to be paid to another address, 0x310c7252…9ae517, and Chainflip's broker refused the deposit and refunded it.
Tens of thousands of deposit addresses, before and after "contained"
The largest number in this story is not a dollar figure. That day 36,104 different addresses on Ethereum sent their balances to the attacker's address or its collectors. The batches began at 09:28 and ran until 13:56; 12,366 of the addresses were first swept after Mercado Bitcoin said, at 09:56, that the incident was contained. They look like exchange deposit addresses, the per-customer addresses an exchange creates, tops up with gas and sweeps into its hot wallet. We think they were Mercado Bitcoin's: in samples of every group below, almost all had paid into, or taken gas from, wallets labelled as the exchange's. The exchange has not confirmed any of them. The count also takes in 11 poisoning lookalikes of the attacker's wallets, which sent worthless transfers and are not deposit addresses.
They were not swept one by one. 35,311 of them signed old-style (type-0) transactions at the same batch gas prices, and 68 blocks each carry 50 or more of them at a single gas price, up to 2,340 addresses in one block. Each transaction was signed by the deposit address's own key. That is software holding every one of those keys, not a pre-installed sweeper contract like the one in the Binance hack of 29 October.
The money in each was small. Together they sent $265,872:
| What each address sent | Addresses | US$ |
|---|---|---|
| Under $1 | 19,803 | 5,642 |
| $1 to $10 | 12,992 | 49,347 |
| $10 to $100 | 3,182 | 49,367 |
| $100 or more | 127 | 161,516 |
The same thing happened on other networks. On BNB Chain, 142 addresses swept into the attacker from 11:26. From 14:43 an unlabelled address that had never sent a transaction before collected another $125,000 from deposit addresses and passed it to the attacker. Bitquery reads it as a busy wallet tied to the exchange; because its first transaction is that afternoon and most of what it collected came from deposit addresses, we read it as the attacker's collector on that chain. On Base, between 17:19 and 17:44, 1,412 addresses sent ETH dust, about $8,000 in all, to the Base address of the parking wallet 0x8419e782…1ff320. In the same minutes the attacker returned to the Base hot wallet 0xc3f6b6c4…406696 and its two smaller siblings, took their long-tail tokens, about $145,000 at quoted prices for thin tokens, $20,000 of it at a spot quote, so not money anyone could realise in full, and sent them to the same parking address.
The dollar value is small. The meaning is large. Hours after the exchange said the incident was contained, the attacker could still sign for thousands of its customer deposit addresses. Exchanges usually derive those keys from one master key, so this suggests the master key itself, or the system that uses it, was in the attacker's hands. The other reading is that the exchange's own sweeping software was being driven to a new destination, which would also explain the batches. Both readings come from the transaction pattern, and Mercado Bitcoin has not confirmed either.
THE MONEY
The parked money starts moving
The parked money started to move on the evening of 2 November, about fifteen hours after the drain. The wallets it went to only ever received from the attacker's wallets, so we assume the attacker controls them. That is an inference, and we do not count their balances as the attacker's.
- Tron: the attacker sends USDD into Bridgers, a cross-chain swap service, which pays out USDT to
TW834Y7q…oDKQuy. Over the night, parking wallets feed Bridgers more lots of ETH and POL, all paid out to the same Tron wallet. - Ethereum: Ether starts to leave the main parking wallet for a new wallet,
0x59a919e8…21731e, which ends up with 2,979 ETH. Within seconds, lookalike addresses send zero-value transfers to the attacker, a common "address poisoning" scam. - 428,168 SNX leave the attacker's address for the Synthetix ProtocolDAO. The transaction was sent by the DAO's own multisig, not by the attacker: Synthetix pulled the tokens back.
- Two other parking wallets send 670 ETH to a third new wallet,
0x071f8366…3f9270. - Tron: the TRX parking wallet sends its 1.71 million TRX to a fresh wallet,
TBvcMqMy…9nJx51. At 04:55 that wallet places a Bridgers order of 1.28 million TRX, and at 05:03:59 Bridgers pays 180.9 ETH to0x4d5f3758…a72c9don Ethereum. A second order of 427,180 TRX, fromTS8RfeDs…fYrpPq, had not been paid out when we last read it. - Tron: the Bridgers payout wallet
TW834Y7q…oDKQuysends its USDT on toTEcDijvK…m7Y4XC, a busy address with more than a thousand senders; we cannot say whose service it is. - Avalanche: 76,000 AVAX reaches
0x71ddbdd9…0db728through0xaf51d3ce…c16f77, a fresh wallet that also sold the Base long tail through Mayan's same-chain swap router, a contract many traders use.
Then the selling
From the evening of 2 November to 4 November, the attacker's address and its parking wallets sent $26.6 million to 30 fresh wallets: the parked Ether and TRX first, then, from the morning of 3 November, the token baskets. Those wallets began to sell. The amounts below are what was sent into each service, at the hour of each transfer, not what came back.
- MetaMask's swap service, from 10:31 on 3 November to the morning of 4 November: 467 transfers of tokens into MetaMask Swaps, $11.6 million at the hour of each.
- CoW Protocol and other aggregators, from the morning of 4 November: $1.6 million through CoW alone.
- Back into Ether. The proceeds came back as ETH. At our latest read, nine fresh wallets held 9,467 ETH between them; that includes the two that took the parked Ether on the evening of 2 November, and
0x3de1e404…935c49, which took 760.82 ETH from0x4d5f3758…a72c9d, the wallet paid by the Tron order, at 22:38 on 4 November.
Our trace follows the money three transfers from the attacker's addresses and parking wallets, and stops there. The wallet that took the Tron proceeds is the fourth step; we added it by hand once a reader pointed it out, and there may be others like it. So when we say that none of it has gone to an exchange or a mixer that any public label names, that holds within those three steps, not beyond them. Tether blacklisted one of the fresh wallets on 4 November, and Circle froze the refunded USDC in another.
Where the money went: value sent into named services since the evening of 2 Nov, by the attacker's wallets and the fresh wallets it funded
Mostly sales through MetaMask's swap service
WHAT IT ADDS UP TO
Why this looks unusual
- Signing access, not a code bug. Nine networks were emptied in parallel inside 25 minutes, with test transactions first and change sent back through the exchange's own change addresses. That points to control of keys or of the signing system.
- Access outlasted the response. 12,366 deposit addresses were first swept after the exchange said the incident was contained, in batches that ran until 13:56.
- Another exchange's hot wallets, the same night. Three hot wallets publicly attributed to BitMart were drained hours before Mercado Bitcoin's, and one of them again in the evening. BitMart's founder has since said BitMart was hacked on 2 November and points to the same group. Stolen personal keys do not explain that; access to two exchanges' systems on one night does.
- Mostly, it avoided what can be frozen, until it did not. The USDC was moved out of the published address before Circle acted (Circle froze it in the new wallet anyway), and SOL and stablecoins were bridged into Ether. Selling Solana tokens for USDT handed Tether about 1.26 million USDT to freeze, and six issuers ended up holding $12.0 million.
- No cash-out yet that we can see. The tokens were sold for Ether, not for money at an exchange.
We found no transfer, direct or through one intermediary, between this attacker and the wallets of the Binance hack of 29 October. Both used Tether on Ethereum and Tron, which is common and says nothing about who is behind them. No public body has named anyone for the Mercado Bitcoin drain.
How our total compares with others
Our figure is $49.1 million, priced at the hour each transfer happened. Chainalysis puts the theft at about $49 million across 17 chains, which matches ours; we see the attacker address active on 24 networks, but the extra ones carried only small amounts before the drain. Bitquery puts it at $48.6 million; it leaves out one thinly traded token we price. The early estimates were lower: Hypernative flagged "more than $40 million" within hours, Bloomberg reported that the exchange would absorb a $40 million loss, and Brazilian outlets converted that to about 217 million reais. CoinDesk reports that partners froze over $15 million, without a source for the figure; our $12.0 million is what the issuers' own contracts show as blocked in the attacker's and parking wallets. Mercado Bitcoin put the affected assets at about $38 million and the blocked ones at $11 million. Our total minus that $11 million is close to $38 million, so we read the exchange's figure as what remained affected after the blocks, but it has not said how it counted.
| What was taken | US$ million |
|---|---|
| Stablecoins | 9.38 |
| BTC, ETH and their wrapped forms, SOL, XLM, TRX, AVAX, BNB, ARB | 18.72 |
| Other tokens | 20.96 |
The other tokens are led by PEPE, AAVE, PAXG, PENDLE, EVA, VIRTUAL, UNI and ONDO, and several of those are easy to sell. Leaving out the three thinnest tokens (EVA, RIB and WBX) and anything priced only at a spot quote takes our figure to $47.0 million, not to $40 million.
What to keep an eye on
- The Ether wallets
0x59a919e8…21731eholds 2,979 ETH. It has never sent a transaction (read 5 Nov 18:42 BRT).0x071f8366…3f9270holds 670.00 ETH. It has never sent a transaction (read 5 Nov 18:42 BRT).0x3de1e404…935c49holds 769.87 ETH. It last sent 0.01 ETH at 5 Nov 03:35 BRT (read 5 Nov 18:42 BRT). Their first large move shows whether the Ether is going the way of the rest. - The bitcoin
19qGpsHv…6prDZpholds 106.07 BTC. It has never sent a transaction (read 5 Nov 18:42 BRT). - Stellar
GDXYRI6I…MZSOLPholds 6.71 million XLM, besides $1.0 million frozen. It has sent nothing to another address (read 5 Nov 18:42 BRT). The stablecoins there are frozen; the XLM cannot be, and could leave at any time. - The attacker's published address
0xe485e7a7…742478holds 72.23 million RIB worth $496,000, 4,818 KAG worth $253,000, 1,903 KAU worth $252,000 and 9.35 stETH worth $21,000, $1.0 million in all that can move at the latest price, besides $5.2 million frozen. It last sent 12.00 AVAX at 4 Nov 21:29 BRT (read 5 Nov 18:42 BRT).
How to read the numbers
Amounts are in US dollars at the hour of each transfer, and balances and freezes at the latest hourly price, with two exceptions. Solana tokens with no reliable market price are priced at what the attacker got when selling them, and a few transfers at a spot price, $1.09 million in all; tokens with no price at all count as zero, so the total errs low. Mercado Bitcoin published the attacker addresses but no list of its own wallets, so which wallets were the exchange's is our attribution from their on-chain history. The attacker addresses, every freeze and every bridge crossing were read directly on chain, each freeze from the issuer's own contract. Parking wallets are wallets that received value from a published address and had no history before; that they belong to the attacker is our inference. Every number in this post is the result of a recorded query on our data, read at 5 Nov 18:31 BRT; the wallets in the list above were read again when the post was built, at the time given with each.
Corrections
We published a first version of this post on 3 November and withdrew it the same day. It had four errors, all of which our own data could have caught:
- Two service contracts treated as the attacker's wallets. It described Mayan's same-chain swap router as a wallet that placed the attacker's orders, and Bridgers' Base contract as one of the attacker's. Both are contracts that thousands of other people use.
- A watch list pointing at emptied wallets. It told readers to watch two Tron wallets that had already passed their money on.
- The deposit-address count. It said 108 addresses and about $160,000. Those were only the addresses our tools had tied to the exchange one by one; 36,104 addresses were swept on Ethereum alone, $266,000 in all.
- The frozen total. It said Tether and Circle had frozen about $9.5 million. We had read only USDT and USDC. Read from every issuer, the total is $12.0 million, by six issuers.
We have changed how the post is built so that these errors cannot recur: every address is checked against what it is on chain before the text may call it a wallet, every number comes from a recorded query, and every wallet in the list above is read live when the post is built.