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:
Supply collateral from the vault’s asset list.
Draw loans against that collateral.
Repay or roll the debt as strategy logic evolves.
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
andwithdraw
move assets in and out of the pool while updating the vault’s internal accounting.Debt lifecycle:
borrow
,repay
, andrepayWithATokens
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
andflashLoanSimple
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
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.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.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.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.
Last updated