The protocols below were audited before launch. The auditors found no critical vulnerabilities. The exploits happened after the audits concluded. This is not an indictment of auditors. It is a description of what audits can and cannot check. Audits examine code. They cannot examine what an oracle will return at runtime.
What Audits Cover and Do Not Cover
What a Smart Contract Audit Checks
- Logic errors in contract code
- Reentrancy vulnerabilities
- Integer overflow/underflow
- Access control implementation
- Function visibility
- State variable handling
- Known vulnerability patterns
What a Smart Contract Audit Cannot Check
- What the oracle will return at runtime
- Whether a price feed can be moved
- Flash loan capital available to attacker
- Liquidity in oracle source pools
- Governance token distribution
- Coordinated attacker behavior
- Input integrity at execution time
The audit certifies the code. It does not certify the runtime environment the code executes in. The attack surface that caused every exploit above was not in the code. It was in the data the code trusted.
This is not a criticism of audit firms. It is a description of the scope boundary of what code review can provide. A security researcher examining a contract cannot predict what an oracle will return when a well-capitalized attacker controls the liquidity in the source pool.
The Scale of the Problem
The audit industry is not failing. The attack surface has moved to a layer audits were never designed to cover. Code correctness is a solvable problem. Input integrity at runtime is a different problem requiring a different solution.
For protocols where computation inputs can be derived from chain state rather than external feeds, the oracle dependency is structurally absent. Not monitored. Not audited. Absent. The Markovian Protocol is built for that computation class.
See also: oracle-tax.html, seven exploits, $490M, one mechanism.
Technical Specification
The Markovian Protocol removes the oracle dependency for a specific computation class by deriving all inputs from chain state. No external feed. No manipulation surface. No audit gap at the input layer. Full construction in the whitepaper.