Notional Finance Loses $1.73 Million in V1 Contract Bug
The attack hit an old escrow contract on Ethereum; the stolen funds were converted to ETH and moved through Tornado Cash. The incident highlights the risks of legacy smart contracts, even after earlier audits.

Key Takeaways
- Notional Finance lost about $1.73 million in an exploit of an old V1 escrow contract.
- A raw uint128 conversion bug caused a fabricated debt to be recorded as zero, letting the attacker withdraw funds.
- The stolen DAI and USDC were converted into about 689 ETH and then moved through Tornado Cash.
Notional Finance was hit Friday by an exploit that let an attacker drain about $1.73 million (€1.5 million) from an old escrow contract. The attack centered on a bug in the V1 code, which caused a huge fabricated debt to be recorded as zero. The stolen DAI and USDC were then converted into about 689 ETH and moved through Tornado Cash.
Bug in Old Code
Notional Finance is a fixed-rate lending protocol on Ethereum. In the first version, the system worked with fCash, a way to record future cash obligations. For extra loans, the protocol first checked whether a user had enough collateral.
According to QuillAudits' analysis, things went wrong in a raw uint128 conversion during that check. Two mint transactions added up to exactly 2 to the power of 128, which is the value that converts to zero in that conversion. As a result, the account suddenly appeared debt-free, even though it was not in reality. A safer check had already been used elsewhere in the same file.
Etherscan shows that the setup was put in place Thursday at 23:58 UTC and that the withdrawal followed three minutes later. In the process, 69,257 DAI and 1,658,524 USDC were taken from the escrow. The attacker also paid a 0.07 ETH tip to block builder Titan to have the transaction processed privately.
Old Contract Held Funds
What stands out is that this was a legacy contract that was still holding real value. Notional had already phased out its third version after the Balancer exploit in November 2025, but the V1 contracts stayed live and funded. No one had removed those funds.
The attack fits into a broader pattern where smart contract bugs can cause major damage. A similar case happened in 2018 at BeautyChain, where an overflow bug led to massive token creation and the token's value collapsed. The route through Tornado Cash also shows how hard it can be to track stolen crypto afterward.
Why This Matters
For European crypto readers, this is especially relevant because it shows that old contracts can remain a lasting risk, even if a protocol has later been updated or partly phased out. An earlier audit does not automatically protect against a bug that is still present in an older version. At the time of publication, Notional had not yet shared a public statement, loss report, or post-mortem.