AlphaYieldsDocs
Docs menu
Infrastructure

Architecture

AlphaYields deploys capital through MORE Vaults — an open-source, cross-chain vault standard built on the ERC-2535 Diamond Standard. It provides non-custodial asset management, formally verified NAV accounting, modular strategy integration, and cross-chain capital movement via LayerZero.

Why MORE Vaults

Separation of concerns

Asset-critical accounting core is separated from the strategy layer. One audit covers all vaults. Strategy facets cannot touch the core accounting path — a misbehaving facet can be paused without affecting deposits.

Full onchain accounting

Accounting follows ERC-4626 and lives entirely onchain. Every totalAssets() call is computed from onchain state — depositors and auditors can verify NAV at any block.

Trust-minimised

Deposits are non-custodial. Every privileged action sits behind a timelock, giving depositors the chance to exit before any change executes.

The Diamond Standard (ERC-2535)

Each MORE Vault is an ERC-2535 Diamond proxy — a single contract address that delegates function calls to modular implementation contracts (facets). Strategy integrations are modular (add a facet without migrating assets); upgrades are scoped (a strategy-facet change never touches the accounting or withdrawal facet); and the function table is transparent (any user can query the selector table).

NAV accounting

totalAssets = Σ facetAssets() + spotBalance

Each strategy facet exposes a valuation selector returning its value in the vault's accounting asset. There are no cross-facet calls — each facet accounts for itself; the core aggregates. If a facet reverts or an oracle is stale, operations revert and governance can inspect, replace, or pause the module without halting withdrawals from other facets.

Source typeWhen usedGuardrails
Spot balanceERC-20 / native positionsPriced via Pyth, Chainlink, Redstone; reverts if older than MAX_DELAY
Lending depositsAave, Morpho, CompoundReads getUserAccountData() from protocol
Yield-bearing tokenssFLOW, wstETH, PT-sUSDePulls exchangeRate() onchain × holding balance
DEX LP positionsUniswap V3, Curve, BalancerValued at pool virtual price; sanity-checked vs oracles

Share price, deposits & timelocks

sharePrice = totalAssets / totalSupply

Yield accrues as share price appreciation — depositors hold a fixed number of shares; each share's value rises. Withdrawals use a two-step process (requestRedeem() then redeem()); the timelock protects long-term depositors from flash-loan arbitrage and lets the strategy layer exit positions in an orderly way. Every privileged action — strategy changes, fee adjustments, core upgrades — sits behind a timelock, giving depositors a guaranteed exit window.

Registries

Vault Registry

Records all deployed vaults, their facets, and permitted protocol interactions.

Oracle Registry

Records every price feed with address, quoted asset, and staleness threshold. Stale feeds cause dependent transactions to revert.

Vault Factory

The sole entry point for deploying new vaults; verifies all facets are approved by MORE DAO.

Next — Cross-Chain