Read the Audit Report First: The 10-Minute Shortcut That Saves Hours

There's a lending protocol called CapyFi. It has a whitelist mechanism that restricts who can mint the protocol's tokens — only approved liquidity providers can supply funds. I spent two hours documenting what I was convinced was a whitelist bypass vulnerability: an edge case where a user could mint without being on the whitelist through a specific combination of deposit and redemption operations.

Then I downloaded the Coinspect audit PDF. Page seven: "Finding CAPY-02 — The access restriction on minting is an intentional design decision that dictates who can supply liquidity to the protocol."

Two auditors. Six months prior. Had flagged it, been told it was intentional, and documented the decision in a PDF that had been public the entire time.

That was my most expensive lesson in the value of audit reports. It was also the fastest I ever lost two hours.

What audit reports actually contain

Every serious DeFi protocol that has run a professional audit has a report. These reports are usually public — posted on the auditor's website, linked from the protocol's documentation or GitHub, sometimes indexed on databases like Solodit. They document:

That last category — intentional design decisions — is the one that saves the most time. When a protocol team tells their auditors "yes, we know about this, it's intentional," they usually explain why. That explanation is exactly what you need to not file the same finding as a bug three months later.

The CapyFi failure, unpacked

Here's what would have prevented the two-hour waste:

Step 1: Look up CapyFi audit reports
         → Coinspect (June 2025), OpenZeppelin (July 2025)
         → 2 audits in 6 months = well-covered protocol

Step 2: Scan for "mint" in the PDFs
         → CAPY-02: whitelist bypass, acknowledged as intentional
         → CAPY-07: access control on redeem, same pattern

Step 3: Update search criteria
         → If whitelist bypass is documented intentional: skip
         → Focus on interaction patterns not present in either audit

Total time: about ten minutes. Time saved versus starting the audit blind: two hours. That's a 12x efficiency ratio. There's almost no other optimization that delivers 12x.

The protocols that need this most

Not every protocol has audit reports. New protocols (launched in the last 6 months), small protocols, and protocols that skipped auditing to save money may have no public reports. For these, there's no shortcut — you have to start from scratch.

But protocols with 2+ recent audits are a different category. They have:

For a protocol with two audits in the last six months, I now spend more time reading the reports than reading the code. The reports tell me what's already known. The remaining alpha is in what the auditors missed — which tends to be cross-module interaction bugs, post-deployment state changes, and protocol-specific edge cases that require deep knowledge of the system.

The decision rule: If a protocol has 2+ recent audits, download every PDF first. Scan for acknowledged-but-won't-fix findings. These are your main duplicate risk. Then focus your audit time on integration points and state transitions the auditors didn't test deeply.

Where to find audit reports

Most reports are findable in one of these places:

For Cantina programs specifically, I check whether the program is linked to any prior audit contests — Cantina itself runs both competitive audits (many researchers) and private audits (one firm), and the findings from competitive audits are often public and searchable.

What you can still find after 2 audits

Reading audit reports doesn't make a protocol unauditable — it makes your audit more targeted. The findings that survive two professional audits tend to be:

None of these are easy. But they're the right category to search. The alternative — re-auditing patterns that are already documented — wastes time and damages credibility when you file a duplicate of a finding that was publicly acknowledged eighteen months ago.

Read the PDF first. Every time. It takes ten minutes and it's always worth it.