Case Studies/Nomad Bridge
    Nomad Bridge

    Nomad Bridge Hack: $190M Chaotic Free-for-All

    August 1, 2022 · Ethereum / Moonbeam · Unknown (300+ copycats)

    stolen
    $190M
    attackers
    300+
    recovered
    $0
    attack window
    ~6h

    What happened

    On August 1, 2022, Nomad Bridge — a cross-chain messaging protocol — was drained of $190M in the most chaotic exploit in DeFi history. Unlike typical hacks orchestrated by a single attacker, a critical bug in Nomad's Replica contract allowed anyone to forge fraudulent withdrawal messages with zero cryptographic knowledge. Once the initial exploiter discovered the flaw, the transaction was visible on-chain and hundreds of opportunistic copycats simply copy-pasted the calldata — replacing the recipient address — and replicated the drain. Over 300 addresses participated, extracting funds over several hours before Nomad could pause the bridge.

    How the funds moved

    Step 1

    The Root Cause: Fraudulent Message Acceptance

    A routine upgrade to Nomad's Replica contract introduced a critical flaw: the `process()` function accepted any message as valid by default. The zero hash (0x00) was stored as a trusted root, meaning any message with a zeroed proof would pass validation. No signature, no Merkle proof — just a valid-looking message.

    Step 2

    The Initial Exploit and Copycat Cascade

    An unknown attacker sent the first fraudulent withdrawal for 100 WBTC. The transaction's calldata was fully visible on-chain. Within minutes, hundreds of users and MEV bots copied the exact calldata, replaced the recipient field with their own address, and replicated the drain. The permissionless nature of the bug meant anyone could exploit it with no technical skill.

    Step 3

    Multi-chain Drain and Laundering

    Over $190M drained across WBTC, USDC, USDT, FRAX, CQT, and other assets. Funds bridged from Moonbeam and Evmos reserves simultaneously. Several 'whitehat' actors returned approximately $9M voluntarily. Remaining funds spread across hundreds of wallets, partially through Tornado Cash.

    Key findings

    Root Cause

    process() accepted zeroed Merkle proof as validThe Replica contract's `acceptableRoot()` function returned true for the zero hash after an upgrade — any forged message with a zeroed `_oldRoot` parameter passed validation. No exploit complexity required.
    Logic BugUpgrade Error

    Attack Scale

    300+ participating addressesLargest number of simultaneous exploiters in DeFi history. MEV bots automated the process within seconds of the first exploit transaction.
    Copycat Attack

    Assets Drained

    WBTC, USDC, USDT, FRAX, CQT, WETHAll bridge liquidity wiped across Ethereum and Moonbeam reserves. Total: ~$190M. ~$9M returned voluntarily by whitehats.

    Aftermath

    $9M returned — 95% unrecoveredNomad offered a 10% whitehat bounty. Some actors returned funds. The remaining ~$181M was never recovered. Nomad later relaunched the bridge with a security redesign.
    Partial Return

    Investigate your own incident

    ChainHint traced the Nomad Bridge hack in minutes.
    Use the same tool for your case.