MORE
  • Introduction
  • MORE Vaults
    • Vaults Framework
      • Diamond Standard (EIP-2535)
      • Component Interactions
      • Upgrade & Governance Flow
    • Core Protocol Components
      • Factory
      • Core Facets
      • Registries
      • Internal Libraries
      • Accounting
    • Connectors
      • AMMs & DEXes
      • Staking
      • Lending
      • Leverage
      • Oracles
      • External Interfaces
      • Multicall
    • Security & Governance
      • Roles & Access Control
      • Upgrade Flow & Timelock
      • Configuration Guard Rails
      • Registries as Boundaries
      • Error & Event Catalogue
    • Developer Workflows
      • Deploying a New Vault
      • Extend with New Facets
      • Indexer Integration
    • Reference & Glossary
      • Event Index
      • Capabilities
      • Terms & Abbreviations
      • Contracts
  • MORE Markets
    • Markets Framework
      • Liquidity Protocol
      • Supply
      • Borrow
      • Repay
      • Withdraw
      • Liquidations
      • Flash Loans
      • Risks
    • Markets
      • Liquidity Pool
      • Reserve
      • Incentives
      • Oracles
    • Contracts
    • Build
  • Resources
    • Code, Licenses & Audits
    • Brand Assets
  • Privacy Policy
  • Terms of Use
Powered by GitBook
On this page
  • Aave v3 (and forks like MORE Markets)
  • Lifecycle Inside a Vault
  1. MORE Vaults
  2. Connectors

Lending

MORE Vaults tap into on-chain lending infrastructure through a dedicated lending facet that speaks to external money-market pools on the vault’s behalf. The result is a repeatable playbook:

  1. Supply collateral from the vault’s asset list.

  2. Draw loans against that collateral.

  3. Repay or roll the debt as strategy logic evolves.

  4. Claim protocol rewards (if any) and feed them back into share value.

All steps inherit the vault’s familiar guard rails including role checks, asset whitelists, timelocks, etc. so risk parameters are enforced.


Aave v3 (and forks like MORE Markets)

MOREMarketsFacet is shipped as a gateway to multiple money markets. Rather than hard-coding “Aave”, the facet accepts a pool address on every call. Strategy code decides which pool to use and the vault enforces how the call is made.

  • Collateral management: supply and withdraw move assets in and out of the pool while updating the vault’s internal accounting.

  • Debt lifecycle: borrow, repay, and repayWithATokens support paying down debt.

  • Risk tuning: Strategists can mark an asset as collateral with single-call helpers each wrapped by the vault’s timelock.

  • Flash liquidity: flashLoan and flashLoanSimple expose the pool’s liquidity for arbitrage or refinancing manoeuvres, keeping user funds inside the vault throughout the flash cycle.

  • Reward harvesting: Hooks for a pool’s incentives controller (e.g., Aave’s claimAllRewards) let the vault sweep emissions tokens and compound them automatically.

Collateral ratio remains king: The facet never overrides pool-level health checks; if a borrow would violate the market’s loan-to-value rules, the transaction reverts before external calls.


Lifecycle Inside a Vault

  1. Supply: Manager calls supply, passing the pool address and amount. Vault verifies the asset, then forwards the call. The pool mints receipt tokens (e.g., aTokens/mTokens) back to the vault.

  2. Borrow: Manager invokes borrow. Pool transfers the borrowed asset to the vault. The vault records a debt entry in shared storage so share price reflects the liability.

  3. Earnings & Rewards: Interest accrues in the receipt token. accountingMoreMarketsFacet() reads its balance whenever the vault’s NAV is queried. Incentive tokens are claimed periodically and sold or staked by strategy choice.

  4. Repay / Withdraw: Debt is repaid, collateral withdrawn, and share accounting updated — all under the same access and slippage policies that govern swaps.


Why a Generic Facet?

  • Chain-agnostic expansion: As new pools launch, strategists can point the vault at a fresh pool address without requiring a facet upgrade.

  • Isolated risk per vault: Because the pool is a function parameter, two vaults can choose entirely different money markets without forking code.

  • Upgrade simplicity: Future lending protocols (e.g., Euler v2, Morpho, etc.) can be supported by adding interface helpers, not by redeploying the facet.

PreviousStakingNextLeverage

Last updated 16 days ago