Why bridges get hacked
A bridge has to convince one chain that something happened on another. Chains cannot read each other, so a bridge relies on someone to pass that message along: a set of validators, a multisig, an oracle network or a proof system. If that layer is fooled or its keys are stolen, the bridge pays out funds that were never deposited.
The reward for breaking one is large. Many bridges keep everything they have ever locked in a single contract, so a single bug can drain all of it at once, not just one user's position.
Major bridge hacks
The largest losses share a root cause: one component that, once broken, released everything.
| Bridge | Loss | What happened | Lesson |
|---|---|---|---|
| Ronin Mar 2022 | ~$600M | Attackers obtained 5 of the 9 validator keys that approved withdrawals. | A multisig is only as strong as the independence of its signers. |
| Wormhole Feb 2022 | ~$320M | A signature-verification bug let the attacker mint wrapped ETH with nothing locked behind it. | In lock-and-mint, one minting bug makes every wrapped token unbacked. |
| Nomad Aug 2022 | ~$190M | A faulty upgrade made any message pass verification; hundreds of wallets copied the first exploit. | A single misconfigured value can open a bridge to everyone. |
| Harmony Horizon Jun 2022 | ~$100M | Only 2 of 5 multisig signatures were needed to release funds, and both keys were compromised. | Low signing thresholds turn a key leak into a total loss. |
Two of the four were key compromises, two were code bugs. None needed the victims to do anything wrong: the users simply held wrapped tokens, or had funds in transit, when the bridge failed.
Lock-and-mint, liquidity and intent bridges
How a bridge moves value decides what you are exposed to, and for how long.
| Design | How it works | Your exposure | Risk |
|---|---|---|---|
| Lock-and-mint | Your tokens are locked in a contract on the source chain and a wrapped copy is minted on the destination. | For as long as you hold the wrapped token, it is only worth what the lock contract still holds. | High: the lock contract is a large, permanent honeypot. |
| Liquidity network | Pools on both chains: you deposit on one side and receive native tokens from the pool on the other. | During the transfer, plus the pools for liquidity providers. | Medium: limited to pool size, no wrapped token left behind. |
| Intent-based | You state what you want on the destination; a solver delivers it from its own funds and is repaid from your deposit. | Seconds to minutes, until the solver fills. Unfilled requests are refunded. | Lower for you: the solver carries the settlement risk. |
| Native vaults (THORChain) | You send native assets to a vault run by the network’s node operators, who pay out the other asset from their own vaults. | During the swap; the security of the vaults and the network. | Medium: no wrapped tokens, but the network itself must stay secure. |
The practical rule: prefer routes that deliver the native or canonical token on the destination chain, and do not park large amounts in a wrapped token whose backing you cannot check.
How ChainBridge handles cross-chain transfers
Relay: intent-based
You deposit on the source chain; a Relay solver sends the tokens on the destination from its own inventory, usually within seconds, and is repaid from your deposit. If no solver fills, the deposit is refunded to your source address.
LI.FI: bridge aggregator
LI.FI picks a route across several bridges and DEXs. Its risk is that of the bridge it selects, which the quote names.
THORChain: native vaults
For native BTC, LTC, DOGE and BCH. You deposit from Ethereum, Base, BNB Chain or Avalanche into a THORChain vault, and the network pays out the native coin to your address. Native BTC to EVM is quote-only.
Ranked by what you receive
Relay and LI.FI quotes are compared on the amount delivered after fees, and every fee is shown in the quote before you sign.
Before you sign, ChainBridge also checks the route itself:
- The deposit contract and any approval spender must be on its contract allowlist, checked on the server and again in your browser.
- For THORChain, the vault and router address must match across two independent THORChain nodes, the memo must pay the destination you entered, and the deposit expires after at most one hour.
- Every transfer is tracked until it is delivered, refunded or failed, whichever page you are on.
Read cross-chain swaps for times and costs, and THORChain explained for native Bitcoin swaps.
Checklist before you bridge
Use the real site
Open the app from a bookmark. Fake bridge sites are a common phishing target.
Check the destination
Confirm the destination network and address. For Bitcoin and other native chains, paste an address from your own wallet on that chain and compare it in full: a transfer to the wrong address cannot be reversed.
Start small
For a new route or a large amount, send a small test transfer first and wait for it to arrive.
Plan for gas on arrival
You will need the destination network's gas token to use what you receive. If you hold none there, bridge a little of it as well.
Read the quote
Check the amount received, the fees and the estimated time. Very slow or very costly routes deserve a second look.
If a transfer seems stuck
Most transfers through Relay finish in seconds and most LI.FI routes in minutes. Native Bitcoin payouts wait for confirmations and can take longer. Canonical rollup bridges withdrawing to Ethereum can take about seven days by design.
Check the source transaction
Look up the hash on the source chain's block explorer. If it is pending or failed, the bridge has not started yet.
Check the status in your history
The history page shows the phase of each cross-chain transfer: pending on the source, in transit, delivered, refunded or failed.
Check the destination
Look up your address on the destination explorer. Funds sometimes arrive before a wallet refreshes, or arrive as a different token than you expected.
Contact the provider
If it is far past the estimated time, contact the bridge provider named in the quote with your source transaction hash.