Twelve Days of Silence, Then Two Hours to Tron: Following the $2.84M Theft ZachXBT Links to North Korea's SquidSquad
BlockintAI · 2026-10-22T14:00:00.000Z
BlockintAI research. On-chain figures come from public BNB Chain, Ethereum and Tron data, re-checked on Wednesday, October 21, 2026, between about 7:08 AM and 7:25 AM Central Time (CT). Times are CT unless marked UTC.
At 7:02 AM Central Time on Thursday, October 8, 2026, a long-used wallet on BNB Chain sent 2,804,098 USDT to an address that had never been used before. Four minutes later it sent another 39,332 USDT to the same place.
By 7:13 AM, the new address had swapped all 2.84 million dollars of stablecoin into BNB. Within the hour, the BNB had crossed to Ethereum and become 1,111 ETH.
Then nothing happened for almost twelve days.
At 9:44 PM on Monday, October 19, the ETH moved again. By 2:09 AM the next morning it had been through Tornado Cash, swapped back into dollars, bridged to Tron, pooled in two addresses and passed on in million-dollar blocks. At the two Tron addresses where it pooled, no block of it sat still for more than about two minutes.
On-chain investigator ZachXBT published the addresses at 12:45 AM CT on October 21. He says an institutional entity is suspected to have lost about $2.84 million to SquidSquad, a hacking cluster he describes as linked to North Korea. That attribution is his. What follows is what the public chains show, hop by hop.
Key facts
| The theft | Oct 8, 2026, 7:02–7:06 AM CT, BNB Chain: 2,843,430.21 USDT (BNB Chain's Binance-Peg USDT) in two transfers from the victim's wallet to the new address 0x049B1eCcE5e2Fb254821BC9DC3ae98C5a6eb7E80 |
| Who says it was SquidSquad | ZachXBT, Telegram, Oct 21, 2026, 05:45 UTC (12:45 AM CT). He calls the victim "an institutional entity" and SquidSquad "DPRK-linked." The victim has not been named publicly |
| Off BNB Chain | 7:13 AM CT: all 2.84M USDT swapped for 3,718.2 BNB through CoW Protocol. 7:16–7:40 AM: bridged out, arriving on Ethereum through Across, Mayan (via LI.FI), NEAR Intents, Relay and one unlabeled contract. At 7:52 AM, the 1,111.26 ETH moved to a second wallet |
| The wait | 11 days and 14 hours, Oct 8, 7:52 AM to Oct 19, 9:44 PM CT |
| Tornado Cash | Oct 19, 9:45–10:04 PM CT: 15 deposits, 1,111.2 ETH (11 × 100, 1 × 10, 1 × 1, 2 × 0.1). Oct 20, 12:43–1:50 AM CT: 14 withdrawals (1,111.1 ETH gross) to the three addresses ZachXBT named |
| Back to dollars | Oct 20, 12:45–1:54 AM CT: about 1,107 ETH swapped for 2,638,089 USDT, then sent to Tron in seven transfers through USDT0, Tether's cross-chain version of USDT |
| On Tron | 2,637,298 USDT arrived at three receiving addresses, 12:52–1:58 AM CT, and was forwarded to the two consolidation addresses ZachXBT named. Those two moved 10 million USDT in 1M blocks to ten addresses between 12:54 and 2:09 AM CT. Our on-chain review identified about 2.64M of that 10M as coming from this theft |
| Freezes and sanctions | No address in this trail is on Tether's USDT blacklist on Tron or Ethereum, and none is on OFAC's sanctions list (Oct 21, 2026, about 7:15 AM CT). The two Tron consolidation addresses hold 0 USDT |
| BlockintAI report | SquidSquad theft addresses (C3 f5973dc4) |
Who is SquidSquad?
ZachXBT's post is short. It names the victim's address, the theft address, the three Tornado Cash withdrawal addresses and two Tron consolidation addresses, and it says both Tron addresses "have exposure to previously attributed DPRK addresses." He doesn't name the institution or say how its wallet was compromised. As crypto.news noted in its write-up, both remain undisclosed.
SquidSquad is a name used in public research on North Korean crypto theft. The public GitHub research notes on DPRK clusters kept by security researcher tayvano list "SquidSquad / DPRK-SQ" alongside names other trackers use for overlapping activity, including Sapphire Sleet, BlueNoroff and DangerousPassword. The notes list the cluster's tactics as impersonating venture capitalists, Telegram messages, fake video meetings, fake Google Drive links and macOS malware, and they name Tornado Cash among the laundering services it has used.
That is background, not evidence about this case. What the chain can show is the route the money took.
October 8: fifty minutes to leave BNB Chain
The victim's address, which ZachXBT published (0x579b…f153), is an ordinary single-key wallet with more than 800 transactions on BNB Chain. Both transfers out of it on October 8 were signed by that wallet itself:
- 7:02:50 AM: 2,804,098.01 USDT to
0x049B1eCcE5e2Fb254821BC9DC3ae98C5a6eb7E80, an address with no earlier activity. - 7:05:09 AM: 0.001 BNB, enough for the new address to pay its own transaction fees.
- 7:06:56 AM: 39,332.21 USDT more.
Whoever controlled the new address didn't wait. At 7:13 AM it sold the whole 2,843,430.21 USDT for 3,718.2 BNB in a single trade settled by CoW Protocol's settlement contract.
Then it started moving the BNB off the chain:
| Time (CT), Oct 8 | Route | BNB sent |
|---|---|---|
| 7:16–7:20 AM | Three swap-and-bridge transactions to the contract verified as Across Protocol's SpokePoolPeriphery | 2,700 |
| 7:18–7:26 AM | Three transactions through the LI.FI contract, calling its Mayan bridge route | 700 |
| 7:35 AM | One transfer to a separate address, forwarded to a contract within seconds | 318.2 |
The address also sent the 5,307 USDT it got back as leftovers from the LI.FI swaps on through another address at 7:38 AM, and made a tiny deposit to Relay's bridge contract at 7:40 AM.
On Ethereum, the same address started receiving ETH at 7:16 AM. By 7:40 AM it had collected 1,111.26 ETH: 807.2 ETH from the contract Etherscan tags "Across: Multicall Handler," 207.3 ETH from the one it tags "Mayan: Swift v2 Destination," 94.6 ETH from an unlabeled contract, and 2.08 ETH from the address Etherscan tags "NEAR Intents."
At 7:52 AM it sent everything, 1 ETH and then 1,110.26 ETH, to a second Ethereum wallet, 0xfc3Bbf34Cb8789CA029DB252E0DC1CcAd6BdecAB. From the first transfer out of the victim's wallet to the money sitting on a different chain in a different wallet: 50 minutes.
The thief became a target, too
Within minutes, the new addresses started receiving tiny transfers and fake tokens from look-alike addresses that copy the first and last characters of real ones. On Ethereum, addresses beginning 0xfc3b and ending ecab, built to look like the thief's second wallet, kept sending the theft address dust and fake "ETH" tokens. On BNB Chain, a fake USDT token arrived from an address made to look like the victim's.
That is address poisoning: bots watch for large transfers and seed the sender's history with look-alikes, hoping someone copies the wrong address next time. It hit the thief the same way it hits everyone else.
Nearly twelve days in one wallet
The 1,111.26 ETH then sat in 0xfc3B…ecAB for 11 days and 14 hours. Plenty of thieves wait this way. Holding still until attention fades is a habit of patient laundering.
It moved at 9:44 PM CT on Monday, October 19, in one transfer of 1,111.26 ETH to a fresh wallet, 0x721DeBf85A1Bcc61DCb455d100FF69a474db6865. One minute later, that wallet started depositing into Tornado Cash through the contract Etherscan tags "Tornado.Cash: Router":
- 11 deposits of 100 ETH, 9:45–10:03 PM
- 1 of 10 ETH, 1 of 1 ETH and 2 of 0.1 ETH, 10:03–10:04 PM
That is 1,111.2 ETH in 15 deposits, matching the 1,111.2 ETH ZachXBT reports, done in under 20 minutes.
Tornado Cash breaks the link between a deposit and a withdrawal. It only works if someone else's money is in the pool at the same time, which is why the waiting time between deposit and withdrawal usually matters. Here it was short.
October 20, 12:43 AM: out, swapped, bridged
Two hours and 38 minutes after the last deposit, withdrawals began. Between 12:43 AM and 1:50 AM CT on October 20, the three addresses ZachXBT named received 14 withdrawals: 11 from the 100 ETH pool, one each from the 10 ETH, 1 ETH and 0.1 ETH pools. That is 1,111.1 ETH before Tornado's relayer fees, which took about 0.35–0.36 ETH from each 100 ETH note.
| Withdrawal address | Withdrawals | ETH swapped for USDT | USDT bridged to Tron |
|---|---|---|---|
0xb8b25f535a6e51d0b18c48941d791c7e83559d2b |
3 × 100 ETH, 12:43–12:59 AM | 298.9 | 714,431.04 in 3 transfers |
0x8e4a232ac8a05d1f4cfe4458a96a581ceeb7e848 |
4 × 100, 1 × 10, 1 × 0.1, 1:10–1:37 AM | 408.6 | 972,523.52 in 3 transfers |
0x35c72e26f6888b4cba8668c6cfa4143599680bfe |
4 × 100, 1 × 1, 1:40–1:50 AM | 399.5 | 951,134.87 in 1 transfer |
Each address followed the same three steps, often within two or three minutes of a withdrawal: swap the ETH for USDT (mostly through the contract Etherscan tags "Uniswap: Universal Router v2.1.2," once through CoW Swap), approve the USDT, and send it to Tron through the contract that USDT0's own deployment list names as its Ethereum bridge contract.
In all, 2,638,089.43 USDT left Ethereum for Tron between 12:48 AM and 1:54 AM.
Waiting cost the thief money. On October 8 the stolen 2.84 million dollars bought 1,111.26 ETH. Twelve days, a falling ETH price and a stack of bridge and relayer fees later, the same ETH came back as about 2.64 million.
Tron: tested first, then a million at a time
USDT0's contract on Tron paid the money out to three receiving addresses. The amounts match the Ethereum side transfer for transfer, less a bridge fee of about 0.03%:
| Sent from Ethereum (CT) | Arrived on Tron (CT) | USDT arrived | Tron receiving address |
|---|---|---|---|
| 12:48 AM, 12:58 AM, 1:06 AM | 12:52 AM, 1:02 AM, 1:10 AM | 714,216.71 | TZ3H7Z4vFrpr6Rcnq1wRT3j8PDhJPHpzyS |
| 1:15 AM, 1:27 AM, 1:41 AM | 1:19 AM, 1:31 AM, 1:45 AM | 972,231.76 | THqY7jxjxU1SdHqhNHKHn5m5mm3gSnQTAP |
| 1:54 AM | 1:58 AM | 950,849.53 | TLgY7igNZhd3kLu44YPxHevhZKwTUFoja2 |
From those three, the money went on to the two Tron addresses ZachXBT names as consolidation points, TEvUsnwXvprdvB7eNGiqh6rDiMqFiC8TBU and TVxzjnx3GPDTciiuagXPaUbU5f5y13Voux.
The route had been tested before the money arrived. At 12:22 and 12:23 AM, another address sent each consolidation address 100 USDT. Between 12:25 and 12:29 AM, each consolidation address sent 10 USDT to five different addresses. Those ten addresses are where the money went next.
Then the real transfers began. Each consolidation address took in about 1 million USDT at a time and sent exactly 1,000,000 USDT to one of its five tested addresses, usually within one or two minutes:
TEvUsnwX…8TBUsent five 1M blocks between 12:54 and 2:09 AM.TVxzjnx3…Vouxsent five 1M blocks between 12:54 and 2:08 AM.
The last small change left them at 2:13 and 2:15 AM. Both still held 0 USDT when BlockintAI re-checked this morning.
More than this theft went through
Those two addresses moved 10 million USDT that night, nearly four times what was bridged from this theft. Our on-chain review identified about 2.64 million of it as coming from the three Tornado Cash withdrawal addresses, through the three receiving addresses above. The other roughly 7.36 million came in through two more Tron addresses: one fed mostly by separate USDT0 transfers that don't match this theft's withdrawals, and one fed by an ordinary Tron wallet.
ZachXBT writes that "all funds were bridged from Ethereum to Tron via USDT0 and consolidated" at the two addresses, and that is what the chain shows for this theft's money. The extra 7.36 million means the same consolidation points carried other money in the same two hours. Where it came from is a separate question.
Ahead of a freeze
Tether can freeze USDT at an address on Tron, and has done so in theft cases before. That only works while the money is still there. ZachXBT says the funds moved within minutes through intermediary addresses to Chinese OTC desks, "likely to evade any potential Tether freeze."
The timing fits that. No 1M block sat at a consolidation address for more than about two minutes. The ten next-hop addresses passed it on again in large chunks, within minutes to a few hours. As of this morning, none of the addresses in this trail is on Tether's blacklist on Tron or Ethereum.
What this case shows
- Fast conversion, slow exit. The thief turned stolen stablecoins into BNB in 11 minutes and ETH within the hour, then waited almost twelve days before laundering.
- Bridges are the getaway roads. Across, LI.FI, Mayan, NEAR Intents, Relay and USDT0 all carried part of this money. None of them did anything unusual; the thief just used them the way anyone would.
- Tornado Cash is still in the playbook. Treasury lifted its sanctions on Tornado Cash in March 2025. This is at least the third large Tornado run BlockintAI has followed in a week, after the Drift and Aztec Connect exploiters.
- Stablecoins come back at the end. After all that, the money still left as USDT on Tron, where it can be frozen. That last stretch is the one the launderers hurried most.
- If you hold funds for a company, protect the signer. The public research notes cited above list SquidSquad's lures as fake investors, fake meetings and malicious files. Keep signing keys on hardware wallets or multisig, separate from the machines used for email and calls, and be suspicious of any "investor" asking you to install software or open a shared file before a meeting.
- Report it. In the U.S., report hacks and fraud to the FBI at ic3.gov and to the FTC at reportfraud.ftc.gov. If you've been hacked or scammed, you can also file a report at blockint.ai with the addresses and transaction IDs. It's free, and anonymous reports are accepted.
#DPRK #TornadoCash #CryptoHack #USDT #Tron
Related BlockintAI reports
Sources
The attribution
- ZachXBT, Telegram channel "Investigations by ZachXBT," post of Oct 21, 2026, 05:45 UTC: https://t.me/investigations/368
- tayvano, "lazarus-bluenoroff-research," public GitHub notes on DPRK clusters, including SquidSquad: https://github.com/tayvano/lazarus-bluenoroff-research and https://github.com/tayvano/lazarus-bluenoroff-research/blob/main/lazarus-evolution.md
- crypto.news, "North Korea-linked SquidSquad suspected in $2.84M BNB Chain theft," Oct 21, 2026: https://crypto.news/north-korea-linked-squidsquad-suspected-in-2-84m-bnb-chain-theft/
BNB Chain, October 8, 2026 (BscScan)
- Theft address: https://bscscan.com/address/0x049b1ecce5e2fb254821bc9dc3ae98c5a6eb7e80
- 2,804,098 USDT transfer, 7:02 AM CT: https://bscscan.com/tx/0xb3b9df2ae8d4dfc345ab47ff85f7bdaa5cb2c5131c0a62ebf9a9e1dff12b4692
- 0.001 BNB fee top-up, 7:05 AM CT: https://bscscan.com/tx/0xcafda9b03bda405928a1ad44aab67d67ef2d7bdef229f072417672c9f608e985
- 39,332 USDT transfer, 7:06 AM CT: https://bscscan.com/tx/0xca88842997c0f185f23c2f4b48364c051705df1c75037461c8601121e1f488a8
- USDT-to-BNB swap through CoW Protocol, 7:13 AM CT: https://bscscan.com/tx/0x6dd2810d701e326df3d17167b828ce6a3eef5950f54a6a72156f436566a1a5c6
- First Across bridge transaction (1,500 BNB), 7:16 AM CT: https://bscscan.com/tx/0x57046c34d5a0d9191870bc23444c9eae373cf01cf907b2be916fac4fcbfb93ef
- First LI.FI / Mayan bridge transaction (600 BNB), 7:18 AM CT: https://bscscan.com/tx/0x730ffa5e4390b798498de97ae1d7bc347d30068cd84947a5360ba981fb1aca8b
- 318.2 BNB transfer, 7:35 AM CT: https://bscscan.com/tx/0x7808f5b794fbb1a5d47f80594141fe81f715ee7ba6e2013ff8af3f510c042fbf
Ethereum (Etherscan; name tags as shown on Oct 21, 2026)
- Theft address on Ethereum: https://etherscan.io/address/0x049b1ecce5e2fb254821bc9dc3ae98c5a6eb7e80
- First Across arrival (448.5 ETH), 7:16 AM CT Oct 8: https://etherscan.io/tx/0x7c8534fd5ff91380f45bda1960edbb6802082fef606fd8fde08083873142a86d
- 1,110.26 ETH to the holding wallet, 7:52 AM CT Oct 8: https://etherscan.io/tx/0x5bfff2de6479dd703c4ee955214ae4fbdca31af0b004a39ca61dfc270ac987e7
- Holding wallet: https://etherscan.io/address/0xfc3bbf34cb8789ca029db252e0dc1ccad6bdecab
- 1,111.26 ETH to the depositing wallet, 9:44 PM CT Oct 19: https://etherscan.io/tx/0x9a65b28bfdf62383fcb725d73a0431bc5d69a4f18611218b7387460d0d8840c0
- Depositing wallet: https://etherscan.io/address/0x721debf85a1bcc61dcb455d100ff69a474db6865
- First and last Tornado Cash deposits, Oct 19: https://etherscan.io/tx/0x8755dda44b9ef6ada9317f7bffad1a384672c172971314deeca4dca2f7ae115d and https://etherscan.io/tx/0xed7d4a1124e2f714ed4e5fb539a25132bb85013cac155d6edca55e8e60b2c8b5
- Tornado.Cash: Router: https://etherscan.io/address/0xd90e2f925da726b50c4ed8d0fb90ad053324f31b ; Tornado.Cash: 100 ETH pool: https://etherscan.io/address/0xa160cdab225685da1d56aa342ad8841c3b53f291
- Withdrawal addresses: https://etherscan.io/address/0xb8b25f535a6e51d0b18c48941d791c7e83559d2b ; https://etherscan.io/address/0x8e4a232ac8a05d1f4cfe4458a96a581ceeb7e848 ; https://etherscan.io/address/0x35c72e26f6888b4cba8668c6cfa4143599680bfe
- First withdrawal, 12:43 AM CT Oct 20: https://etherscan.io/tx/0x5d988d4529361345dcbb3e168dfa9bbbf0fa8a85d13b3378e9f8c35612a22c4f
- First and largest USDT0 transfers to Tron: https://etherscan.io/tx/0xe1483b9c35511b4b7c1076d4dfc2cb40cfbb78f678f43672ebd49b0026d94e4c and https://etherscan.io/tx/0x6571257d725986bbd46a7933f3cbadeee15e170ee8d56d6c888ec55fecae3f3a
- USDT0 bridge contract on Ethereum: https://etherscan.io/address/0x1f748c76de468e9d11bd340fa9d5cbadf315dfb0
USDT0
- USDT0 contract deployments (lists the Ethereum and Tron bridge contracts used here): https://docs.usdt0.to/technical-documentation/deployments
Tron (Tronscan)
- Consolidation addresses: https://tronscan.org/#/address/TEvUsnwXvprdvB7eNGiqh6rDiMqFiC8TBU and https://tronscan.org/#/address/TVxzjnx3GPDTciiuagXPaUbU5f5y13Voux
- Receiving addresses: https://tronscan.org/#/address/TZ3H7Z4vFrpr6Rcnq1wRT3j8PDhJPHpzyS ; https://tronscan.org/#/address/THqY7jxjxU1SdHqhNHKHn5m5mm3gSnQTAP ; https://tronscan.org/#/address/TLgY7igNZhd3kLu44YPxHevhZKwTUFoja2
- USDT0 contract on Tron: https://tronscan.org/#/contract/TFG4wBaDQ8sHWWP1ACeSGnoNR6RRzevLPt
- First USDT0 arrival, 12:52 AM CT Oct 20: https://tronscan.org/#/transaction/d3757732bac9992ffa53fad7c73e37bdfc9d5e3a7bc1679713648f8180dbd82b
Freezes and sanctions
- Tether USDT
isBlackListedandbalanceOf, read on the USDT contracts on Tron (TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t) and Ethereum (0xdAC17F958D2ee523a2206206994597C13D831ec7) through public nodes, Oct 21, 2026, about 7:12–7:20 AM CT - OFAC Specially Designated Nationals list (SDN and address files, downloaded Oct 21, 2026, about 7:14 AM CT): https://ofac.treasury.gov/sanctions-list-service
- U.S. Treasury, "Tornado Cash Delisting," Mar 21, 2025: https://home.treasury.gov/news/press-releases/sb0057