DeFi protocols
For protocols whose contracts passed, and whose oracle, admin key and eighteen-month-old approval were never in scope.
onboardDefiProtocolDetectors in play13Boundaries declared3Refusals at onboarding0How this sector loses money.
Your audit certified the code as written. It did not certify the oracle you read, the admin key that can replace the implementation, the timelock somebody shortened last quarter, or the approval a contributor granted eighteen months ago and never revoked. Every one is a live path into a contract that passed.
- 9Deterministic rules
- 2Invariants
- 1Simulation
- 1Models
What the preset configures.
One command, and this is its output. The identifiers at the foot are real, so you can diff them against the catalogue rather than trust the list.
onboardDefiProtocol(platform, config)
7 configured
- 01Archetype-specific invariants: lending, AMM or vault, declared at onboarding
- 02Atomic value conservation across declared holders, with an explicit fee tolerance
- 03State invariants on oracles and on every value the protocol treats as authoritative
- 04Full authority surface: admin changes, EOA role grants, upgrade diffs, uninitialised proxies, critical selectors
- 05Timelock hygiene: queued critical actions, delay reductions, and bypass
- 06Drainer-outcome simulation on forked state, before inclusion
- 07A guardian circuit-breaker module you deploy, own and can revoke
- inv.atomic-value-conservation
- invariants.state
- rules.reentrancy
- rules.upgrade-implementation-diff
- rules.uninitialized-proxy
- rules.admin-authority-change
- rules.role-granted-to-eoa
- rules.critical-selector
- rules.timelock-critical-action-queued
- rules.timelock-delay-reduced
- rules.timelock-bypass
- sim.drainer-outcome
- ml.fundflow-anomaly
The perimeter, stated in writing.
Every edge, and the control that closes it. This is the list your auditor and underwriter will ask for, so it sits on the public page rather than an appendix.
How it goes live.
Three rungs, in order, and each one written for this preset rather than for presets in general.
-
Step 1
Scope
The archetype is declared, never guessed: lending, AMM or vault. It decides what correct means, and with it the holder set for value conservation and the fee tolerance that separates a swap from a drain.
-
Step 2
Detect
The invariants you declared run every block, and a proposal is judged on what it executes against forked state, not on what its forum thread claims. Value conservation does not care whether the call was authorised.
-
Step 3
Prevent
The guardian module is yours: you deploy it, you own it, you revoke it in one transaction. Its one pre-authorised action, pausing a named market, is fixed before anything is armed.
What runs underneath.
The customer-owned breaker is the piece that changes your worst hour, because a finding you cannot act on is a receipt with better timing.
Scope DeFi protocols coverage.
Every engagement is scoped by the team, and onboarding is performed by operators. There is no self-serve door, and that is a security decision first.