Notional Finance Hack
What happened
On September 4, 2026, lending protocol Notional Finance suffered an integer truncation and rounding error exploit on Ethereum, resulting in an estimated loss of $1.73 million in DAI and USDC, which the attacker swapped into 689.2 ETH and deposited into Tornado Cash.
The exploit targeted Notional Finance's escrow and fCash accounting mechanism via a combination of a free-collateral calculation rounding error and an integer downcasting flaw. The attacker executed a two-step transaction sequence calling the mintfCashPair() function. In the first call (mintfCashPair(1)), a small liability (-1) was rounded down to 0 during the DAI-to-ETH free-collateral conversion due to a rounding precision flaw.
In the second call (mintfCashPair(2^256 - 1)), the contract aggregated the account's liabilities in int256, producing a negative balance of $-2^{128}$. However, when validating free-collateral requirements, the valuation logic performed an unsafe downcast using uint128(balance.abs()). Because $2^{128}$ overflows a standard 128-bit unsigned integer, the massive liability truncated directly to zero.
This bypassed the protocol's collateral checks entirely, allowing the attacker to draw down 69,257 DAI and 1,658,525 USDC from the escrow contract. The attacker then consolidated the stablecoins, converted them to 689.2 ETH, and routed the funds into Tornado Cash across multiple transactions.
Setup Transaction: 0xe1589a19…25d60a
Case & protocol details
Evidence & learning
Sources and on-chain records
- report Report x.com
- report Report x.com
- report Report x.com
Practice this exploit pattern safely
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.