Curriculum·J306 Smart Contract Risk for Non-Developers·about 32 min

Audits

By the end of this lesson you can

  • State what an audit covers and what it explicitly does not
  • Compute what a critical bug surviving many audits implies about catch rate or independence
  • Read an audit report for scope and date rather than for its conclusion
  • Separate implementation risk, which audits address, from design risk, which they do not

Junior · enrolled learners

This lesson opens with Euler Finance, 13 March 2023.

What happened
Euler was a lending protocol whose contracts had been reviewed by Halborn, Solidified, ZK Labs, Certora, Sherlock and Omnisica between May 2021 and September 2022, with additional work by Pen Test Partners. Its chief executive stated afterwards that the protocol had been through ten audits in two years. Halborn's December 2022 review inspected 23 smart contracts over a month and reported an overall satisfactory result, with two low risks and three informational findings and nothing rated higher than low. On 13 March 2023 an attacker used a flash loan against the donateToReserves function, which lacked a liquidity check, and took approximately $197M, the largest single loss of that year. Several weeks later the attacker returned the funds and all recoverable assets were restored to Euler's treasury.
The decision point
Ten reviews by six firms across two years did not find it. That outcome is only consistent with two possibilities, and both are useful. Either each review catches a much smaller fraction of vulnerabilities than the word audit implies, or the reviews are not independent attempts and largely re-examine the same surface in the same way. The arithmetic in this lesson shows that the second explains the result more easily than the first, which means adding audits does far less than the count suggests.
Recorded loss
$197,000,000

What you will be able to answer

  • What does an audit cover?
  • What does a bug surviving ten audits imply?
  • What should you read in an audit report?
  • Which risks does an audit not address?

Orientation and Year One are open: anyone can read them without an account. From Year Two onward the lessons are for enrolled learners, because progress through the later years only means anything if it is tracked against a record.

It is free. We do not sell the list and there is nothing to buy at the end of it.

Sources and review

Confidence high·Volatility low·Reviewed 2026-08-06·Owner unassigned

Contested

The count of ten audits is the protocol founder's own statement as reported afterwards, and the named firms and dates come from the protocol's published materials. The lesson's argument holds at any count above about five, and does not depend on the exact figure.

This lesson is not an argument that audits are worthless. They reliably catch common implementation classes and they force specification, both of which are real. The argument is about what the marginal audit buys and about which risk categories are outside the exercise entirely.