UpYield Finance Docs
  • What is UpYield Finance
    • Why UpYield Finance
    • How is Yield Generated
  • FAQ
  • How It Works
    • Connecting your Wallet
    • Choosing a Vault
    • How to Deposit
    • How to Withdraw
  • Products
    • Basic Vaults
      • Covered Calls
      • Protective Puts
      • RWA Yield
      • Market Neutral Liquid Staking
    • Advanced
      • Delta-Hedge Liquidity Provision
      • Covered Call Spread
      • Iron Condor
      • Shark Fin
      • Diagonal Spread
      • Collar
      • Collaterized Debt
      • Uncollaterized Debt
  • The Protocol
    • Vaults Architecture
    • Vault Lifecycle
    • Smart Contract Architecture
    • Smart Contract Addresses
    • Strike Price Selection for Options
    • Options Settlement
    • Cross-Chain Execution
    • Protocol Fees
  • UpYield Finance DAO
    • Governance
    • DAO Treasury
    • Tokenomics
  • Security and Risk
    • Risks
    • Audits
    • Best Practices
Powered by GitBook
On this page
  1. The Protocol

Smart Contract Architecture

PreviousVault LifecycleNextSmart Contract Addresses

Last updated 1 year ago

The protocol is built using a modular and extensible architecture, allowing for easy implementation of new strategies. Vault contracts are separated from the Strategy contracts. Vaults manage the funding part - deposits, withdrawals etc. While the strategy contracts abstract the trading strategy part. A vault could implement multiple strategies. This is a design that is also used by Yearn Finance.

  • BaseVault - base vault contract managing deposits and withdrawals

  • OptionsVault - a generic contract for options based vaults

  • VaultRegistry - registry managing vaults lifecycle

  • Strategy - implements a trading strategy. a vault can have one or many strategies

  • VerticallCallSpreadStrategy - a specific strategy

  • OptionPriceOracle - base interface for option pricing data

Vault contracts are upgradable, using the upgradable proxy pattern: . This is to avoid the need to migrate clients and their funds to new vaults if a change is needed. Every contract upgrade is controlled by the UpYield Finance DAO and its representatives.

https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable