← Back to archive
Hack·resolved

Euler Finance Hack — March 2023

A flash-loan exploit of a missing solvency check drained $197M from the Ethereum money market — and was returned in full within three weeks after the protocol's public negotiations with the attacker.

Euler Finance was a non-custodial money market on Ethereum that allowed permissionless listing of ERC-20 tokens as collateral and borrowable assets. Each market had associated risk parameters and a borrowing/collateralisation logic that referenced an internal account-health calculation.

On 13 March 2023 an attacker exploited a missing solvency check in the protocol's 'donateToReserves' function. By using flash-borrowed funds to manipulate their account state and donating to reserves before triggering liquidation, the attacker was able to extract approximately $197M of underlying assets — primarily DAI, USDC, stETH and wBTC.

The protocol immediately offered a 10% whitehat bounty for return of the remaining funds. Public on-chain messages between Euler and the attacker followed. On 18 March the attacker began returning funds in tranches; the process continued through 4 April. The final on-chain message from the attacker's address read: "I am sorry for the chaos and harm I have caused".

The motivation for the return has been the subject of considerable speculation. Public reporting later identified Chainalysis-led tracing efforts and direct contact between Euler's legal team and the attacker as factors. No public prosecution has been disclosed.

Timeline

  1. Flash-loan attack drains $197M

    Attacker exploits missing solvency check in 'donateToReserves' across six transactions over 22 minutes.

  2. Euler offers 10% whitehat bounty for return

    Public on-chain message offering to drop legal claims in exchange for return of 90% of stolen funds.

  3. Attacker begins returning funds

    First on-chain transfers from attacker addresses back to Euler.

  4. Final tranche returned; full recovery

    All stolen funds returned. Attacker's closing on-chain message: "I am sorry for the chaos and harm I have caused".

Who was involved

Legal record

Structural failures identified

Related records