Smart Contract & Protocol Exploits
The contract worked perfectly. That was the problem.
A protocol exploit is rarely a bug in the romantic sense. It is a contract executing its stated rules against an input nobody modelled — a price that can be moved, a sponsor that pays for anything, a delegation that outlives its purpose.
The cases below share a structure: an assumption written into code, an attacker who reads code better than the reviewers did, and a window measured in blocks. Two of them are repeat incidents, which is its own lesson about remediation.
Documented cases in detail
Not every token loss comes from a scammer talking to you: how MEV sandwich bots skim retail swaps purely by front-running swaps on Base and Arbitrum.
How it works
The assumption
A price feed is trusted, a caller is trusted, a gas sponsor is unlimited. The assumption is invisible because it was never written down as one.
The manipulation
Flash-borrowed capital, a crafted call sequence, or a delegated account turns the assumption false for exactly one block.
The repeat
The patch addresses the symptom. The class of bug stays, and the same protocol is hit again weeks later.
Investigations in this vector
Lumi Finance: $264K Approved Without A Single Signature
An attacker-controlled ERC-4337 paymaster minted approvals during validation and drained about $264K from Lumi Finance smart accounts.
Read the investigationSolido Money: Priced By A Broken Mirror, Drained Twice
Solido Money on Supra: 809,052 $CASH minted via oracle manipulation, then the same trick repeated across 5 wallets hours later.
Read the investigationVerus & Ostium: Same Key, Second Exploit [2026]
Verus and Ostium were exploited twice within weeks. The patches closed the door the attacker used — not the one next to it.
Read the investigationEIP-7702 Drainer: One Signature Empties a Wallet
One signature on a Pectra EIP-7702 delegation hands over your whole balance. The exact prompt you will see, the 0x04 payload, and how to revoke it.
Read the investigationRed flags
- A single price source, or an oracle with thin liquidity behind it.
- Gas sponsorship or fee abstraction without per-user limits.
- Audit scope that excludes the module handling the money.
- A previous incident whose post-mortem promised process changes rather than code changes.
- Admin functions reachable without a timelock.
If it already happened
- 1.Withdraw from the affected pools before secondary liquidations cascade.
- 2.Revoke approvals to the exploited contract, including any router in front of it.
- 3.Record your position at the incident block; reimbursements are settled from a snapshot.
- 4.Read the post-mortem for the bug class, not the patch — the class predicts the next incident.
Related vocabulary
Got a suspicious message, link or token?
Paste it into the free detector. No signup, no cost, answer in seconds.