Notional Finance V1 Integer Overflow
An attacker exploited an unchecked integer-overflow cast in Notional Finance's deprecated V1 Escrow contract to bypass collateral checks and drain about $1.7 million in USDC and DAI on Ethereum.
- Date
- Victim
- Notional Finance
- Chain(s)
- Status
- Funds Stolen
On September 3, 2026, Notional Finance lost roughly 1.65 million USDC and 69,000 DAI — approximately $1.7 million — after an attacker exploited an integer-overflow bug in the protocol's deprecated V1 Escrow contract on Ethereum.
What happened
Notional is a fixed-rate lending protocol whose positions are represented as ERC-1155 tokens called fCash. Although Notional V1 was publicly deprecated in January 2022 when V2 launched, its Escrow contract (0x9abd0b8868546105F6F48298eaDC1D9c82f7f683) still held residual user deposits and left withdrawals open indefinitely.
The flaw lived in the mintfCashPair path, inside the routine that turns a debt balance into an ETH-denominated solvency check. An unchecked uint128 cast truncated the balance, so an attacker who engineered a debt of exactly 2^128 could make the largest possible liability register as zero. Using that trick the attacker:
- Created a large debt in one account.
- Bypassed the collateral check on that account, because the truncated debt read as zero.
- Transferred the unbacked collateral position to a second account.
- Drained the residual USDC and DAI sitting in the V1 Escrow.
The stolen stablecoins were swapped into roughly 689 ETH and funnelled through Tornado Cash.
Aftermath
Notional paused the V1 contract to protect remaining balances, shipped a patched version, and engaged US law enforcement and incident-response firm Zero Shadow to trace the funds. As of the team's post-mortem, none of the money had been recovered.
Why it matters
Notional joins a long line of DeFi losses caused by integer-truncation and rounding-direction bugs that let debt or collateral be misvalued — the same failure class behind Abracadabra, zkLend and Alpha Homora. It is also a reminder that deprecated contracts are not dead contracts: code frozen and forgotten in 2022 still guarded live user funds in 2026, and an unchecked cast in that legacy code was all an attacker needed.
Sources & on-chain evidence
- [01]blog.notional.financehttps://blog.notional.finance/notional-v1-exploit-post-mortem/
- [02]cryptotimes.iohttps://www.cryptotimes.io/2026/09/07/crypto-hacks-cross-322m-in-septembers-first-week-as-liquid-network-alone-loses-320m/
- [03]beincrypto.comhttps://beincrypto.com/notional-finance-exploit-integer-overflow-bug/
- [04]cryptorank.iohttps://cryptorank.io/news/feed/38cc9-notional-finance-exploit-integer-overflow-bug
- [05]medium.comhttps://medium.com/coinmonks/notional-finance-1-73m-free-collateral-integer-overflow-exploit-explained-7f2e4eb8aadc