A fundamental flaw in THORChain’s operational logic, exposed by a seemingly minor one-block reorganization on the Ethereum network, resulted in the decentralized cross-chain liquidity protocol refunding 10 ETH that it had never actually received. The incident, which occurred on October 31, 2020, underscored a critical vulnerability in how THORChain processes transactions across disparate blockchain networks, prompting an immediate halt of operations on ten interconnected chains and a stark warning from the protocol’s development team: the exploit could be replicated whenever a reorg occurs on any integrated external chain.
The Genesis of the Glitch: A Vanishing Deposit
The incident unfolded on Saturday, October 31, 2020, at approximately 11:34 UTC. At its core was a one-block reorganization (reorg) on the Ethereum blockchain. A reorg is a relatively rare but normal occurrence in proof-of-work (PoW) and even proof-of-stake (PoS) blockchains, where the network replaces a recently confirmed block with a competing block that becomes the new canonical chain. This happens when two miners (or validators in PoS) simultaneously discover valid blocks, leading to a temporary fork. Eventually, one chain gains more computational power or attestations, causing the other to be "orphaned" or "reorganized out" of the main history.
In this specific instance, a 10 ETH deposit intended for THORChain was initially credited by the protocol. However, the subsequent Ethereum reorg caused the block containing this deposit to be dropped from the canonical chain. Critically, THORChain’s internal state did not immediately recognize this change. The protocol continued to operate under the assumption that the 10 ETH deposit was valid and had been received, creating a dangerous discrepancy between its internal ledger and the actual state of the Ethereum blockchain. This brief window of misalignment—the period between THORChain acknowledging the deposit and Ethereum effectively erasing it—proved to be the fertile ground for the exploit.
How a Refund Became a Double Payout
The transaction associated with the now-vanished 10 ETH deposit was a swap, subject to a specific price limit. With the deposit no longer existing on the canonical chain and market conditions making the swap unfeasible, THORChain’s robust refund mechanism was activated. This mechanism is designed as a safety net, ensuring that user funds are returned if a swap cannot be completed successfully.

However, in this anomalous situation, the refund logic executed against a deposit that, from Ethereum’s perspective, had never truly materialized. Consequently, THORChain’s vault disbursed 10 ETH as a refund for funds it had never actually received. To compound the issue, the original sender’s real deposit, which had been affected by the reorg, was also legitimately returned to them through Ethereum’s standard operational processes. The net result was that THORChain’s vault effectively paid out an additional 10 ETH, covering a transaction that Ethereum had retrospectively erased from its history.
This double payout led to a shortfall in the THORChain vault’s balance. Fortunately, the protocol’s "Automatic Solvency Checker," a critical circuit breaker implemented after previous security incidents, immediately detected the discrepancy. Designed precisely for such scenarios, the checker triggered an automatic pause of operations across a significant portion of THORChain’s network.
Operational Halt: Ten Chains Go Quiet
The activation of the Automatic Solvency Checker led to an immediate and widespread halt of swaps for assets across ten major blockchain networks integrated with THORChain. These included prominent cryptocurrencies such as Bitcoin (BTC), Ethereum (ETH), Solana (SOL), and Tron (TRX), among others. For a cross-chain liquidity protocol like THORChain, which thrives on seamless asset transfers and swaps between different blockchains, this operational pause represented a near-complete standstill, severely impacting liquidity providers and users relying on the platform for multi-chain asset management.
The timing of this halt garnered additional attention due to its tangential connection to ongoing illicit activities. Chainalysis, a blockchain analytics firm, reported that the suspension of THORChain’s services inadvertently slowed down the laundering of funds stolen in a recent Binance hack. Elliptic, another analytics firm, had previously highlighted how these stolen funds were being laundered on an "autopilot" basis, frequently utilizing cross-chain protocols like THORChain to obscure their origins. THORChain, however, quickly clarified that the pause was a direct consequence of the reorg bug and its inherent safety mechanisms, not a deliberate maneuver to counteract the Binance thieves. The incident, while revealing a vulnerability, also demonstrated the effectiveness of the protocol’s built-in safeguards.
The Unsettling Warning: An Ongoing Exploit Risk
While the immediate financial loss of 10 ETH (approximately $3,800 – $4,000 USD at the time of the incident, given ETH’s price around $380-$400 in late October 2020) was subsequently recovered after the recipient voluntarily returned the surplus funds, THORChain’s official statement went beyond merely describing a "freak accident." The team issued a grave warning that transformed a single isolated incident into a persistent and systemic risk.

"Every time there’s a block re-org on an external chain, a malicious actor could perform a new transaction with the same nonce and would be paid funds by the THORChain vaults," the statement cautioned. This critical detail fundamentally changes the narrative from a one-off glitch to a publicly known vulnerability ripe for exploitation.
Blockchain reorganizations, while infrequent on highly decentralized and mature networks like Ethereum, are an inherent and normal part of how these networks operate. THORChain, by its very design, connects to numerous external chains, each with its own reorg probabilities and finality characteristics. An attacker would not need to cause a reorg; they would merely need to be prepared to exploit one when it naturally occurs. The attack vector involves crafting a transaction designed to trigger the refund path against a deposit that has been reorged out of existence, effectively tricking THORChain into making a payment for non-existent funds.
The mention of "nonce" is particularly significant here. In blockchain transactions, a nonce is a sequential number associated with an account, ensuring that each transaction is unique and processed in order, preventing replay attacks. When a transaction is included in a block that is subsequently reorged out of the canonical chain, its nonce effectively becomes available again. A malicious actor could then submit a new transaction using the same nonce. If THORChain has already credited the original, now-orphaned transaction, its internal state would diverge from the actual chain state, creating the window for the double-payout refund exploit.
Historical Context: THORChain’s Recurring Refund Vulnerabilities
This is not the first instance where THORChain’s refund mechanisms have been identified as a critical point of failure. A post-mortem report on the 2021 ETH router exploits detailed how attackers managed to drain approximately 4,200 ETH (valued at over $10 million at the time) by deliberately manipulating transaction memos to force refunds.
While the specific mechanics differed—the 2021 attacks exploited malformed instructions, whereas the 2020 reorg bug stemmed from a shift in underlying chain state—the common thread is the abuse of the refund process. Refunds, intended as a secure fallback when swaps fail, have repeatedly become an unintended conduit for unauthorized value extraction from THORChain’s vaults. This pattern suggests a deeper architectural challenge in how THORChain’s internal state and refund logic interact with the dynamic and often asynchronous nature of external blockchain finality.
Cross-Chain Design: The Challenge of Finality and Reconciliation

The incident highlights a pervasive and complex issue in the broader landscape of cross-chain interoperability: the challenge of achieving consistent finality across disparate blockchain networks. Each blockchain operates under its own rules for transaction confirmation and finality. A protocol like THORChain, which acts as a bridge between these chains, necessarily inherits the risks associated with varying levels of finality.
Acting on data that is not yet fully confirmed or is susceptible to reorganization exposes the cross-chain protocol to the very same risks. A more robust approach, often advocated by security experts, involves treating deposits as truly final only after the source chain’s reorg risk has demonstrably passed. This might entail implementing longer confirmation delays for incoming transactions or, more critically, ensuring that refund logic meticulously reconciles its internal state with the current, immutable state of the external chain before any funds are disbursed. This would involve a real-time, on-chain check to verify the existence and status of the original deposit.
The Path Forward: Security Prioritization and Community Expectations
Following the incident, the 10 ETH shortfall was rectified with the voluntary return of funds by the recipient. However, THORChain has understandably not yet announced a specific date for resuming operations on the paused chains. This cautious approach is prudent, given the gravity of the disclosed vulnerability. Restarting operations before a comprehensive patch is implemented would leave the protocol exposed to any malicious actor aware of the reorg exploit.
For THORChain users and liquidity providers, several critical questions remain. How will the protocol address deposits that reside in blocks still susceptible to reorganization? Will it introduce mandatory confirmation delays for all incoming cross-chain transactions? More importantly, how will the refund logic be re-engineered to prevent a recurrence of this specific vulnerability, ensuring it always cross-references current chain state before processing a payout? The public disclosure of the risk by the THORChain team underscores its high priority for resolution.
The incident is also anticipated to spur significant interest among security researchers and blockchain auditors. The mechanism of the exploit is relatively straightforward to comprehend, and its general applicability across various external chains makes it a compelling case study. The ability for anyone to identify the reorged Ethereum block, trace the vanished deposit, and observe the subsequent double payout via public block explorers means that the vulnerability is transparent and verifiable. This accessibility elevates the incident beyond a mere technical mishap; it represents a publicly known, exploitable bug within a protocol that secures and manages user funds across a multitude of networks. The industry will be closely watching THORChain’s response and implementation of a permanent fix, which will likely involve a combination of increased confirmation thresholds, enhanced real-time state verification, and a fortified refund mechanism.















