Security
Superform enforces security at multiple layers: on-chain Merkle verification for keeper operations, timelocked governance updates, circuit-breaker PPS validation, role-based access control, and continuous invariant monitoring.Security Model
Dual Merkle Hook Validation
All keeper operations are gated by a dual Merkle tree system. A hook can only execute if the exact combination of hook address + parameters matches a leaf in one of two on-chain roots:| Root | Controlled By | Timelock | Scope |
|---|---|---|---|
| Global hooks root | SuperGovernor (governance) | 15 minutes | Protocol-wide hooks without beneficiary-specific arguments |
| Strategy hooks root | Curator (primary strategist) | 7 days | Vault-specific hooks including beneficiary-specific arguments |
PPS Oracle Security
Price-per-share updates pass through multiple validation layers before acceptance:- ECDSAPPSOracle validates EIP-712 signatures, quorum (≥ 2/3 weighted stake), and nonce binding
- SuperVaultAggregator checks future timestamps, pause state, and staleness
- Strategy-level checks enforce monotonicity, rate limiting, deviation bounds, dispersion thresholds, and upkeep balance
- PPS dispersion exceeds threshold (high standard deviation among validator submissions)
- PPS deviation is too large (absolute change from current on-chain value)
- Validator participation rate falls below minimum
- Updates are stale beyond the configured window
Access Controls
| Role | Permission |
|---|---|
| SuperGovernor | Protocol governance with strategy-level overrides; updates global hook root |
| Primary Strategist | Full vault control: hook whitelisting, fees, deposit/redemption processing |
| Secondary Strategists | Day-to-day operations, everything except hook whitelisting and fees |
| Guardians | Threat monitoring network; veto powers for hook root updates |
| Validators | $UP stakers that attest to PPS updates; subject to slashing for misreporting |
Timelock Protections
| Change Type | Timelock |
|---|---|
| Primary strategist updates | 7 days |
| Strategy hooks root | 7 days |
| Global hooks root | 15 minutes |
| Fee configuration changes | 7 days |
| Emergency withdrawal activation | 7 days |
| Post-unpause skim | 12 hours |
Emergency Controls
Strategy Pausing - Both primary and secondary managers can pause strategies immediately. Unpausing marks PPS as stale until a fresh oracle update is posted. Banned Hook Leaves - Individual Merkle leaves can be banned without regenerating the entire tree. This provides an immediate block on specific hook + parameter combinations. Guardian Veto - Guardians can veto both global and strategy hook root updates, providing rapid response to detected threats. Emergency Withdrawals - Managers can perform emergency withdrawals by adding hooks to the strategy hooks root and executing them.Cross-Contract Integrity
The SuperVault architecture enforces state consistency across contracts:- PPS Consistency - Vault uses strategy’s stored PPS for all share calculations
- Pause Propagation - Strategy pause state affects vault deposit limits
- Share Custody - Escrow holds shares during pending redemptions; only strategy (via vault) can burn escrowed shares
- Asset Custody - Escrow holds fulfilled assets until the user claims them
Monitoring & Invariants
All critical properties and invariants are tested through the GetRecon invariant suite using both Echidna and Medusa across >100 million runs. They are continuously monitored through Tenderly and cron-based monitors.Audits
Superform maintains a continuous audit program across both core and periphery contracts.| Auditor | Date | Scope | Report |
|---|---|---|---|
| Octane Security | November 2025 | v2-periphery | Report |
| 0xMacro | November 2025 | v2-periphery | Report |
| GetRecon | November 2025 | Invariant testing | Report |
| Spearbit | June 2025 | v2-core, v2-periphery | Report |
| Cantina Competition | June 2025 | Competitive audit | Report |
| Node Security | May 2025 | v2-periphery | Report |
| Orion Security | August 2025 | v2-core | Report |
| Sujith Somraaj | March 2025 | Independent review | Report |