DAO or corporate treasury
For treasuries where every drain is an authorised transaction that nobody authorised.
onboardTreasuryDetectors in play17Boundaries declared3Refusals at onboarding0How this sector loses money.
A treasury drain does not look like an attack, because structurally it is not one. There is no malformed transaction to catch, only an authorised one that nobody authorised. And it rarely begins with the withdrawal. It begins weeks earlier with an approve that moved no value and was reviewed by nobody.
- 16Deterministic rules
- 1Invariants
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.
onboardTreasury(platform, config)
7 configured
- 01Every Safe, multisig and treasury-owning contract monitored as one subject
- 02Governor and timelock monitored alongside the wallets they control
- 03Declared spend caps per token per window, net of internal transfers
- 04Approval blast radius: unlimited approvals, fresh spenders, flagged spenders
- 05Signer-set structure: overlap, delegatecall shape, fresh-account handovers, nonce reuse
- 06Timelock hygiene: queued critical actions, delay reductions, and bypass attempts
- 07Governance integrity: proposal creation and voting-power anomalies
- rules.safe-structure-delegatecall
- rules.multisig-signer-overlap
- rules.admin-authority-change
- rules.authority-handover-fresh-account
- rules.approval-blast-radius
- rules.unlimited-approval-fresh-spender
- rules.approval-to-flagged-spender
- rules.multi-token-sweep
- rules.proportional-drain
- rules.sanctioned-interaction
- rules.ecdsa-nonce-reuse
- invariants.event
- rules.timelock-critical-action-queued
- rules.timelock-delay-reduced
- rules.timelock-bypass
- rules.governance-proposal-created
- rules.governance-voting-power-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
Every Safe, multisig and treasury-owning contract enrolled as one subject, with the governor and timelock beside them. The spend cap per token per window is a number only your treasurer can state.
-
Step 2
Detect
The signal is structure and rate, because every drain here is an authorised transaction. Six measured signer features carry a baseline, so a coerced approval breaks a pattern even when it satisfies the threshold.
-
Step 3
Prevent
A declared timelock is the real breaker in this sector: it turns a detection into a window you can act inside. The guardian's bounded action is an outflow cap, armed only after the shadow period.
What runs underneath.
Event invariants carry this preset: a spend cap stays a policy until something evaluates it every block, net of internal transfers.
Scope DAO or corporate treasury 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.