Skip to main content

Architecture

Overview

Unbound consists of two main smart contracts that work together to provide leveraged vault functionality:

Contract Details

UnboundVault

Purpose: User-facing contract for deposits and withdrawals. Implements ERC-4626 tokenized vault standard. Key Responsibilities:
  • Accept user deposits
  • Mint/burn vault shares
  • Track user positions
  • Coordinate with Executor for leverage operations
  • Collect performance fees
Storage:
struct Storage {
    underlying_asset: ContractAddress,  // wBTC
    debt_asset: ContractAddress,        // USDC
    vesu_pool: ContractAddress,
    executor: ContractAddress,
    paused: bool,
    performance_fee_bps: u256,
    treasury: ContractAddress,
}

FlashLoanExecutor

Purpose: Handles the flash loan callback and executes the leverage/deleverage operations. Key Responsibilities:
  • Receive flash loans from Vesu
  • Execute swaps via AVNU
  • Manage Vesu position (deposit collateral, borrow debt)
  • Ensure atomicity of operations
Security: Only the Vesu Pool can call on_flash_loan.
fn on_flash_loan(
    sender: ContractAddress,  // Must be Vault
    asset: ContractAddress,   // USDC
    amount: u256,
    data: Span<felt252>       // Operation details
)

External Integrations

Vesu V2

Vesu is Starknet’s lending protocol used for:
FunctionUsage
flash_loanGet USDC without collateral
modify_positionAdd collateral / borrow debt
positionQuery current position state
priceGet asset oracle prices
Pool Parameters (wBTC/USDC pair):
  • Max LTV: 86%
  • Liquidation Factor: 90%
  • Borrow APR: Variable (~1.8%)
  • BTCFi Rewards: ~1.4% (reduces net cost)

AVNU

AVNU is a DEX aggregator for optimal swap execution:
FunctionUsage
multi_route_swapExecute USDC ↔ wBTC swaps
Why AVNU?
  • Best execution across multiple DEXs
  • Single transaction for complex routes
  • Built-in slippage protection

Data Flow

Position Creation

Position Closure

Trust Model

EntityTrust LevelWhy
Vault OwnerHighCan pause, set fees
ExecutorMediumOnly vault can trigger operations
VesuCriticalHolds all collateral and debt
AVNUMediumSwap execution only
UserNone neededPermission-less interaction

Upgrade Path

Current contracts are not upgradeable. To upgrade:
  1. Deploy new vault with updated logic
  2. Users withdraw from old vault
  3. Users deposit to new vault
This ensures users always have full control over their assets.