Community

Contribute by sharing insights and tips to strengthen the community.

All283
search
dooooo
dooooo

November 14, 2026

Community Investigation
TENDRIL: Separating pool depletion from proceeds

The November 4 TENDRIL incident on BNB Smart Chain illustrates why a pool’s gross outflow, its net depletion and the amount received by a subsequent address must be reported separately. The SentinelTX case report records a net decrease of 555,670.538752928908475139 USDT at the affected pair, while a recipient address received 308,959.36754317326 BSC-USD in the seed transaction. The approximately 4.42 million USDT transfer was a gross movement, not the net loss.The report places execution at November 4, 2026, 16:02:45 UTC, in block 131653427. Its observation date is November 11, 2026. November 5 was the date of subsequent reporting, not the execution timestamp. The investigation focuses on BNB Smart Chain; Ethereum coverage is limited to incoming funding.Three quantities, three different meaningsThe pair-level accounting contains four USDT transfers. They should not be added to the recipient’s receipt as though they represented separate losses.Pair to exploit contract: 4,421,023.357469283419586499 USDT.Pair to a second, unlabeled contract: 696,494.466818996084923011 USDT.Exploit contract back to pair: 4,097,517.640989353206085697 USDT.Second contract back to pair: 464,329.644545997389948674 USDT.Total pair outflow: 5,117,517.824288279504509510 USDT.Total pair inflow: 4,561,847.285535350596034371 USDT.Net pair decrease: 555,670.538752928908475139 USDT.Figure 1. Pair-level USDT accounting. Bars share a zero baseline. Display values are rounded; exact quantities are preserved above. Source: SentinelTX CASE-ASYNC020, page 3.The exploit contract’s receipt from, and return to, the pair differ by 323,505.716479930213500802 USDT. Separately, the report records 308,959.36754317326 BSC-USD transferred from the exploit contract to the recipient. It does not establish why these two quantities differ. A complete exploit-contract transfer list was unavailable within the report’s scope.The flash-loan principal and lender are not established. An empty result for the relevant exploit-contract USDT lookup is a coverage gap, not evidence that no flash loan occurred. This article therefore does not assign a principal amount or combine one with pool losses.Funding and preparation preceded executionThe recipient address appears throughout the report’s preparation and proceeds narrative. On Ethereum, it received seven transfers totaling 6.970873286826 ETH from an address labeled Tornado.Cash’s 1 ETH pool. Six Relay.link routes brought funds to BNB Smart Chain. The report says transaction-hash correlation and receipts were checked for those routes. Some arrival-token identities remain unspecified, so their displayed quantities are not combined into a cross-asset total.The database label includes a sanctions descriptor, but the report did not separately establish current sanctions status. A service label is also not identification of the person controlling an address.On BNB Smart Chain, the recipient deployed five contracts between October 27 and October 29. Repeated calls to one of those contracts on November 3 and November 4 were associated with BSC-USD transfers and TENDRIL receipts. The report interprets this as preparation consistent with accumulating TENDRIL while limiting net BSC-USD expenditure. It did not decode that contract’s logic, so the interpretation remains an analytical assessment.The report marks the aggregate TENDRIL quantities and several preparation transfers as unverified. In particular, its displayed pre-positioned TENDRIL amount and the eight-day acquisition total do not establish the source of the full token inventory. Those quantities are not used here to claim a complete inventory reconciliation.Execution: roles before attributionThe caller deployed two contracts at 15:41:13 and 15:45:48 UTC on November 4, then signed the seed transaction at 16:02:45 UTC. The later deployment is the exploit contract identified in the report. The recipient supplied TENDRIL before execution and subsequently received BSC-USD.Public-source excerpts cited within the report describe a sell-hook burn-and-sync mechanism and a 30% sell-tax logic flaw. The report assesses the observed transfers as consistent with a token-logic-driven AMM reserve-manipulation exploit. It did not independently decode the relevant bytecode or reconstruct all internal calls. The precise controller role and full execution mechanism therefore remain analytical rather than conclusively established.The caller, exploit contract, recipient and pair have distinct observable roles. Their funding and receipt relationships do not, by themselves, establish common ownership or control. The record also does not establish that the recipient’s four other deployed contracts were involved in additional attacks.November 6: a same-token settlementThe strongest documented post-incident segment is a CoW Protocol settlement at November 6, 2026, 13:20:18 UTC. Its decoded Trade event records BSC-USD as both the sell and buy token, with the recipient as order owner.Amount sent into settlement: 309,111.0 BSC-USD.Amount paid to the new receiving EOA: 309,110.998017384091697254 BSC-USD.Trade event feeAmount: 0.Difference between sell and buy quantities: 0.001982615908302746 BSC-USD.The settlement input exceeds the seed-transaction receipt by 151.63245682674 BSC-USD. The report attributes that difference to a possible pre-existing balance; it is an estimate, not a demonstrated allocation. The zero feeAmount field should not be rewritten as a claim that the sell and buy amounts were identical.Diagram 2. The documented same-token settlement and the separate, unverified onward lead. Solid arrows represent the report’s confirmed settlement transfers. The dashed arrow represents a transfer the report explicitly marks unverified. Source: SentinelTX CASE-ASYNC020, pages 7–9 and 13.Although the settlement contract carries an exchange label, this is not established as a custodial exchange deposit or a KYC identification point. Funds were paid to another EOA in the same block.The report subsequently records a call at 13:20:27 UTC to an address publicly labeled “HOT Bridge: Treasury,” alongside a displayed transfer of 309,110.9980173841 BSC-USD. It explicitly treats that transfer and the service attribution as an unverified lead. The destination chain and subsequent movement were not established. A shared treasury’s unrelated payouts must not be assigned to this incident merely because they use the same address.What the evidence supports nextThe report prioritizes preservation and examination of the possible bridge operator’s withdrawal records, CoW order-submission metadata and six Relay.link requests. It makes the bridge step conditional on establishing the operator’s address attribution. These are investigative recommendations, not claims that records have been obtained, assets frozen or funds recovered.It also calls for contract-level analysis to establish the lender, principal and execution sequence, and review of the recipient’s remaining deployed contracts. The report assesses recovery prospects as below medium; that is its qualitative judgment, not a recovery probability or promise.Figure 3. The source’s central conclusion and limits. Pair depletion and recipient receipt are different measures. Attribution and the destination beyond the onward lead remain unresolved. Source: SentinelTX CASE-ASYNC020, pages 12–13.The practical conclusion is specific: report the pair’s net depletion, distinguish the recipient’s receipt, and follow the recipient-centered evidence rather than treating a short-lived caller as the whole operation. The documented settlement establishes movement after the incident. It does not establish a final cash-out, an ultimate beneficiary or a completed cross-chain route.Source, scope and selected evidenceThis article is a faithful English adaptation of SentinelTX CASE-ASYNC020, generated November 11, 2026. It is not an independent on-chain audit. The source’s primary narrative is on pages 3–13, with methodology and controlled-transaction records on pages 22–28.The report reached three of five requested tracing stages. Several counterparties’ histories were not fully read, 35 labels were unresolved, and the chains beyond BNB Smart Chain and the limited Ethereum funding scope were not investigated. No absence of further movement is inferred from these limits.The appendix excludes four addresses from its connected graph, including the post-settlement EOA and the possible treasury, because they were not directionally connected to the case origin in that graph. It explicitly states that preserved transfers alone do not confirm that funds passed through the case origin. Accordingly, this article does not present the appendix graph as proof of a complete proceeds route.Seed transaction: transaction.CoW settlement: transaction.Caller: 0xB81e4aaFA347b27112B7f6F5DE6cf7cD516021ff.Exploit contract: 0xc8Cb6A2aA825a576e1470479046056fe414eE0f8.Recipient/order owner: 0xB87CF5AB84d0ab9545358cD30229627305331373.Pair: 0x5de082471f2A9f01a61E467A32837DeE830D99E0.Settlement recipient EOA: 0xf4eb746d4f99ba1c7ecef3ef0f209f9e189fb5c1.Possible treasury, attribution unverified: 0x233c5370ccfb3cd7409d9a3fb98ab94de94cb4cd.

TENDRIL: Separating pool depletion from proceeds
0 likes・17 reads
Philippark
Philippark

November 14, 2026

Community Investigation
Rujira Trade: tracing 108 ETH and two USDT paths

Rujira reported about $200,000 in losses from its BTC/USDC market on November 10. It attributed the incident to the strategy that controls how liquidity is distributed across prices. This report follows subsequent payments from the THORChain account identified by Arisk and tests how much of two later USDT transfers can be assigned to incident proceeds. Rujira disclosure · Arisk investigationTen THORChain payouts match Ethereum receiptsA cross-chain swap starts on one network and pays out on another. We matched the Ethereum payout hash from each of ten THORChain actions to the amount and recipient in the Ethereum execution history. Together the ten payouts credited 108.08227778 ETH. The two largest drew on secured BTC and secured USDC, which are representations of those assets on THORChain. The receipts measure gross payouts and leave the original capital and incident proceeds mixed.What reached each destination?Figure 1. The figure shows the original trace. The section below records the subsequent verification of the Tron connection. Amounts measure different stages and should be read separately.The 3.42 ETH Ethereum transaction prefunded an execution step. The next transaction consumed that prefunding under the same witness and emitted Across deposit 91d22ac5eb67f840fdac8415722683ee5e5e4e25423bf12336bd43b645036915 for destination chain 728126428 (Tron). The Tron fill emitted the same deposit ID, Ethereum origin chain ID 1, recipient, and 7,028.840637 USDT output. The subsequent transfer forwarded that amount to the address labeled Binance-Hot 12 by Tronscan. This verifies the complete order-to-payout connection.Ethereum prefunding · Ethereum settlement · Tron fill · Tron forwardImmediately before the first of the ten matched Ethereum payouts, the source wallet held 266.690249037047632519 ETH at block 26,387,392. Seven visible deposits back to the THORChain router totaled 3.23807419 ETH the next morning. The balances immediately before the Tron prefunding and BNB routing were 372.254428173068301033 ETH and 371.150774106760449981 ETH respectively. The opening balance could cover both route inputs and the intervening observed ETH debits. Its earlier provenance has not been classified. For the two exchange-linked transfers, the supported incident-derived range remains 0 to 12,676.840637 USDT, with no positive minimum established.On BNB Chain we reconstructed the receiving wallet's earlier balance from its later balance and the USDT transfer logs between them. It already held 17,957.955541724285212864 USDT immediately before the fill. With no intervening USDT transfer before the first send, that earlier balance could cover all 5,648 USDT. Between zero and 5,648 USDT of that send could therefore come from the observed fill. That range concerns bridge provenance. The Ethereum input itself came from a wallet holding over 371 ETH before the routing transaction, so the bridge match does not establish which part came from the incident. A separate 22,598.88 USDT transfer used another recipient and is excluded from the exchange-linked total. Ethereum source · BNB fill · First send · Forward · Separate sendWhat can be attributed to the incident?The two observed exchange-linked transfers total 12,676.840637 USDT. No positive incident-derived minimum is established. The conservative gross ceiling for these two transfers is the amount observed, subject to the BNB destination-label limit. To tighten it, we would need a source ledger that isolates incident proceeds from the pre-existing ETH and secured assets. Public transfers do not expose the exchange's internal account credits.Evidence checked November 14, 2026. Transaction times are UTC.Explorer linksReceiptReceiptTHORChain action historythor10twjklsmm4e8wnl0e7f2rhtz7urv66yrjjmggk0x911c3BF11dFc5497A53A7A04Ff7980532516f176TGPx1iYxmQx9rHNFqf5wn5DphRGRwpwZUv0x94065632f591d3209c78f9ea4619ee1083e1860c

Rujira Trade: tracing 108 ETH and two USDT paths
0 likes・14 reads
Philippark
Philippark

November 14, 2026

Community Investigation
Arcus after the deadline: tracing 1.52 million USDS into a savings vault

Arcus reported that 2,234,391 USDG left the platform in nine payouts. It said it covered the shortfall from its treasury. A separate offer asked for funds to be sent to a recovery Safe by 01:00 UTC on November 13. Treasury coverage and a return from incident-linked addresses are different events.BlockintAI traced the original payouts through Relay into 1,052.212689 ETH on Ethereum. Its November 11 snapshot identified three branches: ETH at the source, DAI in a second wallet and BTC in five outputs. Later receipts show that the first two branches changed. We followed 1.52 million USDS into a savings vault and verified that the resulting shares were still in the same wallet at the cutoff.Arcus incident report · BlockintAI original trace and on-chain offerWhere the USDS wentUSDS is a stablecoin. sUSDS is a share in a savings vault: the deposit puts USDS into the vault and mints shares to the specified recipient. The number of shares can differ from the amount of USDS deposited.Figure 1. Confirmed asset conversions on Ethereum. Amounts are rounded; arrows represent sequence, not scale.The confirmed deposits total 1,518,875.328929503130518396 USDS. The four receipts show 1,360,785.892469438902378408 sUSDS minted to the same wallet. A balance read at Ethereum block 26,409,795 matches that total, and the share contract emitted no outgoing Transfer from the wallet between the first conversion and that block. Its USDS balance at the check was zero. The DAI, USDS and sUSDS figures describe successive forms of the traced assets; they are not separate losses.Did the recovery Safe receive the funds?The on-chain offer names a Safe, a smart contract wallet, and a deadline of November 13 at 01:00 UTC. A transaction sent to a Safe can call the contract without depositing funds. The Ethereum offer transaction sent zero ETH to the Safe at the top level.Robinhood Chain internal ETH check. The latest internal transaction listed for the recovery Safe was before the deadline, at block 111,328,693. Its execution trace shows three outgoing transfers of 1 wei each. The Safe’s balance fell by exactly 3 wei across that block. No newer internal transfer appeared in the address index, and the Safe’s ETH balance was the same at 35 sampled blocks through November 14, 01:10:04 UTC. These checks did not verify a return. Robinhood Chain transaction.Addresses and cutoffThe Ethereum balance cutoff was November 14, 01:00:47 UTC. Robinhood Chain was checked through November 14, 01:00:51 UTC. The strongest positive finding is that the savings shares remained in the traced wallet. The checks did not verify an incident-related return to the named Safe, and do not establish whether there was a settlement elsewhere.Direct explorer linksExample receiptTransfer20 DAI100,000 DAIfirst large conversionsecond large conversionBitcoin addressBlock 26,404,606Block 26,404,619Block 26,404,643Block 26,404,662on-chain offer0xeFbf442599310E5CeE1A4EDd5c66334c5f30b3Dd0x9a30f6a596F3354Ecb90D6BD3A2A16750DcF13D00xa3931d71877c0e7a3148cb7eb4463524fec27fbd0x1d4324C84e36D8104BDF327474755E5Aa0cFeBc90x1d4324C84e36D8104BDF327474755E5Aa0cFeBc9

Arcus after the deadline: tracing 1.52 million USDS into a savings vault
0 likes・18 reads
Philippark
Philippark

November 14, 2026

Community Investigation
Initia’s second incident — following ten Ethereum payments

A single Ethereum transaction paid ten addresses 28.4001 ETH each, for 284.001 ETH in total. Six addresses forwarded their funds to a seventh address that had received its own payment. The other three went to separate addresses. This note follows the Ethereum leg and uses “split-derived ETH” for value received from that distribution. The cross-chain link to Initia is attributed to the published BlockintAI investigation. Distribution transaction · Initia statement · BlockintAI investigation.The hub’s own payment and six forwarded payments converged into 198.8002345104950685 ETH at the hub before further funding arrived. The hub started at zero before the split and its balance matched that total at block 26384984. It then received 207.420879250788913781 ETH from other transfers through block 26385310. Those transfers include a 0.120536500688913781 ETH payment from the original distribution funder and 207.30034275 ETH from a router labeled THORChain. The five outbound transactions total 406.220937038689951781 ETH. The ending balance was 0.0000389762392215 ETH, and transaction receipts account for 0.000137746354809 ETH in gas. On this ledger, 198.800057787901038–198.8002345104950685 ETH of the five sends combined came from the split. The range applies to the five sends together. The timing of the later credits narrows what the last transfer could have contained.The three independent branches continued to new observed addresses. The third joined another outbound branch from the hub at the same recipient.How much of the Tornado deposits came from the split?The wallet 0x5348…4818 started at zero before receiving 178.920233388689951781 ETH from the hub. A later withdrawal transaction credited it with 100 ETH, and it separately sent 0.1 ETH directly to a pool contract. The 34 router sends totaled 278.8 ETH. Receipts account for 0.003815052314608855 ETH in gas and the balance after the last router send was 0.016418336375342926 ETH. These entries reconcile to the wei. At least 178.8 ETH of the router sends came from the hub transfer. Hub payment · Separate 100 ETH credit · Direct pool send.The earlier hub ledger limits the split-derived share of the 178.920233388689951781 ETH payment to 0–0.020166084670776281 ETH. Before the last payment, the largest possible split-derived balance remaining at the hub was slightly above 0.02 ETH. The earlier sends could also have spent the entire split-derived balance. This range carries through as a conservative bound on the split-derived share of the 278.8 ETH router sends. The bound tracks the direct route through the hub. The 100 ETH withdrawal is a separate credit in this ledger. The deposit that funded that withdrawal remains unverified. The total incident-derived share across both routes therefore remains undetermined.Follow-up: the 100 ETH deposit candidate. The same wallet deposited 100 ETH into the same pool at block 26,395,578, then received 100 ETH at block 26,395,773. The deposit changed the pool’s Merkle root to the exact root used by the withdrawal proof. This confirms the deposit was included in the set of eligible deposits. The proof does not disclose which deposit it spent. The wallet ledger shows that the candidate deposit was funded by the earlier hub payment. The withdrawal’s actual funding deposit and its Initia attribution remain unverified. The direct-route estimate above is unchanged. Deposit transaction · Withdrawal transaction · Pool verification logic.Where the other three branches reachedWhat the downstream checks establishEach of the three later recipient accounts returned 100 further trace entries, the query limit. One route repeatedly paid the same address, starting with 200 ETH. The other two dispersed value across many addresses. These records establish onward movement. The endpoints and any attributable service credit remain unresolved.

Initia’s second incident — following ten Ethereum payments
0 likes・16 reads
Philippark
Philippark

November 12, 2026

Community Investigation
Across Protocol domain hijack: from aWETH to Bitcoin and Solana

On November 10, 2026, an Ethereum wallet lost 148.599522645 aWETH across four transactions during the Across Protocol domain hijack. Roughly four fifths went to one wallet and one fifth went to a second, which Bitquery identified as the drainer fee wallet. The collector later funded a wallet that sent the funds out on three routes. A downstream Bitcoin payment records the exact hash of its Ethereum input, giving investigators a way to verify one of those routes. A day later, the same address bridged 40,659.841619 USDT from X Layer to Ethereum. The bridge records identify who initiated that transfer. Four earlier liquidity withdrawals and two later swaps explain how the wallet assembled the amount bridged. A link to an Across reimbursement remains unverified.Verified route segments. Ethereum victim → collector and fee wallet in aWETH. Separately, the collector → splitting wallet in ETH → a THORChain-linked input → Bitcoin output. The splitter’s second verified cross-chain branch reached Solana via Chainflip. The third branch went through Arbitrum to two Hyperliquid accounts, where the USDC was used to buy XMR1.ScopeDetailIncident10 November 2026 UTCEvidence cutoff12 November 2026, 00:06 UTCIncident-wide estimateBitquery reported about $348,000 from nine wallets on Ethereum, Arbitrum, Base, BNB Chain and Optimism. Its observed outflows ran from 19:02 to 21:53 UTC. This report independently reconciles the Ethereum wallet below and checks selected downstream records.CompensationAcross pledged reimbursement. Payment to a verified incident victim from an authenticated Across source remains unverified.How the incident beganAcross attributed the takeover of its official website address to social engineering at its domain registrar. Control of the address allowed a phishing page to appear where users expected the bridge interface. The project later reported that it had restored access and committed to compensating affected users. Bitquery's investigation describes a wallet drainer, software that uses permissions obtained from a victim to move assets. The records examined here show wallet transfers and their destinations. The registrar account compromise is described in the project's account of the incident. Across restoration update, Bitquery incident investigation.What left the victim walletAave issues aWETH to represent a WETH deposit. WETH is an Ethereum token representing ETH. Transferring the receipt token moves the claim on the deposited asset. Redeeming it or converting the proceeds later moves value already accounted for in the original loss.Start at the top of Figure 1 and follow the two arrows to the addresses that received the aWETH. The wallet that submitted the first transaction is different from the victim address recorded in the token logs. The amounts below use the token logs to identify the source and recipients.Figure 1. Each solid arrow represents the aggregate of four verified transfers to one recipient. Amounts are rounded for the diagram. Arrow width and spacing are schematic. The table preserves the exact amounts.10 Nov UTCCollector aWETHFee wallet aWETHEvidence20:09:23115.23141856629925367228.807854641574813418First transfer pair20:12:113.4425131230170735310.860628280754268382Second pair20:12:230.1028432133575674110.025710803339391852Third pair20:12:230.1028432133575674110.025710803339391852Fourth pairTotal118.87961811603146202529.719904529007865504148.599522645039327529 aWETHBoth 20:12:23 transactions succeeded and had distinct hashes. The calculation excludes Aave accounting mints, unrelated tokens in the same receipts and later conversions. The repeated split supports the collector and fee roles assigned by Bitquery. The logs identify the receiving addresses.The two recipients converted and moved funds separatelyAfter the first split, Ethereum execution traces record 28.823367170220056748 ETH and 0.912049936711908441 ETH entering the fee wallet from the WETH contract. These transfers are conversion evidence. Their amounts include activity at the wallet level, so they cannot be counted as additional victim losses. The fee wallet also had ETH receipts before the incident. An incident-wide loss total cannot be derived from its balance. First WETH-to-ETH trace, second trace, pre-incident receipt.At 20:11:35 UTC, an execution trace records 115.185264363588230966 ETH entering the collector. At 20:17:59 UTC the collector sent 146.268685820 ETH to a splitting wallet. The collector had additional inflows, including a 20.733627715165981828 ETH trace at 20:06:47 UTC whose funding origin was not established. The downstream route therefore tracks value from the collector without assigning every unit to the Ethereum victim above. Collector conversion trace, splitter funding, unattributed ETH trace.UTCEthereum transferEvidence10 Nov, 20:36:59Splitter → wallet later observed sending ETH to two Hyperliquid-linked addresses, 48.809535430 ETHTransaction10 Nov, 20:37:23Splitter → wallet later observed sending 48.8 ETH to a reported Chainflip deposit, 48.809535430 ETHSplitter transfer, 48.8 ETH send10 Nov, 20:51:35Splitter → THORChain-linked Ethereum input, 47.000201860 ETHTransaction10 Nov, 20:54:11Collector → side wallet, 11.636137960 ETHTransaction11 Nov, 01:20:47Collector → second side wallet, 3.425730160 ETHTransaction11 Nov, 18:43:11Splitter → another Ethereum address, 1.436231320 ETHTransactionStart at either Ethereum input in Figure 2 and read down to the corresponding settlement. The Bitcoin payment and the Chainflip swap use different records to connect the two chains.Figure 2. Solid arrows show transaction-level matches. Each pair is a separate settlement. Blue marks the Ethereum input and the other colors distinguish the destination networks. The diagram omits intermediate protocol activity. The records below show how each match was made.The Bitcoin output identifies the Ethereum transaction in its own data. The Solana payout is tied back through a separate Chainflip record.The Bitcoin payment names its Ethereum inputA Bitcoin transaction can include a data-only output. Here that output contains the word OUT followed by the exact Ethereum transaction hash for the 47.000201860 ETH send. Bitquery attributes the swap to THORChain. Both Bitcoin sources show output 0 paid 1.30506375 BTC to the same address in block 975354 at 22:36:46 UTC on November 10. The output was unspent when queried. Ethereum input, Bitcoin transaction and data output, independent Bitcoin transaction view.Solana records show both onward paymentsChainflip records a successful 48.8 ETH deposit and names the matching Solana payout signature in swap 2053940. The destination received 1,197.033564583 SOL after the broadcast fee. The two subsequent pairs of transfers are independently visible on Solana. Chainflip swap 2053940.10 Nov UTCSolana movementEvidence21:14:061,197.033564583 SOL → initial Solana recipientReceipt23:50:22 and 23:58:18Initial recipient → intermediate wallet, 1,197.032754476 SOL across two transfersFirst send, second send23:50:44 and 23:58:38Intermediate wallet → final observed address, 1,197.032734399 SOL across two transfersFirst send, second sendBitquery labels the final address as a Rainbet wallet. The transfer is verifiable on Solana. Account ownership, a customer credit and any further withdrawal would require additional records. Bitquery service attribution.Hyperliquid records show USDC deposits and XMR1 tradesThe Ethereum funding wallet sent 25 ETH to the first address and 23.8 ETH to the second. Both addresses then used the LI.FI router with Layerswap. LI.FI's completed-route records link the Ethereum sends to the Arbitrum receipts. Each Arbitrum address then sent its exact USDC receipt amount to Hyperliquid's deposit contract. Hyperliquid's account records identify the same deposit hashes and the spot trades that followed.Ethereum inputArbitrum USDC receivedHyperliquid deposit25 ETH via LI.FI51,378.430969 USDCSame 51,378.430969 USDC23.8 ETH via LI.FI48,985.187209 USDCSame 48,985.187209 USDCThe accounts bought 91.96 and 87.59 XMR1, respectively, before spot fees. XMR1 is a Hyperliquid token associated with Monero exposure. The verified route ends at the spot fills, with any redemption or withdrawal on Monero still unverified. Hyperliquid public API.Three additional bridge settlementsAll three transfers settled to the same collector address on their destination networks. The Ethereum and Arbitrum addresses have the same hexadecimal value. Each row links the transaction that started the transfer to the one that delivered the ETH.Route and source transactionETH received and destination transactionRecipientdeBridge · Ethereum → Arbitrum · Source0.009992001600000002 ETH · 10 Nov, 19:06:00 UTC · Arbitrum payout0x2846e69d3298e99eddf2fd8116e952844da11fdedeBridge · Arbitrum → Ethereum · Source2.997600480000000002 ETH · 10 Nov, 19:07:59 UTC · Ethereum payout0x2846e69d3298e99eddf2fd8116e952844da11fdeRelay · Arbitrum → Ethereum · Source0.205660219009733071 ETH · 10 Nov, 19:52:35 UTC · Ethereum payout0x2846e69d3298e99eddf2fd8116e952844da11fdeThe deBridge order IDs match the source and destination event logs. Both destination contracts forwarded ETH to the collector in internal calls. The Relay request matches both hashes and the same request data, and the Ethereum transaction paid the collector directly. These receipts establish movement of existing funds across chains.Where the swap’s WETH came fromThe 3.197251591561056299 ETH credit came from converting 3.199811440713627200 WETH taken from a separate Arbitrum victim wallet that Bitquery identified in the Across domain hijack. The collector held zero WETH at the end of the block before the victim transfer, held exactly the amount received through the block before the conversion, and returned to zero after the conversion. The ETH amount is the gross credit before gas. Incident research · Conversion receipt.Event (UTC, 10 Nov)Confirmed movementReceipt17:04:47 · Ethereum fundingThe victim wallet 0xbc7a2346a146188bf0049b3ffe4f1fc6f9a9d276 sent 5 ETH to a contract that holds funds for a later step.5 ETH funding transaction17:04:59 · Ethereum depositThe funding contract released the same 5 ETH using the same funding identifier. An execution contract wrapped the ETH and sent all 5 WETH to the Across SpokePool.Ethereum deposit17:05:02 · Earlier bridge payout0x7fb0be7fcce8cb60a20f050771b53134148dac10 paid 4.999764300892033999 WETH to the victim. The token transfer identifies the wallet that actually received the payout.Payout19:02:57 · Victim funds split0xbc7a2346a146188bf0049b3ffe4f1fc6f9a9d276 sent 3.199811440713627200 WETH to the collector and 0.799952860178406799 WETH to the fee recipient. Together these transfers account for the victim’s entire pre-transfer balance of 3.999764300892033999 WETH.Victim transferThe victim had 30.919486837431786978 ETH just before the funding transfer. Its indexed Ethereum history includes two large credits from 0x1d43041cbc400ce74e54a3abf4ea93dc5fb19cf9 on July 20, 2023, totaling 112.5 ETH. Those credits establish an earlier funding source. Once ETH enters a wallet balance, the chain records what the wallet spends without assigning that spend to a particular earlier credit. 112 ETH · 0.5 ETH.The Ethereum deposit and Arbitrum fill share the same Across deposit ID. Their chain IDs, depositor, token addresses and amounts agree. The Across status API returns both transaction hashes for that ID. The bridge funded the victim before the incident. The later ETH conversion traces the collector’s share of the loss, which is already counted in WETH. Across status record.How much of the first Arbitrum receipt was spent?The collector's ETH balance was zero immediately before the first payout. Before the next inflow, two approval transactions consumed 0.000003556878 ETH from that first receipt. The WETH conversion above credited 3.197251591561056299 ETH and pooled it with the remaining ETH. Arbitrum wallet history, swap and internal transfer.Arbitrum checkpointBlockETH balanceBefore first payout5230664300After first payout5230664310.009992001600000002After the two approvals5230665720.009988444722000002After the swap and its gas charge5230667253.207234052203056301Before deBridge send5230668613.207231896571936301After deBridge send5230668620.206076008898686789Before Relay send5230761860.206066984696066789After Relay send5230761870.000285059834944066The twelve transaction receipts account for 0.000027314746100000 ETH in gas, including two reverted transactions. The successful deBridge and Relay sends carried 3.001150300868641512 ETH and 0.205780917711370723 ETH on Arbitrum. Those are the native values attached on the source chain. The payout table above shows what arrived on Ethereum.Even if the first receipt covered every gas charge and the entire ending balance, at least 0.009679627018955936 ETH from it had to enter the two bridge sends combined. The upper bound is 0.009988444722000002 ETH, the amount left from the first receipt after the two approvals. The later swap supplied enough ETH for either bridge send individually, so the ledger cannot tell which send used the first receipt or how much each used. The bounds use the collector's native ETH balance and exclude separate token movements.Did the victim receive compensation?Across committed to making affected users whole. A payment can be counted when a successful transaction credits an identified victim and the payer or payment batch is independently attributable to Across. The official updates reviewed by the cutoff supplied no payer or batch identifier. A fresh check of the main victim’s indexed Ethereum transactions, internal transfers and token transfers did not show a newer payout candidate. This check covers one victim address and the public records available for it. Across announcement.Record examinedWhat the record showsCompensation status11 Nov, 17:49:35 UTC, 40,659.841619 USDTThe USDT0 adapter released genuine Ethereum USDT. LayerZero maps the release to a successful X Layer transaction initiated by the same victim address at 15:18:39 UTC.Classified as the destination leg of a self-initiated bridge transfer. Upstream funding is unverified. Bridge message, receipt11 Nov, 17:50:23 UTC, same amount shown by a token indexNo matching transfer from the genuine USDT contract in the checked receiptExcluded from payment counts. Receipt11 Nov, 17:50:23 UTC, zero-value USDT entryGenuine contract log shows a value of zeroNo value transferred. Receipt11 Nov, 17:54–17:55 UTCVictim exchanged USDT for USDC and used USDC in an Aave repaymentThese transactions establish the victim's subsequent use of funds. The funding purpose remains open. Swap, Aave repaymentThe X Layer receipts explain how the wallet assembled the transfer. Before the two swaps it held 12,705.278479 USDT0. At 15:17:23 UTC the wallet swapped USDC for 16,061.785784 USDT0. At 15:17:54 UTC it swapped USDG for 11,892.777356 USDT0. The three amounts add up to 40,659.841619 USDT0, which the wallet then bridged to Ethereum. A historical balance check traced most of that funding to four Uniswap v4 liquidity removals initiated by the victim address on November 10. A liquidity position holds tokens in a trading pool. Removing liquidity returns tokens to the position holder. In each receipt the PoolManager records a negative liquidity change and sends assets to the victim address. Uniswap X Layer deployments. USDC swap, USDG swap.10 Nov UTCAmounts returned to the victim on X LayerEvidence20:24:585,186.401209 USDT0 and 10,443.039964 USDCPosition withdrawal20:25:223,091.935957 USDT0 and 10,940.097312 USDGPosition withdrawal20:26:373,903.503505 USDT0 and 5,447.652268 USDCPosition withdrawal20:27:39285.654001 USDT0 and 707.894753 USDGPosition withdrawalThe withdrawals account for 12,467.494672 USDT0, 15,890.692232 USDC and 11,647.992065 USDG before the swaps. The wallet already held smaller balances in all three tokens. The records establish the immediate sources of the bridged funds. An authenticated Across payer or batch hash would be needed to identify separate reimbursements. A subsequent Hyperliquid withdrawal would need its own receipt and, for a claim about native XMR, a matching Monero-side record.Evidence appendixRoleAddressEthereum victim0x42e7ab48d5ae0ed6941a89492d1c5dfb06b8483cCollector0x2846e69d3298e99eddf2fd8116e952844da11fdeFee recipient0x0c7c656126aa62625fdd8051eb69dc14aee8d37bETH splitter0x38d7e8b3c9561caf096c06c62c7561f8ab6e514caWETH token contract0x4d5f47fa6a74757f35c14fd3a6ef8e3c9bc514e8Bitcoin destination3EQ9Rqrtvco4nKmskv2jQRXvWKkpUGfAQsInitial SOL recipientG47n6dbUor1WFweLvKPrUi5beW4yjRoFG3cJZU6a4uSaSOL intermediate wallet2K7fueB3tqYBb5Z2Ubnnpf2rF3sJr1fJDKXtsocTAWmkFinal observed SOL address5HQZd9ovzAF1TLnHRAq1zcSnXC9HAp3EwhoxMHvo8rxBHyperliquid account 10x09360fe2e18fdfa49beb7592b9f24f94c5465533Hyperliquid account 20xf229f808fe21911f8bcc24ebb30a85bd2e4c00f0Chainflip funding wallet0x0f67a21780699bb5c5e6b5f986c0bab26bfffe5cHyperliquid branch funding wallet0xf10a482fbc02195f2dafca5d9dfd19c871b0f4a5First Ethereum side wallet0xa490cde73adcd40475025ee8710f3a5ab7393194Second Ethereum side wallet0xbca05d20dbb271fd607e69fdc8d955be3bfc8120Ethereum USDT0 adapter0x6c96de32cea08842dcc4058c14d3aaad7fa41deeReproduction. Ethereum: inspect successful receipts for the exact aWETH contract and standard Transfer event, then sum base units by recipient. For native ETH moved inside a contract call, inspect execution traces. Bitcoin: compare the source hash embedded in the data output with the Ethereum input and read output 0 separately. Solana: inspect parsed system transfer instructions. Hyperliquid: query userNonFundingLedgerUpdates and userFillsByTime for the two accounts and match the deposits with the subsequent spot fills. The dollar figure is Bitquery's historical estimate. Values from successive stages describe movements of funds and should never be summed as new victim losses.Historical Ethereum funding before the 2023 transfersThe sender drew the 112.5 ETH from a balance built by three verified Ethereum deposits in 2018. The deposits total 619.43 ETH. After intervening debits and gas, the wallet held 160.707447098637435546 ETH immediately before the first July 2023 transfer.Date (UTC)ETH and senderReceipt4 June 20180.25 ETH from 0xa70091dd81bd0c6d54326a973dc0d7b3f47c6dfdTransaction10 July 2018239.2 ETH from 0x41f0830e8fbdbe52f9bd44c7e150c7c890dcf21cTransaction10 July 2018379.98 ETH from 0x61a55d893b09b2545d9a631db99e94c0db5f4d01TransactionOn May 25, 2018, the wallet that later sent 379.98 ETH received 480 ETH from 0xa70091dd81bd0c6d54326a973dc0d7b3f47c6dfd. The 2023 transfer drew on a combined balance, so its allocation across individual 2018 deposits remains undetermined. 480 ETH transaction.

Across Protocol domain hijack: from aWETH to Bitcoin and Solana
0 likes・46 reads
dooooo
dooooo

November 11, 2026

Community Investigation
Ankr bridge incident: five releases and the limits of the onward trace

On November 9, 2026, five successful calls to Ankr’s Ethereum bridge released five token positions to one recipient within a window of two minutes and 24 seconds. The subsequent record describes conversion through MetaMask Swaps, an ETH transfer to a consolidation address, and deposits to an address labeled Tornado.Cash Router.The sequence is more specific than a headline loss estimate. It identifies the bridge, the signer, the beneficiary and the onward route. It does not establish the precise authorization failure, identify the people controlling the addresses, or link mixer withdrawals to an eventual recipient. Several quantities in the onward narrative remain unverified and should not be treated as confirmed loss or recovery figures.This analysis covers the November Ethereum incident, not the separate August ankrFLOW/Flow case. All times below are UTC. The underlying report is dated November 11, 2026, with data retrieved at approximately 01:42–01:44 UTC.Five releases in a narrow windowThe report identifies the relayer as the signer of five zero-native-value calls to the bridge between 08:09:35 and 08:11:59. Zero native value describes the calls’ ETH value; it does not mean no token value left the bridge. Each call released one token position to the same recipient.The release register records:08:09:35, block 26376043: 82.911105628282457579 ankrETH. The source decodes log 867 as a Transfer from the bridge to the recipient, with a raw value of 82911105628282457579 wei.08:09:47, block 26376044: 7,982,766.478492331 ANKR.08:09:59, block 26376045: 515,206.25574139773 aMATICc.08:11:23, block 26376052: 5,372.248765839372 aMATICb.08:11:59, block 26376055: 0.819623228838796 fETH.The final four quantities are transfer-screen values at display precision. Their signer, called contract, blocks and times are taken from the relayer’s transaction list. These asset amounts stay in their own units: adding ANKR, ankrETH and the other tokens would not produce a meaningful aggregate.Figure 1. Five bridge releases, November 9, 2026. The timeline shows recorded UTC timestamps rather than a valuation comparison. Source: PDF pp. 4–5.Conversion did not move every assetThe source describes swaps beginning at 09:12:11, after the last bridge release. It records all the received ANKR and most of the received ankrETH being routed through MetaMask Swaps. The stated ankrETH swap total is 77.911105628282457579 across 26 transfers, but that amount is explicitly unverified in the source. Individual ANKR swap quantities are also qualified as unverified transfer-screen readings.The distinction matters: this supports a described conversion route, not an independently established exchange cash-out. The swap router is not a custodial exchange deposit address. The report also records an mUSD round trip rather than a net movement; counting both sides as fresh proceeds would overstate value.The aMATICc, aMATICb and fETH positions are described as unmoved after receipt. A later balance read also lists remaining ankrETH and POL. The relevant balances are qualified in the source, and the read returned no block height. They should not be presented as guaranteed recoverable assets or as live balances after the report’s retrieval time.The consolidation address introduces an attribution boundaryAt 11:36:59, the report records a native ETH transfer from the recipient to a consolidation address. The narrative quantity is 104.715783419546018142 ETH, explicitly unverified against the retained amount evidence. The same address received value from two other senders before depositing to the mixer-labeled endpoint.Between 11:39:59 and 11:44:35, the report lists 12 deposits with denominations of 100, 10, 1 and 0.1 ETH. Its stated aggregate is 113.7 ETH, also unverified. That total is the hub’s described deposit volume, not an amount attributable solely to this incident. It includes value from other senders. The recipient-to-hub amount, the hub’s deposits and earlier token releases must not be added as separate losses.Figure 2. Route described in the source: bridge → recipient → consolidation hub → mixer-labeled endpoint. Equal-width arrows show sequence, not proportional value. The dashed boundary marks where onward tracing is not established. Source: PDF pp. 3–7, 9–10, 14–15.No exchange-deposit leg is observed within the report’s scope through November 11. That is a scope-limited finding, not proof that a later exchange deposit cannot occur. Movement onward from the mixer is not established, and possible exit addresses cannot be treated as deterministic matches.Noise is not another loss or another operatorThe recipient’s transfer screen contains repeated “ETH” events and look-alike counterparties. The report distinguishes those events from the native ledger, which records one native outbound debit from the recipient in the relevant sequence. It classifies additional rows, forged token symbols and small look-alike transfers as suspected address poisoning or spam rather than additional economic outflows.This prevents two errors: multiplying the incident amount by repeated screen rows, and treating shared poisoning senders as evidence of common ownership. The report retains these records but does not use them to establish control of the incident addresses. Funding relationships alone likewise do not identify an individual or prove common control.What the evidence leaves openThe bridge’s withdrawal authorization mechanism remains undetermined. The available evidence does not establish how the relevant function and additional event authorized the releases. Proposed explanations remain unconfirmed; no specific root cause is established in this analysis.The identities and attribution status of the relayer and recipient remain unverified. The mixer designation is a source label, not an independently verified identity or sanctions determination. No conclusion about address ownership or sanctions status follows from that label alone.Response priorities supported by the traceThe source identifies three practical investigative directions. First, preserve swap-order metadata for the recipient’s MetaMask Swaps activity. That could provide an off-chain lead, subject to the provider’s records and the appropriate process. Second, obtain first-party decoding from the bridge operator to establish how the releases were authorized. Third, examine the sources funding the operating addresses and consolidation hub.The report also recommends assessing whether issuer controls could apply to unmoved token positions. It does not establish that such controls exist or guarantee recovery. These are investigative recommendations, not actions already taken by ChainBounty.Figure 3. Conclusion: a recorded release sequence and described onward route, with mechanism, identity and mixer exits unresolved. Source: PDF pp. 14–15.The useful outcome is a bounded case map: five bridge releases, subsequent asset conversion, a consolidation route and a mixer boundary. The next evidentiary step is to clarify authorization and funding origin without turning uncertain amounts, poisoning artifacts or address proximity into stronger claims than the record supports.Address and transaction keyBridge: 0xC437DF90B37C1dB6657339E31BfE54627f0e7181Relayer: 0x9A88Dd45AE846A979705c9cFdfD0f229e592D703Recipient: 0x119D250b82C1cf5345dF5912EFb4B1a4107a1Aa6Consolidation hub: 0x92b2a947551d780f94dda2ef7ec566accdbd796dFirst bridge release: transaction. Recipient-to-hub leg: transaction. These links identify the transaction records cited in the underlying report; the evidence qualifications above continue to apply.Source and limitations noteSource: investigation report dated November 11, 2026, 30 pages. The report covers 108 traced movements across 20 addresses and $665,062.85 in movements that could be priced. This is aggregate priced movement volume, not incident loss. The reviewed query spans October 10–November 11; the incident narrative focuses on November 9–11.Several quantities remain unverified. Thirteen transaction hashes listed in the report’s Fund-Flow Summary are not supported by the retained transaction evidence. This limitation does not establish that those transactions do not exist, but they cannot be treated as verified anchors on that basis. The described route does not, by itself, verify each amount.This article presents the underlying report’s findings and qualifications. It does not establish a complete loss or recovery total, the authorization failure, address ownership, sanctions status or the destination of mixer withdrawals.

Ankr bridge incident: five releases and the limits of the onward trace
0 likes・16 reads
Philippark
Philippark

November 09, 2026

Community Investigation
Keplr and Web3Auth recovery on Cosmos Hub and Osmosis

After a security incident affecting some Keplr wallets created through Google or Apple sign-in, Web3Auth moved funds to recovery addresses it later published. We traced representative transfers into two of those addresses and looked for payments back to users. We also followed a separate route from a publicly reported wallet through Osmosis and Axelar to two Ethereum payouts.Incident records begin on 6 November. The recovery-account balances below were read at approximately 06:49 UTC on 9 November. All transaction times use UTC.What the records distinguishCategoryEvidence from this reviewActual theftKeplr reported unauthorized transactions. We verified a separate route associated with a public loss report. Its relationship to this incident and the sender’s consent remain unverified, so the route is excluded from any confirmed theft total.Funds securedWe verified transfers into the two addresses named by Web3Auth and Keplr. Their native bank balances were 549,460.375955 ATOM and 2,553,515.123670 OSMO. Other token balances and Cosmos Hub staking-share tokens are separate.Funds returnedNo user payout was verified from the two disclosed addresses in the records checked. The amount returned through any other channel remains unknown.Keplr identified unauthorized activity affecting some accounts created through social login. Web3Auth paused the embedded wallet service that supports sign-in for third-party apps. The companies later published matching recovery addresses. On-chain transfers show where funds moved, while the companies’ notices identify the purpose of the recovery destinations. Keplr’s initial notice · Web3Auth service notice · Web3Auth recovery list · Keplr’s matching list.A reported wallet moved funds before the recovery samplesA public loss report named a Cosmos Hub address and an Osmosis address. We found the same signing public key in transactions on both chains. On 6 November at 14:12:35, the Cosmos Hub address sent 3,755 ATOM over IBC, the protocol the two chains use to pass transfer messages. Osmosis recorded the matching packet 12 seconds later, crediting a representation of the ATOM to the other named address. This was the same transfer recorded on two chains. Public report and original research lead · Cosmos Hub send · Osmosis receipt.The Osmosis wallet swapped several assets before sending two batches of bridged wrapped ether (WETH). Wrapped ether is a token that represents ether. Axelar routes a representation of it between chains. The 3,755 ATOM was one input to that wallet, which also received other assets. Axelar recorded both IBC packets, deducted fees and submitted matching contract calls to Ethereum. The Ethereum receipts confirm both executions. Internal calls in the two Ethereum transactions show the wrapped tokens converting to native ETH and reaching the same address. Axelar deducted a combined 0.000357328849747426 WETH in fees from the 6.1 WETH sent.Read Figure 1 from top to bottom. The arrows follow the matched records from Cosmos Hub to the Osmosis wallet and then the two onward packets.Figure 1. Selected on-chain route from the public loss report. Solid arrows represent observed transfers or matched bridge steps. The diagram is schematic and omits the other assets that entered the Osmosis wallet. The links below identify the source and destination records.The two payouts reached 0x531f1d541fec4a6a6439e7651620f66f8d854c1d. The recipient made an onward transfer of 0.39247296 ETH between the two payouts. It also received funds in other transactions. The records establish the two payouts and the separate onward movement. The exact source of the onward payment and the recipient’s role remain open. Onward transaction.6 Nov UTCMatched bridge records14:26:34 → 14:28:235.4 bridged WETH sent. 5.399862946303386963 ETH received. Osmosis send · Axelar packet 1731438 · Ethereum payout.14:41:02 → 14:41:590.7 bridged WETH sent. 0.699779724846865611 ETH received. Osmosis send · Axelar packet 1731444 · Ethereum payout.What reached the published recovery addressesAn early Osmosis sweep moved liquid assetsOn 6 November at 23:10:56, a wallet sent nine token denominations to the address later named by Web3Auth, including 1.313132 OSMO. Bitquery initially attributed the larger sweep to an attacker and revised its classification after the recovery disclosures. Its dollar estimate covers a wider set of chains and assets than the native balances in this report. Nine-denomination transfer · Bitquery’s 8 November correction.Cosmos Hub moved claims on staked ATOMIn a bundle confirmed on 7 November at 09:57:04, one delegator changed where its staking rewards would go. It then turned 3,012.591649 staked ATOM into a transferable claim and sent the resulting share token to the recovery wallet. The record identifies the exact share-token denomination and shows it arriving there. A share token represents an existing stake. Moving it transfers the claim without first waiting to unstake, and the share token remains separate from liquid ATOM. Across the bundle, 13 tokenization messages specified 16,062.223948 ATOM of stake. Cosmos Hub recovery bundle.Osmosis was still receiving staking rewards on 9 NovemberAt 06:33:58, an Osmosis bundle changed reward withdrawal addresses and triggered three payouts into the disclosed recovery account. The recorded amounts add up to 3.219209 OSMO. The network’s distribution module sent them to the recovery account. Those credits increased the recovery balance, and a separate transfer would be needed to return that value to users. Osmosis reward bundle.Checking for payments back to usersChainRecovery account snapshotCosmos Hub549,460.375955 ATOM native balance at block 33,794,930. Account sequence 0. The indexed sender searches returned zero matches.Osmosis2,553,515.123670 OSMO native balance at block 74,576,112. Account sequence 0. The indexed sender searches returned zero matches.Account sequence counts how many times a standard account has used its transaction counter. Both recovery accounts were at zero. Searches for the accounts as message senders, transfer senders, coin spenders and IBC senders returned no matches. This is a scoped check of two addresses and the available indexes. It cannot establish whether another account or an off-chain process made a payment to a user. A verified return would require a payout record tied to the original affected wallet or an authenticated replacement destination.The return status for the two checked recovery addresses is therefore no user payout verified. The strongest finding on the separate reported-loss route is a completed delivery of 6.099642671150252574 ETH to one recipient. Confirming it as theft attributable to this incident would require additional evidence linking that route to a compromised account and establishing that the transfers were unauthorized.Evidence appendixCosmos Hub published recovery addresscosmos1atuap9kfnt6y8ykvn3437e7j3z8qffh3qtnmwuOsmosis published recovery addressosmo1atuap9kfnt6y8ykvn3437e7j3z8qffh3gsqtcwCosmos Hub wallet named in the public reportcosmos1ltf9lqcdyfqwm5xpnjyz9y0vh574w23jv8yhqmOsmosis wallet named in the public reportosmo1ltf9lqcdyfqwm5xpnjyz9y0vh574w23jyuh8kfThe selected transaction records below preserve the full identifiers for independent verification.Cosmos Hub · Reported-wallet IBC send2026-11-06T14:12:35Z · Block 33754215 · 3755 ATOMA296459EA166BF6E6A8262945C2481CF735F061897A74C76255ABDAF099D5A27Osmosis · Matched IBC receipt2026-11-06T14:12:47Z · Block 74296875 · 3755 ATOM in IBC representation571D058FCB313EB453E2913A0CFF940D530A608DB98DC6F83BDECFABE38C5162Osmosis · Reported wallet bridged WETH send2026-11-06T14:26:34Z · Block 74297865 · 5400000000000000000 base unitsC574EFB8370BC41BD25D3DE879EBFE113820E1BF62F15DE44ADEA8DD9CC00291Axelar · Matched packet and Ethereum call2026-11-06T14:26:35Z · Block 37354683 · 5399862946303386963 base units after fee1C6E0D259923CA578FB6DBB6BAFA821DF2FE27167EE7DAF966D960B1DA2609DBEthereum · Final native payout2026-11-06T14:28:23+00:00 · Block 26356407 · 5399862946303386963 wei0x5435c0c2cbcf20f1d4e786d2f0e153e206093459bc2b0a11d509b366535bdef6Ethereum · Separate onward movement2026-11-06T14:30:23+00:00 · Block 26356417 · 392472960000000000 wei0x7ce42ab772c8bf6952d7f719b9e0e3d244317375c18a78e8c013273057d484d2Osmosis · Reported wallet bridged WETH send2026-11-06T14:41:02Z · Block 74298910 · 700000000000000000 base units4959DF31DF3FCAB57CDD9EAE6BA652C3395E509D82BF46AC95046FC62062FF55Axelar · Matched packet and Ethereum call2026-11-06T14:41:03Z · Block 37355165 · 699779724846865611 base units after feeA71C80E464481F06A5696AB715B80F5560D22D88F8392B8D6BD064C9BAD913E8Ethereum · Final native payout2026-11-06T14:41:59+00:00 · Block 26356475 · 699779724846865611 wei0xf1fcfe3291cceef96a326dd4a1257846ad711423253529e2c23cd44ad52821e2Osmosis · Nine-denomination recovery send2026-11-06T23:10:56Z · Block 74335672 · 1.313132 OSMO and eight other denominationsD1F9C2224490B6C705B6065F784993C8D4CDC732F4B8A1EF939EA719873505F9Cosmos Hub · Recovery stake-tokenization bundle2026-11-07T09:57:04Z · Block 33766653 · 16062.223948 ATOM specified in 13 tokenization messages811DDF1FAE1551EA6F26317D3B7EAFF45912C780661BFE9F322C815CC8228DBAOsmosis · Recovery reward credit2026-11-09T06:33:58Z · Block 74574971 · 3.219209 OSMOE434BBD8C9BD680B964FCF3E6E939B5B2424918D4D4F097DBA8EF73999DAFD35State and transactions were checked against public Cosmos REST responses, Axelar packet events and message records, Ethereum JSON-RPC receipts and Blockscout internal-call records. Native balances use six decimal places. The two bridged WETH amounts and ETH payouts use 18. The bank balances are point-in-time holdings and exclude the value of staking claims, other denominations and other chains.

Keplr and Web3Auth recovery on Cosmos Hub and Osmosis
0 likes・19 reads
dooooo
dooooo

November 09, 2026

Community Investigation
King’s Solana wallet drain: the confirmed transfer and the bridge trail

On November 2, 2026, the Solana arbitrage bot known as King was reportedly drained through transfers signed with its own key. The SentinelTX investigation anchors one victim-to-drain transfer of 359.09K USDC, followed by swaps through Jupiter-labelled accounts. It also documents four similar-sized USDC transfers from a reported forwarding address.The reported total loss of approximately $856K has a broader evidentiary basis than that single confirmed leg. The remaining drain transfers, the Relay and Mayan bridge exits, and reported blocked funds are attributed to external reporting. They should not be presented as independently established by the Solana trace.Roles and scopeThe reported victim address is identified here as V1, the initial drain address as D1, and the reported forwarding address as F1. The distinction matters: a directly observed transfer from V1 to D1 does not, by itself, establish every subsequent connection associated with F1.Role: V1 · Reported victim — Address and scope: 7dGrdJRYtsNR8UYxZ3TnifXGjGc9eRYLq9sELwYpuuUuRole: D1 · Drain address — Address and scope: BHRayETPjvgg3BCr9H82V1D6NRwxu5v44JAaVuaod3jURole: F1 · Reported forwarder — Address and scope: Ddmy5oM8xtTs1EBC6eF2SZwQfBreewQpFgtUDm51HkqjRole: Investigation scope — Address and scope: Solana movements; Ethereum was not traced because a correlated full destination address was not obtained.The report records a 38-day trace lookback parameter. Its methodology appendix does not establish exact executed query bounds. This analysis therefore focuses on the individually dated incident movements rather than claiming complete coverage of a fixed historical interval.What the loss figure includesThe confirmed victim egress is 359.09K USDC on November 2. The report states that this matches the externally reported 359,094.73 USDC transfer. It does not establish the transaction’s time of day.External reporting initially placed the loss near $786K. The revised figure of approximately $856K includes a further 69,869 USDT transfer. The other externally reported drain amounts are 7,173.93 USD1, 4,264.57 WSOL and 191.24 SOL. These assets retain their own units here; adding them as if they were all dollars would misstate the evidence.Measure: 359.09K USDC — Interpretation: One directly observed victim-to-drain leg.Measure: Approximately $856K — Interpretation: Revised total reported externally, not a total independently established by this trace.Measure: Approximately $786K — Interpretation: Earlier external headline estimate.Measure: Four roughly 94K USDC transfers — Interpretation: Downstream movements from F1, not additional victim losses.Loss is counted once at victim egress. Swaps, forwarding transfers and bridge deposits must not be added again as separate losses.The observed routeD1 began swapping USDT for SOL or WSOL through two Jupiter-labelled accounts at 07:58:47 UTC on November 2. The first displayed swap pairs 20.0 USDT with 0.212049759 SOL returned. The report then lists further small swaps through 08:01:07 UTC; these rows are examples from a larger trace, not a complete swap inventory.Diagram 1. The observed Solana transfer and the partial onward connection. Solid arrows identify movements described as observed; the dashed D1–F1 connection lacks a transaction-hash anchor. Address key: V1 is the reported victim, D1 the drain address, and F1 the reported forwarding address. Full addresses appear above. Source: SentinelTX King report, Executive Summary and Transaction Chronology, pp. 3–4 and 8–9.Swapping issuer-controlled stablecoins into SOL changes the available freeze mechanisms: Circle or Tether cannot freeze native SOL through their token controls. The report interprets this as consistent with freeze-evasion behaviour. That interpretation is an assessment of the pattern, not direct proof of the actor’s intent.F1 appears in the graph built from D1, but the D1-to-F1 hop does not have a transaction hash in the report’s evidence. The four F1 outbound transfers are observed separately. Their relationship to the complete theft route remains partial.Four similar-sized forwarding legsOn November 2, F1 sent 94.27K, 94.19K, 94.18K and 94.16K USDC to four distinct addresses. None of these four recipients carries an attribution label in the report.Figure 2. Four observed USDC transfers from F1, shown from a zero baseline. The figures use the report’s rounded K-unit values and are not a breakdown of total loss. Address key: recipient labels use the opening characters of the full addresses in the reference register below. Source: SentinelTX King report, Transaction Chronology, p. 9.The four displayed amounts sum to approximately 376.8K USDC using rounded values. They represent four of the 831 transactions retained in the forwarding-address trace, not its complete outbound inventory. Similar sizes can reflect bridge-order sizing or programme behaviour; they do not alone establish deliberate structuring.The report assesses the amounts as consistent with externally described 1,000-SOL Mayan orders at roughly $94 per SOL. It explicitly distinguishes that inference from decoded bridge-order evidence.The bridge trail and recovery limitsExternal reporting describes a Relay test of 1 SOL followed by a blocked 500-SOL attempt. It also describes 13 Mayan deposits: 10 filled orders delivering 251.15 ETH and three blocked orders totalling 232,875 USDC. The reported bridge sequence falls between 13:07 and 14:12 UTC on November 2.Those figures do not constitute confirmed recovery. The approximately $280K reportedly blocked at the bridges, the Ethereum destination’s reported lack of movement, and ownership-related claims remain unverified in the report. No correlated Ethereum destination was established and no custodial-exchange deposit leg was identified.The absence of an indexed Mayan order under D1 or F1 does not disprove the reported route. The external account describes programme-owned deposit accounts, which may be indexed separately. Bridge-order records and a full destination address are therefore the report’s principal follow-up leads.ConclusionThe firmest finding is a 359.09K-USDC victim-to-drain transfer followed by observed Jupiter activity. Four roughly 94K-USDC forwarding legs add detail, but they do not complete the missing inbound connection or establish the cross-chain exit.Figure 3. The report’s conclusion separates confirmed movement, partial linkage and externally reported bridge outcomes. Source: SentinelTX King report, Conclusion, pp. 15–16.The report’s assessment is consistent with private-key compromise of an automated-trading hot wallet rather than a demonstrated smart-contract exploit. The signing key was not independently decoded in the investigation, so this remains an assessment. No common-control connection to another incident is established.The practical priorities are preservation of bridge order and custody records, identification of the full Ethereum destination, completion of the missing Solana transfer anchors, and preservation of the bot host’s access and key-management logs. Any recovery prospects depend on the actual custody and refund status of the reported blocked funds; the report does not establish a recovery amount.Selected evidence and source notesE1 · Confirmed victim egress, November 2, 2026: 359.09K USDC. Transaction hash: 2sUAaakTAfQ1J1WdbkafEMemG9m96aHqvo887Ajix2i4Z4QoGtinPTh3QdtwGvzcjmHuChr6Mx7CVs7na7xhG65r.E2 · First displayed Jupiter swap, November 2, 07:58:47 UTC: 20.0 USDT and 0.212049759 SOL returned. Transaction hash: 3qV3F4VLVynZWVCxEsKZjhVEnoqL1WBT9DZNY9kmvj8WHVo7H1yqNwqdPLfuA3NRyaBmsvb5FuY3gZiG22sXQDJD.F1 recipient register:94.27K USDC · ASdAsZzw5sbJdDVnUWXQn1GNJf64zpCRQRRGWLWj8VFa94.19K USDC · 4rnkhP9nCPTzeqfL63tDKJgeobRBrHxJ5zwyYBbWGiaK94.18K USDC · 3ThBU4ptq5z1Cf9P8svrWSWH6P43g5Fot2AFB2G6wuv294.16K USDC · DrCVfAEo1uLr5oZagLhMMBKhDM54eQtTpPKTa1TQ1dcKSource: SentinelTX, “King Solana arbitrage-bot wallet drain — November 2, 2026,” CASE-ASYNC520, generated November 9, 2026. This article adapts that report; it is not a separate independent investigation. The victim wallet’s high-volume history and more than 20 downstream counterparties were not fully examined. Ethereum and bridge outcomes remain outside the directly established route. Graph-wide totals include commingled third-party activity and are not used as incident losses.

King’s Solana wallet drain: the confirmed transfer and the bridge trail
0 likes・25 reads
cbtest58127
cbtest58127

November 08, 2026

General Discussion
probe-58259

CB58259 test post (payload removed).

0 likes・21 reads
dooooo
dooooo

November 08, 2026

Community Investigation
CoreVault / InsurancePool: Following the BNB Trail to Tornado.cash

ChainBounty Investigation Analysis | 9 November 2026A BNB Chain wallet gained 160.257771766360162994 BNB across the seed block, then forwarded a reported 162.169168 BNB to a newly observed intermediary. The following morning, that intermediary made ten deposits totaling 162.1 BNB into an address labeled as the Tornado.cash Proxy.This investigation summary draws exclusively on SentinelTX’s CoreVault / InsurancePool — BNB fund-flow investigation, case CASE-AE964964, dated November 8, 2026. The report establishes a transaction trail while leaving the exploit’s full accounting, the operators’ identities and the destination after mixing unresolved. All times below are UTC.The seed transaction and the balance changeAt 21:50:20 on November 3, 2026, address 0xd3565b191b28b49cc517189b984dacdb1ff05304 submitted a successful contract-creation transaction in block 131507810. The report identifies this address as the signer and deployer.The transaction created 0xc28cfeee046e1421e9dbfb2cf689074bf9f387e2 and produced 93 event logs. Those logs were not decoded in the report, and its evidence does not include the internal call tree.Two native-balance readings anchor the financial result:Block 131507809: 1.911397681184347886 BNB.Block 131507810: 162.169169447544510880 BNB.Net change: +160.257771766360162994 BNB, after the signer’s gas cost.This block-level net increase does not establish the reserve outflow, borrowed principal, or repayment and fee.Seed transaction: 0x072a10a579e2a8afa26a681205a2aaaa38f74bcb9d1064b12bd9e9ebe2c598b3 Source: SentinelTX CASE-AE964964, Executive Summary and Conclusion, pages 4 and 12–13.Why the forwarded amount is largerAt 21:51:56 on November 3, the signer transferred a reported 162.169168 BNB to 0x028491b55d0e18aa81ab3324688e42f91bbadacc. The intermediary was first seen November 3, without an identifying label.The forwarded amount includes funds already present before the seed block. The signer began with 1.911397681184347886 BNB, then experienced the documented net increase. Calling the entire onward transfer “profit” would therefore overstate what the balance comparison establishes.Figure 1. The signer's native balance increased by 160.257771766360162994 BNB across blocks 131507809–131507810, net of its own gas. It later sent 162.169168 BNB to the intermediary at 2026-11-03T21:51:56Z. These are different measurements, not additive quantities or incident-loss totals. The PDF records a pre-seed balance of 1.911397681184347886 BNB, which was already present before the gain.Color key: Slate identifies the seed-block balance change; sage identifies the later transfer. The panel titles carry the distinction in B&W. Color does not imply ownership, risk or proof.Address/role key: Signer = 0xd3565b191b28b49cc517189b984dacdb1ff05304. Intermediary = 0x028491b55d0e18aa81ab3324688e42f91bbadacc. These are transaction roles, not real-world identities.Source: Editorial summary of SentinelTX, CASE-AE964964, Executive Summary, p. 4; Transaction Chronology, p. 6. Quantities retain the PDF narrative’s precision. Seed timestamp: 2026-11-03T21:50:20Z.Forwarding transaction: 0xd08a5eda1116941a92907acd3efdbdc6b71272d5e9daa9e0da367196b4701535Ten deposits, one clear tracing boundaryBetween 04:54:04 and 04:57:20 on November 4, the intermediary sent 162.1 BNB to 0x0d5550d52428e7e3175bfc9550207e4ad3859b17. SentinelTX records the Sentinel Protocol label “Tornado.cash, Mixer, Tornado.cash: Proxy” for that contract.The ten deposits followed fixed denominations:1 × 100 BNB6 × 10 BNB2 × 1 BNB1 × 0.1 BNBThese denominations match mixer pools. The split alone does not establish an intent to evade reporting thresholds.At 04:57:48, the intermediary also sent a reported 0.068098 BNB to 0x02dcd01d534477b5e76628a7284e7fa71c7a7ed7. The report’s rounded reconciliation lists 162.168098 BNB forwarded across eleven transactions, leaving a 0.00107 BNB difference from the rounded receipt, which it describes as consistent with gas.Figure 2. Ten BNB deposits entered the Tornado.cash Proxy on 4 November 2026 between 04:54:04 and 04:57:20 UTC: 1 × 100 BNB, 6 × 10 BNB, 2 × 1 BNB and 1 × 0.1 BNB, totaling 162.1 BNB. Bars show the group totals of 100, 60, 2 and 0.1 BNB on a linear, zero-baseline 0–100 BNB scale. The 0.1 BNB bar is below one pixel wide at 720px; its direct label preserves its value. This is a deposit total, not incident loss. The PDF says the denominations are dictated by the mixer and do not by themselves establish structuring intent.Color key: Slate bars identify deposited BNB. Direct count, denomination and amount labels carry the meaning in B&W; color is not a risk scale.Address/role key: Depositor/intermediary = 0x028491b55d0e18aa81ab3324688e42f91bbadacc. Proxy = 0x0d5550d52428e7e3175bfc9550207e4ad3859b17, labeled “Tornado.cash, Mixer, Tornado.cash: Proxy” in the PDF, with Sentinel Protocol given as the label source.Source: Editorial summary of SentinelTX, CASE-AE964964, Executive Summary, pp. 4–5; Transaction Chronology, pp. 6–7; Transaction Typology, p. 9. The group totals are the stated count × denomination; they reproduce the PDF's 162.1 BNB total without adding onward hops.The first 100 BNB deposit also records a same-transaction hop from the Proxy to 0x1e34a77868e19a6647b1f2f47b51ed72dede95dd. This is part of the deposit route, not proof of a later withdrawal to an operator.First deposit transaction: 0xda5964dcc7f5f93a77c77b2a06be89b308cf234c63970c8183b874fb10dd1cffThe deterministic trail ends at the mixer. No withdrawal is linked to these deposits by the report. Timing or a matching denomination alone would not establish that link.The examined evidence identified zero exchange deposit addresses. This does not establish that the funds never reached an exchange: unlabelled counterparties and activity beyond the mixer remain unresolved.The attack narrative remains partly unverifiedPublic-reporting snippets summarized in the PDF describe a flash-loan-funded price manipulation involving CoreVault redemption and an InsurancePool payout. They report approximately $143.6 million of WBNB borrowed through Lista DAO Moolah, a redemption inflated about 33 times, and a reserve payout.These remain leads. The gross reserve outflow and full execution mechanism have not been established by transaction-level evidence in this record. The dollar-denominated loan estimate is not a verified native WBNB principal.The PDF contains WBNB and USDT transfer rows associated with the seed hash, but those rows do not supply a decoded execution trace identifying the lender, manipulated price source, protocol contracts or repayment.The report’s assessment is that the pattern is consistent with flash-loan-funded DEX spot-price oracle manipulation. The balance increase rounds to the public “160.26 BNB” figure without resolving gross-loss accounting.Separate activity and earlier leadsA separate token-disposal sequence began at 22:07:56 on November 3, when the signer received a reported 3,414.5285767965115 OSK from its earlier-deployed contract 0xd9c2e4f19746b4617ad658152adaa306c47ef86b.At 22:07:57, a transaction through the address labeled PancakeSwap Router v2 recorded:3,073.0757191168605 OSK to 0x5986772dc1970d1d9e030867f1156e36f9b07ce4.170.72642883982556 OSK to 0xfe6085dd822acc23352fb6b1fe52509253492422.170.72642883982556 OSK to the zero address, 0x0000000000000000000000000000000000000000.A reported receipt of 0.06190122454689079 WBNB from 0x3fc593d15c34d2f91ca3b4f2097dddaf3c4de86c.A subsequent WBNB unwrap call is recorded, but its amount was not decoded. BNB, WBNB and OSK remain separate quantities throughout the accounting.On November 2, 8 BNB passed from the signer through its auxiliary contract to 0x302f5084ba0e4a2d4de5e6bc5dd5247028f5d674. The shared recipient 0x02dcd01d534477b5e76628a7284e7fa71c7a7ed7 received a reported 0.066555 BNB from the signer as well as the intermediary’s 0.068098 BNB. Its listed history reaches back to September 21 and includes 25 contract-creation records among 29 control transactions; some creation attempts failed.These relationships are follow-up leads, not evidence of common ownership, identity or earlier attacks. Similar-looking addresses flagged as suspected poisoning had no value-bearing rows in the retained tables and were excluded as connections.Reading the scope correctlyThe report contains 304 movement rows across 30 addresses. Its gross totals include 804,618.047953 WBNB, 27,582,948.606662 USDT, 1,007.303821 BNB, 13,658.114307 OSK and 7.844058 FIST. Value can be counted again at each hop, and broader mixer activity can involve other users. These totals are neither incident losses nor amounts proven to belong to this case.The stated case window is November 3 through November 8, 16:10 UTC. The actual queries extended from October 4 to November 8; retained movement timestamps span November 1–8. The first trace reached three of five requested hops, three address reads were incomplete, and high-volume addresses limited expansion. “No outbound” in the traced set does not establish inactivity outside it.Figure 3. The PDF confirms BNB movement from the signer through the intermediary to the mixer Proxy. Its traced path ends at the mixer, beyond which there is no deterministic on-chain link. The flash-loan principal and repayment, gross reserve outflow, protocol contract addresses, and the identity or control of people behind the addresses remain unestablished. The report recommends decoding the seed receipt and obtaining its call trace, with any later mixer link requiring independent corroboration. It identifies zero exchange deposits in the examined evidence; later exchange use remains unknown.Color and line key: Slate marks structural headings and role boxes only. Solid, equal-width arrows show the observed direction of BNB movement; they do not encode amount or common control. The dashed line beneath the mixer marks the limit of the traced path, not an inferred continuation. Direct labels preserve these distinctions in B&W.Address/role key: Signer = 0xd3565b191b28b49cc517189b984dacdb1ff05304. Intermediary = 0x028491b55d0e18aa81ab3324688e42f91bbadacc. Mixer Proxy = 0x0d5550d52428e7e3175bfc9550207e4ad3859b17. No real-world identity or control finding is made.Source: Editorial summary of SentinelTX, CASE-AE964964, Recommendations and Conclusion, pp. 11–13. The report also states that the first trace reached 3 of 5 requested hops and that three addresses were not fully read.What investigators should pursue nextA full seed trace and decoded receipt are needed to establish the principal, reserve outflow, repayment, fee and gross credit. The report recommends preserving all ten deposit hashes without attributing withdrawals absent independent corroboration.Follow-up priorities include the shared recipient’s deployment history, earlier 8 BNB route, OSK recipients and unlabelled counterparties. The signer’s reported Ethereum and Optimism activity falls outside this investigation’s scope.The report also recommends compliance watch-list circulation and reporting through the affected parties’ national cybercrime and financial-intelligence channels. With no identified exchange deposit, it supplies no specific exchange account for a freeze or KYC request. Current sanctions treatment requires separate checking; the PDF did not assess OFAC status. A return-bounty message is discussed as a low-cost option with limited prospects, not as an action already taken.The documented BNB balance increase was followed by rapid forwarding and ten mixer deposits. Recovery prospects are assessed as poor on the available on-chain trail. Establishing the exact loss and any recoverable destination requires evidence beyond that boundary.

CoreVault / InsurancePool: Following the BNB Trail to Tornado.cash
0 likes・18 reads