DeFi Intel

Nomad Bridge $190M Hack event

Event · PageRank 0.0052

Also known as: Free-For-All Nomad Hack

Overview

The Nomad bridge hack took place on 1 August 2022 and drained roughly $190 million of locked funds, making it one of the largest cross-chain bridge exploits of that year. The root cause was a configuration error rather than a novel cryptographic break: during a routine upgrade, Nomad initialised the value of trusted roots to 0x00. While zero-initialisation is common practice, 0x00 also matched the value used for an untrusted root, so the Merkle proof verification logic treated every message as already proven. Attackers could therefore call process() in Replica.sol directly, without submitting any valid proof, and the contract would accept it. What made the incident unusual was its shape: after one attacker discovered the vulnerability and executed the first exploit transaction, hundreds of copycats replicated it simply by copying the original transaction and substituting their own recipient address. More than 300 addresses were tied to the drain, turning it into a decentralised free-for-all rather than a single-actor theft — which is also why some contemporaneous estimates of the loss differ, with Elliptic reporting $156 million. The exploit occurred on 1 August 2022 following an upgrade that set trusted roots to 0x00. Over 300 addresses participated in copycat transactions. A key suspect in the $190 million exploit was later extradited to the United States, per TRM Labs.

Within the DeFi Intel graph, Nomad Bridge $190M Hack connects to 1 tracked entity, most strongly to Nomad.

Relations

Top connections in the DeFi Intel knowledge graph (confidence-weighted, 1 of 1 total).

RelationConnected entityConfidence
affectedNomad70%

Frequently asked questions

How much was stolen in the Nomad bridge hack?

Roughly $190 million on 1 August 2022, though some analyses such as Elliptic's put the figure at $156 million.

What caused the Nomad bridge hack?

A routine upgrade initialised trusted Merkle roots to 0x00, which matched the untrusted-root value, so the verification logic accepted every message as proven.

Why were there so many attackers?

Once the first exploit transaction was public, hundreds of copycats copied it and swapped in their own recipient address; over 300 addresses were involved.

Which contract was exploited?

Replica.sol — attackers called process() directly without any prior valid proof.

Was anyone caught?

Yes — TRM Labs reported that a key suspect in the $190 million exploit was extradited to the United States.

Was this a smart contract bug or a misconfiguration?

A misconfiguration during an upgrade, which made the proof-verification logic trivially bypassable.

Sources

Facts on this page were verified against the following sources.