Euler Finance intends to put out a $1 million bounty on the hacker who stole nearly $200 million from the DeFi platform earlier this week — unless they return nearly all of it.
“If 90% of the funds are not returned within 24 hours, tomorrow we will launch a [$1 million] reward for the information that leads to your arrest and the return of all funds,” Euler wrote in an on-chain message to the hacker.
The bounty message followed a separate on-chain note sent on Monday: “We understand that you are responsible for this morning’s attack on the Euler platform. We are writing to see whether you would be open to speaking with us about any potential next steps.”
Earlier on Monday, hacker(s) had executed what’s known as a flash loan attack. These involve rapidly borrowing and returning crypto within one block while exploiting a smart contract vulnerability to receive an unintended amount of crypto.
In Euler’s case, the attack saw around $197 million siphoned from its Ethereum-powered lending protocol — mostly wrapped staked ether along with smaller amounts of USDC, wrapped bitcoin, wrapped ether, DAI and lido staked ETH.
Independent researcher ZachXBT tweeted that he was certain the attack was conducted by malicious hackers, “as they were exploiting some random protocol on [Binance Smart Chain] a few weeks ago” with funds deposited to Tornado Cash.
Euler states on its website that it had partnered with six security firms, but it appears those protections weren’t enough.
The vulnerability lay within the “donateToReserve” function in the Euler Pool contracts, according to blockchain security firm CertiK.
This function is said to lack proper checks of the liquidity collateralization status, with the result being that users could willingly abandon a portion of the leveraged deposit, which would leave the pool insolvent.
“With assets borrowed from the flash loan, the attacker first created a highly leveraged insolvent position through the unique ‘mint’ function of the Euler lending protocol as well as the vulnerable ‘donateToReserves’ function within Euler’s pool contracts,” CertiK said.
“The attacker then liquidates their position in the same transaction to gain a large amount of derivative eTokens before draining the pool through withdrawal. The attacker repeatedly calls the attacks on multiple Euler Pools to drain all of them.”