Cross-Chain Bridge Exploits
Major bridge and cross-chain infrastructure exploits since 2021, with the reported amount, the root cause, and a named source for each figure.
Bridge failures get reported as smart contract failures. Some of them are. But when you classify the incidents by what actually went wrong, 49% of the losses on this page trace to an authorization failure rather than a broken calculation. Either an attacker held enough keys to sign, or they reached a privileged function they should never have been able to call. In both cases the code ran as written. That is a governance problem wearing a technical costume, and it is why the same category of loss keeps recurring after each generation of contracts gets audited harder than the last.
What actually goes wrong
An attacker obtained enough signing authority, by stealing keys or taking control of the operator or device that held them, to authorize transfers. The contract and signing protocol behaved as designed. The key-management controls that address this →
The contract or signing protocol accepted a signature, proof or block it should have rejected, or a flaw in the signing protocol's own cryptography exposed the key it was meant to protect. How bridge trust models differ →
A privileged function could be called by someone who should not have been able to call it. What an admin key is and why it concentrates risk →
Accounting, deposit or approval handling behaved differently from intent. What a smart contract is, and where its bugs come from →
The defect shipped in an upgrade or initialization step rather than in the original design. Why upgradeable contracts carry this risk →
No root cause has been published by the protocol or a credible third party.
Group the first and third categories together, since both answer the same question of whether the system treated an attacker as entitled, and they account for 49% of the total here. Verification, logic and upgrade defects, the failures an audit is designed to catch, account for 44%, and the remainder has no published root cause. Both matter. But the industry spends far more on the second than the first, and the losses do not follow that ratio.
The incidents
Last updated 17 October 2026Last verified 24 October 2026
29 incidents
| Date | Protocol | Amount | Root cause |
|---|---|---|---|
|
NEAR Intents
Cross-chain infra
A bug in how NEAR Intents' Omni deposit and withdrawal system interacted with its smart contract let an attacker trigger irregular withdrawals from the protocol's BNB Chain hot wallet. CoinDesk reported that the contract-side vulnerability had since been patched, without giving a time, and deposits and withdrawals were disrupted on 11 networks while it investigated. Outcome: The funds were moved to KuCoin and converted to bitcoin. NEAR Intents said it identified the attacker and set a 48 hour deadline, and about a day later the exploiter returned the funds in full. NEAR Intents closed its investigation and had pledged full reimbursement to users. |
$3.8MM | Contract logic flaw | |
|
Payy Network
Payy's post-mortem, posted on 29 September 2026 and supported by a Spearbit review, says an attacker submitted an invalid burn proof that Payy's deployed Noir/Barretenberg verifier accepted. The flaw sat in Barretenberg's small-subgroup IPA verification path, which lacked a boundary check that Aztec added in a fix committed on 14 May 2026 and released in v5.0.0 on 13 July. Aztec did not notify Payy, which was running a pinned October 2025 build, and the rollup contract had no independent check that a burn hash be nonzero. The forged burn, with zero note commitments and a zero burn hash, was recorded on Payy's network at 03:25:41 UTC on 24 September. Ethereum settlements at 04:21:23 and 09:30:35 UTC paid out 1,828,589.378 USDC and 90,202.820 USDC, and a second burn of 1 USDC was fronted by a burn substitutor whom the rollup later reimbursed, for 1,918,793.198 USDC in total. The stolen funds were users' non-custodial deposits. Outcome: Payy paused all network transactions on 24 September and on 25 September (UTC) ruled out a compromised key, social engineering and an off-chain infrastructure exploit. Its post-mortem traced 682.3 ETH from the first payout into Tornado Cash on 26 September, while the 90,202.82 USDC from the second settlement was still in the receiving wallet on 28 September. No recovery has been announced. Payy opened a claims process paying eligible users in USDC on Ethereum, with the wallet to close when it ends, then paused the form on 13 October to rework it and said the 30-day window would reset. |
$1.92MM | Signature or proof verification flaw | |
|
Meter (Passport Bridge)
Meter attributed the incident to a block validation flaw (as reported by CoinGabbar), which let an attacker mint wrapped MTRG on BNB Chain without depositing the underlying MTRG. Blockaid flagged roughly $2.3MM of unbacked tokens minted across two transactions, partly sold on PancakeSwap before Meter intervened. No detailed post-mortem has been located. Outcome: Meter paused its mainnet and bridge and said transactions after block 100731417 may not be honored. MTR and MTRG each fell by roughly 75% to 80%. |
$2.3MM | Signature or proof verification flaw | |
|
Liquid Network
Blockstream's Elements software cached range proof verifications under a key that did not fully capture the transaction context, so an attacker could point new, invalid issuance data at a previously approved cache entry and skip verification. This let the attacker mint roughly 4,000 L-BTC with no bitcoin backing them and withdraw them from the federation's reserve wallet. Outcome: The attacker, who described themselves as a white hat, returned about 3,400 BTC and kept about 598.5 BTC, demanding a 10% bounty that Blockstream refused to treat as white-hat activity. Liquid halted transactions, and block production resumed on 10 September while peg-outs stayed suspended. |
$320MM | Signature or proof verification flaw | |
|
Verus (Ethereum Bridge, second incident)
A second drain of the same bridge contract from a new wallet. Per Rekt, citing SlowMist, VerusProof.checkExportAndTransfers checked the transfer hash against attacker-supplied transfer data but never validated the export's accounting values (total amounts, fees, burned amounts and output value) or that the prior export held enough value to cover the payouts. The attacker made a legitimate 0.01 VRSC transfer, then submitted a forged export committing to eight payouts, and the genuine notarized heights let the proofs pass. The checkCCEValues fix made after May held, so this was a different code-level gap in the same trust boundary rather than the May bug repeated, although Blockaid described the same entry path and bug class. Some reports date it 22 July, and this entry uses 23 July, as most sources do. Outcome: Not reported recovered. Rekt reports no statement or bounty offer from Verus, and the funds, consolidated into about 3,916 ETH, were moved through Tornado Cash. |
$7.54MM | Contract logic flaw | |
|
AFX Trade bridge
Five hot-validator keys signed one withdrawal worth about 24.15MM USDC, reaching the voting threshold of the bridge's off-chain validator set, and the withdrawal passed a 200 second dispute window. No smart contract bug was involved, and QuillAudits concluded the off-chain signing system was compromised. Arbitrum's own bridge was not breached. Outcome: AFX offered the attacker a white-hat settlement, keeping 30% in return for sending back the other 70%. The USDC was swapped for about 12,467 ETH. SEAL and zeroShadow said a link to the Lazarus-affiliated group UNC4899 was preliminary. |
$24.15MM | Key or signer compromise | |
|
Gravity Bridge
About $4.3MM in USDC, 274 WETH and smaller balances were withdrawn from the bridge. The Block reported a suspected compromised signing key, while Rekt traced it to a permissionless token-deployment function that let the attacker poison the token registry. Neither Gravity nor Althea had confirmed a cause at the time of the reports. Reports date the drain to 29 or 30 May, and this entry uses 30 May. Outcome: Network halted. Part of the proceeds were laundered through ChangeNow and Binance, and Rekt reports flows into Tornado Cash. |
$5.4MM | Undisclosed | |
|
Verus (Ethereum Bridge)
The bridge verified notary signatures and Merkle proofs correctly but never checked that the source amount recorded on Verus matched the payout claimed on Ethereum, so a valid proof could be used to draw out more than was deposited (Merkle Science). The attacker took 103.6 tBTC, 1,625 ETH and 147,000 USDC. Outcome: The attacker returned 4,052.4 ETH and kept 1,350 ETH, about 25%, under a bounty arrangement Verus offered publicly. |
$11.58MM | Contract logic flaw | |
|
Thorchain
Cross-chain infra
THORChain's own report traces the loss of roughly $10MM (third-party trackers put it at $10.7MM or more) to the GG20 threshold-signature library it inherited from Binance. A malicious validator combined three weaknesses, a key-generation check that accepted a malformed Paillier modulus, a range proof that did not bind its commitment, and a blinding value too small to hide its secret, to reconstruct a vault's private key from leaked key shares. The protocol's signing proofs failed to reject inputs they should have, so it is classed as a verification flaw rather than a conventional key theft. Outcome: The affected vault was paused and every validator upgraded to v3.19.1 before signing resumed. THORChain plans to move away from GG20. RUNE fell 12%. |
$10MM | Signature or proof verification flaw | |
|
Kelp DAO
Cross-chain infra
A forged cross-chain message was accepted after the LayerZero Labs verifier (DVN) that Kelp's rsETH bridge relied on attested to it. LayerZero's incident report says the breach began on 6 March 2026, when two internal RPC nodes the DVN read from were compromised, and that an external RPC provider was then knocked offline so the DVN relied only on the compromised nodes. Mandiant, CrowdStrike and independent researchers cited in the report attribute the attack to the North Korean group TraderTraitor. The bridge required a single verifier, so no second check existed, and 116,500 rsETH (about $292MM) was released from the reserve behind wrapped versions on more than 20 chains on 18 April 2026. Kelp's emergency pause came 46 minutes after the drain and blocked two further attempts of roughly 40,000 rsETH each. Kelp and LayerZero dispute who chose the 1-of-1 verifier setup. Outcome: LayerZero Labs said its DVN would no longer sign as the sole required verifier on any channel and that it rebuilt the compromised infrastructure. Kelp announced on 5 May that rsETH bridging would move to Chainlink CCIP. Chainlink's blog of 20 May said seven teams had announced migrations to Chainlink in the previous two weeks, representing more than $4Bn in total value, a tally that included a move of more than $400MM to Chainlink Data Feeds rather than CCIP and put Kelp's rsETH at more than $1.5Bn. In an 18 August update Chainlink raised its figure to $15Bn migrating to CCIP. These are Chainlink's tallies of announced migrations, not measured flows. |
$292MM | Key or signer compromise | |
|
Garden Finance
Cross-chain infra
An attacker drained about $11.4MM of the solver's own assets across multiple chains from one of Garden's independent solvers, the market makers whose inventory fills cross-chain swaps on the network. Garden's incident report, dated 28 January 2026 and released through Chainwire the next day, says the attacker obtained the solver's SSH key from the local device used to run its production executor, gained root access to the solver server and found the solver's private key stored in an environment variable. EY's review of the server's SSH logs found access from four IP addresses in Japan and China on 30 October 2025, and zeroShadow said the incident originated from a leaked private key on a compromised device, although the exact method of compromise is unknown, and linked it with high confidence to the North Korea-affiliated group DangerousPassword. Garden says no protocol contracts were compromised and no user funds were at risk. The report names Solana and BNB Chain among the drained balances without itemizing the rest. The loss is counted because the solver inventory is the liquidity that settles transfers across Garden's network, which this page treats as cross-chain infrastructure, but it was not a loss of user deposits held in custody. ZachXBT questioned whether the solver was independent of Garden. Outcome: Garden paused all user-facing services and posted an on-chain offer of a 10% bounty on the solver's behalf, which drew no response. Funds were bridged off Solana via Mayan, swapped to ETH and deposited into Tornado Cash. Garden said it removed the need for solvers to be reachable on public IP addresses, added independent third-party solvers and appointed a new CISO. In late July 2026 an attacker who reached an independent solver's off-chain database drained about $450K in USDT across Ethereum, Base, Arbitrum and BNB Chain (per Blockaid), and Garden again paused its services, telling Cointelegraph that only solver-owned assets were affected. |
$11.4MM | Key or signer compromise | |
|
Ronin Network (second incident)
A contract upgrade left a flaw in how the bridge counted operator votes, which a whitehat operator exploited, reportedly via an MEV bot, before any malicious actor did. Outcome: Returned by the whitehat operators within days. Ronin planned a $500K bounty. |
$12MM | Upgrade or configuration error | |
|
LI.FI
Cross-chain infra
A newly deployed facet on the LI.FI cross-chain aggregator allowed arbitrary calls, which the attacker used to drain 153 wallets holding infinite approvals to the LI.FI contract. LI.FI is a router rather than a custody bridge, which is why it is tagged cross-chain infrastructure. Outcome: LI.FI disabled the facet on all chains and said it was evaluating options to fully compensate affected users. No recovery was reported. |
$11.6MM | Contract logic flaw | |
|
Socket / Bungee
Cross-chain infra
A route contract on the Socket cross-chain aggregator failed to validate user-supplied calldata, letting the attacker drain wallets that had granted the gateway unlimited token approvals. Only users with live approvals were affected. Socket is a router rather than a custody bridge, which is why it is tagged cross-chain infrastructure. Outcome: Socket said it recovered about $2.3MM (1,032 ETH) of the $3.3MM and promised a distribution plan. Users were urged to revoke approvals. |
$3.3MM | Contract logic flaw | |
|
Orbit Chain
About $81.5MM was drained from the bridge's Ethereum vault on New Year's Eve UTC. Rekt and Halborn believe signer keys on the vault multisig were compromised, but no post-mortem has been published. In January 2024 operator Ozys alleged that a former CISO had weakened a firewall, a company claim that remains unproven. Outcome: Not recovered. |
$81.5MM | Undisclosed | |
|
HECO Bridge (HTX)
A compromised operator key authorized withdrawals from the bridge, about $87MM per CertiK (PeckShield counted $86.6MM). HTX exchange hot wallets were also drained in the same window, about $23.4MM per Wintermute's head of research (ForkLog), while CertiK counted $13.6MM taken from HTX hot wallets on Ethereum plus $12.6MM of suspicious TRON transfers. That is a separate exchange theft, excluded from this figure and from the totals on this page. Outcome: Not recovered. Justin Sun pledged that HTX would fully compensate its hot wallet losses (ForkLog). No compensation for the bridge losses was confirmed in the sources cited here. |
$87MM | Key or signer compromise | |
|
Multichain
Funds moved out of multiple bridge contracts, more than $102MM of it from the Fantom bridge contract on Ethereum (Unchained). Multichain said its CEO had been taken away by Chinese police in May 2023 and that the team had lost access to its MPC servers. CertiK attributed the outflows to a private key compromise, while Chainalysis described them as a possible hack or insider rug pull, and Decrypt later reported that the CEO's sister had moved assets out of the MPC wallets. Every reading involves the keys, but whether they were stolen or used by insiders has never been settled and Multichain published no post-mortem, so the cause is classed as undisclosed under this page's rule for contested causes. Outcome: The protocol ceased operations. Circle and Tether reportedly froze more than $65MM of related stablecoins. The rest was not recovered. |
$126MM | Undisclosed | |
|
Poly Network (second incident)
The attacker minted 57 tokens across 10 chains but cashed out only about 5,196 ETH ($10.1MM) because liquidity was thin. Beosin and Dedaub suggested compromised admin keys, alleging that keys for three of four admin wallets were taken, but Poly Network had not confirmed a cause. Reports date the attack to 1 or 2 July, and this entry uses 2 July. Outcome: Poly Network suspended services and appealed to the attacker to return the funds. No recovery was reported. |
$10.1MM | Undisclosed | |
|
BNB Chain (Token Hub)
A flaw in IAVL merkle proof verification let the attacker forge a proof for a withdrawal that was never deposited, minting 2MM BNB. The $566MM is the nominal value of the BNB minted, not the amount that left the chain. Outcome: Validators halted the chain. About $100MM of the minted BNB left the chain (estimates run to $110MM or more) and most of the rest never moved. Roughly $7MM was reportedly frozen. |
$566MM | Signature or proof verification flaw | |
|
Nomad
A routine initialization set a trusted root to zero, which made every message appear pre-approved. Once the first transaction was public, hundreds of accounts copied it in an open free-for-all. Outcome: Whitehats returned about $36MM, roughly a fifth, within weeks (per Zerion). The rest was not recovered. |
$190MM | Upgrade or configuration error | |
|
Harmony (Horizon Bridge)
The bridge ran a 2-of-5 multisig, so compromising two signers was enough to authorize any transfer. The quorum was the vulnerability. Outcome: Not recovered. The FBI attributed the theft to the Lazarus Group in January 2023. |
$100MM | Key or signer compromise | |
|
Ronin Network
The attacker obtained 5 of 9 validator keys, 4 belonging to Sky Mavis and a 5th to Axie DAO, the latter reachable through an allowlist left in place after an earlier scaling arrangement. Every signature was valid. Outcome: Attributed to the Lazarus Group by US authorities in April 2022. Largely not recovered. Sky Mavis raised $150MM in Binance-led funding to reimburse users. |
$624MM | Key or signer compromise | |
|
Wormhole
The Solana-side contract could be tricked into accepting a forged guardian signature set, letting the attacker mint 120,000 wETH without depositing anything. Outcome: Jump Crypto replaced the shortfall within days. In February 2023 the exploiter's remaining vault positions at Oasis.app were recovered under an English High Court order, reportedly in coordination with Jump. |
$326MM | Signature or proof verification flaw | |
|
Qubit Finance (QBridge)
A deposit function accepted a zero-value transfer as though collateral had arrived, letting the attacker mint borrowing power against nothing. 206,809 BNB was drained. Outcome: Not recovered. |
$80MM | Contract logic flaw | |
|
pNetwork
An attacker exploited a bug in the codebase of the pNetwork pBTC-on-BNB Chain bridge and drained 277 BTC of collateral. No technical post-mortem that this database could locate states the specific flaw. Outcome: pNetwork offered a $1.5MM bounty for the return of the funds. No recovery has been reported. |
$12.5MM | Undisclosed | |
|
Poly Network
A crafted cross-chain message called a function whose 4-byte selector collided with the one that replaces the keeper set, and the manager contract did not restrict which contract and method a relayed message could reach. That put a privileged function in the hands of an unauthorized caller, who swapped in their own keeper address and authorized withdrawals as the protocol. It is classed as an access control flaw because the failure was that reachability, not a stolen key (BlockSec and CertiK found no key theft), although the selector collision and missing target checks also make a contract logic reading defensible. Outcome: Substantially all funds were returned in stages over about 13 days, the last batch on 23 August 2021. Tether froze about $33MM of USDT along the way. |
$612MM | Access control flaw | |
|
THORChain (second 2021 incident)
Cross-chain infra
The attacker used a fake router and fake vault to forge a deposit event carrying a malicious memo, which the Bifrost refund logic honored, paying out ALCX, XRUNE, USDC, SUSHI, YFI and USDT. THORChain first estimated the loss at about $800K. Outcome: RUNE fell about 25%. The attacker left most of the loot behind, and Rekt does not report a confirmed recovery. |
$8.0MM | Contract logic flaw | |
|
THORChain (first 2021 incident)
Cross-chain infra
A bug in the Bifrost Ethereum router read the transaction value incorrectly in an override loop, letting the attacker withdraw about 2,500 ETH plus SUSHI, YFI, DODO and ALCX they had not deposited. Outcome: Funds were not reported recovered. |
$5.0MM | Contract logic flaw | |
|
Anyswap (later Multichain), V3 router
The V3 router's MPC signing reused an ECDSA nonce (the k value) in two transactions on BNB Chain, which let the attacker back-calculate the router's private key and move about 5.5MM MIM and 2.4MM USDC. Only the V3 pools were affected. The key was not stolen from an operator but leaked by a defect in the signing protocol itself, so it is classed as a signing-protocol flaw, the same rule applied to THORChain's GG20 incident in 2026. TechFlow dates the attack to 4:00 AM Beijing time on 11 July, which is 10 July UTC. Outcome: Anyswap patched the code and reopened after a 48 hour timelock. TechFlow reported that the team said it would compensate the losses. |
$7.9MM | Signature or proof verification flaw |
Methodology
What is included. Protocols whose function is moving value between chains: bridges, cross-chain liquidity networks, cross-chain aggregators and routers whose contracts hold standing token approvals (tagged cross-chain infrastructure, as with LI.FI and Socket), and the middleware that secures them. Incidents are listed where a public figure and at least one named source exist. There is no minimum size. The search is best effort and weighted toward incidents of $5MM or more, and the handful of smaller incidents listed are there because they were found and sourced, so coverage below $5MM is partial. Exchange hot-wallet thefts, lending protocol exploits and oracle manipulations are out of scope even when they involve wrapped assets, because mixing them in would inflate the totals and blur the root-cause analysis this page exists to support. The same rule excludes a venue that is not itself cross-chain infrastructure when a bridge was used only afterwards to move the proceeds, such as the Drift perpetuals exchange in April 2026. Where an exchange loss sits alongside a bridge loss in one incident, as with HTX and HECO Bridge, only the bridge figure is counted.
How amounts are stated. USD at the time of the incident, as reported by the cited source, not restated to current prices. Restating would silently diverge from every source listed here. Where sources disagree, the figure most consistently reported is used and rounded rather than presented with false precision. Where a source reports the nominal value of tokens minted rather than what left the system, as with BNB Chain, the entry says so. Amounts are as reported at the time, and funds later returned or frozen are not netted out, so the total measures value taken or minted rather than final losses. Two entries show the gap. The BNB Bridge figure of $566MM is the nominal value of the BNB minted, of which about $100MM left the chain, and the $612MM Poly Network figure from 2021 was substantially all returned.
How root cause is assigned. Each incident carries exactly one root cause, chosen as the failure without which the exploit would not have worked. Where a protocol has published a post-mortem, that document governs. Where none exists, or where credible sources disagree and the protocol has not settled it, the incident is marked undisclosed rather than inferred. Where independent analysis and the protocol's own account differ on the classification, the entry's summary gives the reasoning.
What this page is not. It is not a complete census of every bridge incident. Exploits without a credible public figure are omitted, and smaller exploits are covered only partially. The incident count is a floor, since coverage is partial. The dollar total is not a floor on final losses. It is gross value taken or minted, including nominal minted value (BNB Chain) and funds later returned (Poly Network 2021), so the net loss across these incidents is materially lower. Where a cross-chain network settles transfers from solver or market-maker inventory rather than user deposits, as with Garden, a loss of that inventory is counted because it is the liquidity the network runs on, and the entry says no user funds were lost. A flaw in a signing protocol's own cryptography that exposes the key (Anyswap 2021, THORChain 2026) is classed as a verification flaw, and key compromise is reserved for keys taken from an operator or device.
Corrections. If a figure, date or root cause here is wrong, tell me and it will be corrected with the source noted.
Cite this dataset
Free to use with attribution under CC BY 4.0. The full dataset, with every source, is available as JSON. Link to a single incident with its anchor, e.g. /learn/bridge-exploits/#ronin-2022.
Moonis, O. (17 October 2026). Cross-Chain Bridge Exploit Database.
https://www.omarmoonis.com/learn/bridge-exploits/