Overview

Flexible Vaults are built on a modular, upgradeable architecture that enables seamless integration with new protocols. The system is designed to offer dynamic permission management for curators, allowing precise and adaptable control over what actions can be performed — without compromising on safety or decentralization goals.

This architecture implements a fully-featured liquid vault with the following capabilities:

  1. Granular Role-Based Access Control – Vault behavior is governed by configurable roles and permissions that define what users and curators are allowed to do
  2. Deposits – Users can convert supported assets into vault shares via a request queue mechanism
  3. Withdrawals – Shares can be redeemed back into underlying assets, subject to queue processing and oracle pricing
  4. Delegated Yield Strategies – Curators can interact with external protocols to generate yield on the liquidity in the vault

Untitled-2024-12-09-1929.png

Granular Role-Based Access Control

Flexible Vaults introduce Verifier.sol, a call-level permission control system. It determines whether a curator (CALLER_ROLE holder) is allowed to make specific calls based on the verification type:

Verification Types

  1. ONCHAIN_COMPACT
  2. MERKLE_COMPACT
  3. MERKLE_EXTENDED
  4. CUSTOM_VERIFIER

Built-in Custom Verifiers