Each way attackers got in, the controls that answer it, and how to check a control is really in place. Built from 3,121 counted thefts ($35.26B) and public security guidance.
Most thefts are code bugs; most dollars go through keys and accounts.
IN PLAIN WORDSBugs in code happen most often (37% of thefts) but each one is usually small. Stolen keys and hacked machines are rarer, yet they took 47% of all the money. So the biggest wins come from guarding keys, not only from checking code.
Bars by year: dollars stolen that year through that way in, scaled per box. Check against an outside count: Chainalysis puts 43.8% of 2024's stolen funds through private key compromise; here keys and accounts hold 33% of 2024, and 65% with signer phishing, where sources file some key thefts (DMM Bitcoin, $305M) as phishing.
Where to look now
IN PLAIN WORDSSome kinds of attack are growing and some are fading. Each line is one control: the hollow dot is how often its kind of attack happened from 2021 to 2024, the filled dot since 2025. Red lines are growing: check those controls first.
Base: 1,607 counted thefts from 2021 to 2024, 812 since 2025, insiders left out (the sources stopped listing most rug pulls after 2024, so their fall is coverage, not safety). *Dollars leave out each window's single largest theft (Ronin Bridge, Binance CEX), which would otherwise decide the whole line. Individual phishing is undercounted here: CertiK counted 248 phishing incidents in 2025 against a handful in these lists, so the phishing lines are a floor.
Self-check
IN PLAIN WORDSTick the controls you already have. The first bar shows how much of the money stolen so far went through holes those controls close; the second, how ready you are to catch an attack and get money back. Pick who you are to see only your controls. Your ticks stay in this browser only.
Prevent: past losses answered0%
Detect and respond: ready0%
Prevent boxes carry the dollars of the methods they answer; detect and respond boxes split their way in's share.
What came back
IN PLAIN WORDSAfter a theft, money comes back in four ways: the attacker returns it (often for a bounty), an issuer or exchange freezes it, police seize it, or the platform pays users back. Attackers give money back most often after bridge and cross-chain thefts (5% of them), so a bounty offer is worth having ready. Money taken by insiders comes back in <1% of dollars.
Way inDollars back, as sources stateBackThefts by outcome
Keys, accounts and infrastructure
18%Returned by the attacker 10Frozen 21Recovered or seized 23Users reimbursed 31
Smart contract bug
27%Returned by the attacker 51Frozen 14Recovered or seized 38Users reimbursed 32
Phishing and scams
9%Returned by the attacker 1Frozen 4Recovered or seized 3Users reimbursed 3
Insiders: rug pulls, frauds, collapses
<1%Returned by the attacker 1Frozen 4Recovered or seized 6
Other
7%Returned by the attacker 4Frozen 1Recovered or seized 3Users reimbursed 2
Bridge and cross-chain
44%Returned by the attacker 5Frozen 5Recovered or seized 4Users reimbursed 7
Price, oracle and governance
10%Returned by the attacker 11Frozen 9Recovered or seized 10Users reimbursed 5
$5.99B of $35.26B came back in all, as sources state it (17%). Outcomes are read from source descriptions and are a floor: many returns are never reported back to the lists. Thefts by outcome: incidents whose description names that outcome.
Keys, accounts and infrastructure
The contracts work as written: the attacker holds a key, or a machine or service that can use one. 618 thefts, $16.72B (47% of counted dollars).
Of 158 code-bug thefts whose audit status a source states, 67 had no audit, 46 were hit in code the audit did not cover, 43 were audited with the scope not stated, and 2 in audited code. Audit scope matters as much as the audit.
Controls: prevent, detect, respond
Phishing and scams
A person is led to approve, run or reveal something: a signer, an employee, a holder. 160 thefts, $4.05B (11% of counted dollars).
IN PLAIN WORDSMost phishing steals from one person at a time, so it rarely makes the hack lists this data comes from. A firm that watches wallet-drainer sites counts far more. The top bar is their count, the bottom bar is ours: the gap is what this page cannot see.
The two do not count the same thing: Scam Sniffer counts drainer signatures on EVM chains (no address poisoning, no fake support), this dataset counts the cases the hack lists carry, on any chain. Some of ours are theirs (the $55.5M setOwner theft of August 2024 is in both). Scam Sniffer publishes yearly totals and a few cases dated by month, with no reuse licence, so they are shown here as a reference and not added as incidents. Their 2025 drop (−83%) is their finding, not ours.
Review methods and what they cover
IN PLAIN WORDSDifferent checks catch different holes. A code audit cannot see a stolen key, and a key review cannot see a bug. Pick checks so every coloured column has a dot.
Method
Keys
Smart
Phishing
Insiders:
Other
Bridge
Price
Past $ in reach
Code audit, scope matched to the deployed code
·
·
·
·
24%
Invariant fuzzing or formal verification
·
·
·
·
24%
Fork test of flash loan and oracle attacks
·
·
·
·
·
·
4%
Key inventory and key ceremony review
·
·
·
·
·
52%
Signing drill with an independent second check
·
·
·
·
·
59%
Access review: staff, partners, CI and hosting
·
·
·
·
63%
Phishing and red-team exercise
·
·
·
·
·
59%
On-chain monitoring with a pause runbook
·
·
·
72%
Owner powers and liquidity lock read
·
·
·
·
·
·
11%
Past $ in reach: the counted dollars of the ways in the method looks at. It is an upper bound: a method in reach of a hole still has to be done well to find it.
Losses and methods are this dataset's counted thefts, with each method as the first source names it; a control's dollars are the losses of the methods it answers, split between controls that answer the same method. Detect and respond controls split their way in's share evenly and count toward the second score. A control marked "from the data" is this site's reading of repeated cases, without an outside standard behind it. Guidance is general: it is not an audit of any system and does not promise a control would have stopped a given theft.
Cite this pageSwanBluechip, "What would have stopped them", Crypto hack history, https://swan-hack-tracker.pages.dev/history/defend/ (data as of 2026-10-31).
Phishing and scams
A person is led to approve, run or reveal something: a signer, an employee, a holder. 160 thefts, $4.05B (11% of counted dollars).
Methods, by dollars
Largest cases
Bybit 2025 · $1.46BFTX 2022 · $477MDMM Bitcoin 2024 · $305MCrypto holder loses $283 million to scammer impersonating wa 2026 · $282MControls: prevent, detect, respond