Developers

Security

The Dera Protocol's security architecture, external audit, access control model, and upgradeability constraints.

Safety Mechanisms

Multisig

All admin-level actions are protected via a multi-signer multisig using hardware wallets. Roles include technical lead, compliance, external security advisor, and operations. No unilateral action by any single team member is possible under any circumstances.

Safety Escrow

The DeraSafetyEscrow contract acts as an emergency withdrawal route if a primary connector fails or becomes unresponsive. It bypasses standard connector logic to prioritise capital recovery and user fund accessibility, and is controlled exclusively by DeraEngine.

Pausable Connectors

Individual connectors can be paused without affecting the broader protocol — used during exploits, anomalous behaviour, or maintenance in connected third-party protocols. This isolates risk at the pool level while the broader system and all user redemptions remain unaffected.

Access Control

The protocol implements layered access control using OpenZeppelin V5 primitives across two patterns:

  • Ownable2Step (DeraEngine). Ownership transfer requires two explicit steps — transferOwnership(newOwner) followed by acceptOwnership() — preventing accidental or malicious privilege assignment.
  • AccessControlDefaultAdminRules (DERA1 & DeraAdmin). Scoped role permissions including ENGINE_ROLE and ADMIN_ROLE. Only DeraEngine can mint or burn DERA tokens — no other address holds this permission under any circumstances.

All external user functions implement OpenZeppelin's nonReentrant modifier, preventing double-spend and re-entrancy attacks.

External Audit

Core protocol smart contracts were independently audited by Hacken (commit hash 4b04fec66620b39bcb67ca0686af0a8a3ef60821). The audit returned scores of 10/10 across security, code quality, and documentation, with 100% test coverage. Two findings were identified — one medium and one low severity — both resolved prior to mainnet deployment.

Post-Audit Additions

The protocol has been extended significantly since the initial audit; all additions follow the same security architecture as the audited core:

  • DeraSafetyEscrow contract
  • Aave, Compound, and Fluid protocol connectors (replacing Beefy)
  • Pausable connector mechanism
  • Role-based access control
  • Chainlink oracle integration for TVL calculation
  • Fund recovery mechanism
  • OFTv2 cross-chain integration via LayerZero
  • USDC adopted as the primary underlying asset (replacing USDT)
  • setNewEngine() for engine logic upgrades

Upgradeability

Immutable Elements

  • Core DERA1 token logic once deployed
  • User DERA balances
  • USDC_TOKEN_ADDRESS
  • DERA_SAFETY_ESCROW_ADDRESS

Adjustable via Governance

  • Pool allocation weights, additions, and removals
  • Withdrawal service fee, capped at 1%
  • Whitelisted deposit tokens and fee recipient address
  • Performance fee percentages and withdrawal intervals
  • Protocol connector logic via UUPS proxy upgrade

Engine Migration

setNewEngine() transfers ENGINE_ROLE across all connectors, the DERA1 contract, and the Safety Escrow to a new engine address. This enables full engine logic upgrades while preserving all user balances and existing contract state.

The current live engine is 0x275a898967b4f430f813582ad743cc285ea8b014, reached after three setNewEngine() migrations from the original deployment. The Dera homepage reads its exchange rate directly on-chain.

Bug Bounty

Dera operates a community bug bounty programme. Valid vulnerability disclosures are reviewed and rewarded at the core team's discretion. Submissions should be directed to security@dera.fi.