# Vaults Framework

MORE Vaults is an open‑source cross-chain vault standard that combines the composability of the ERC‑2535 Diamond Standard with a rigorously audited, invariant and generic core. By separating the asset-critical logic from the ever‑evolving strategy layer, MORE drives down implementation and security costs for strategists, integrated protocols, and depositors alike.

The inspiration and motivation behind MORE Vaults stems from liquidity providers' need for a set-it-and-forget-it DeFi venue similar to those provided by mutual funds, hedge funds and ETFs in TradFi. MORE offers significantly better capital efficiency as well as stickier liquidity through:

* An omni-chain vault core - the same vault deployed as a mesh across any EVM;
* A bridge-agnostic interface - transfers assets securely within the same vault mesh;
* Shares as omni-chain tokens - depositors choose the chain on which they hold the receipt token;
* Adding and removing protocol and strategy integrations as your portfolio evolves;
* Running multiple strategies or farms in parallel or composing liquidity across venues;
* A bundler for atomic transactions bounded by configurable safeguards;
* Fully on-chain execution and accounting for 100% NAV and execution transparency.

## Why MORE matters?

| **Modularity** | Every capability lives in its own facet so vault managers can swap them in or out without touching the core.                    |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Openness**   | Anyone can launch a vault or use any integration. The DAO merely approves and verifies their safety.                            |
| **Resilience** | The core facets are upgradeable, formally verified, and protected by a time‑locked upgrade gate.                                |
| **Ecosystem**  | Common event formats, SDKs, and a public subgraph let frontends, dashboards and analytics integrate once to support all vaults. |

## Design Principles

### Transparency

**On‑chain everything**. Asset accounting follows ERC‑4626 and lives trustlessly, entirely on‑chain. Auditable and verifiable protocol integrations communicate directly with the core.

**Introspection**. Every vault exposes a selector table that users and auditors can query to see exactly which functions exist, who can call them, and when they were added.

**Public registries**. A canonical registry records deployed vaults and permissioned integrations and oracles, all packaged in a subgraph for auditors, explorers and risk dashboards.

### Upgradability

**Scoped upgrades**. The vault core is upgradeable in order to quickly and iteratively improve core functionality. Core upgrades are optional to vault owners, but recommended. Vault Owners are free to upgrade their own non-core facets.

**Timelocks**. Vault allocations, rebalances, changes to the rules, governance or risk parameters of the vault are timelocked, giving users a chance to exit before any new code executes.

**Safe migrations**. Users' assets and shares are migrated between vault versions without breaking ERC‑4626 compatibility.

### Trust‑Minimization

**Permissionless deployment**. Anyone can call `DeployVault` on the factory, pick from audited facets and launch, in a single transaction.

**No gate‑keeping**. The DAO maintains permissioned registries and whitelists audited facets, protocols and oracles. Frontends decide what to surface, but neither the protocol nor the DAO ever explicitly censors.


# Core Concepts

The MORE Vaults open standard revolves around a two‑layer architecture:&#x20;

1. an invariant core that guarantees total asset accounting and upgrade safety, and&#x20;
2. a set of modular facets that supply every other capability such as protocol integrations, strategy logic, governance hooks and event emitters.&#x20;

Each vault is instantiated by a factory that clones the generic core and then connects only those facets declared in its launch configuration, ensuring how assets are handled remains identical across the ecosystem while still letting builders innovate at the edge.

Surrounding that execution layer are on‑chain registries and a governance framework. A protocol‑level DAO handles vault, facet and oracle registration as well as core upgrades, while individual vaults can adopt their own governance, whitelists and fee schedules without affecting others.&#x20;

Uniform event formats feed a public subgraph so explorers, dashboards, and risk engines can surface real‑time positions, fee flows, and security signals. Together these primitives (shares, canonical accounting, registries, multiscale governance, whitelists, granular fee mechanisms, layered security guards, and transparent data), form the conceptual backbone of the open vaults framework.


# Shares

MORE Vault shares are standard ERC‑20 tokens that represent a pro‑rata claim on the vault’s Net Asset Value (NAV). The generic core mints and burns shares. Strategy facets only book gains or losses that flow into the NAV calculation.

How deposits and withdrawals are handled at a glance:

| Deposits    | Assets are transferred to the vault and in return newly minted shares are transferred to the user.                                                                                                        |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Withdrawals | A two‑step process, `requestRedeem()` then `redeem()`, guarantees withdrawal price integrity, provides strategists with a timelock window for exiting positions and defends against flash‑loan arbitrage. |

## Share Price

The share price of all MORE Vaults is expressed in the vault’s underlying accounting asset, defined at vault creation.

```
sharePrice = totalAssets / totalSupply
```

The core recalculates `sharePrice` in real-time. It is updated:

1. **Upon reallocation or reabalance** `submitActions()`: the composition of the vault and its assets are updated on third party protocols.
2. **Upon passive yield generation** `totalAssets()`: as rewards or yield accrues, a view function accounts for profit or loss automatically.

## Deposits

Strategists may choose how deposits are handled on a per-vault basis. Most choose to batch deposits for two reasons:

* Prevent MEV: depositors cannot front‑run a strategy rebalance to scoop a free NAV increase.
* Reduce gas: hundreds of deposits mint in one loop rather than individually.

Deposits are handled in a single step, but may be handled in two ways:

1. Deposit `deposit(amount, receiver)` in underlying asset,
2. Deposit in any asset `deposit(address[] tokens, uint256[] assets, address receiver)` if the assets are enabled as depositable. Depositors can specify an array of tokens and amounts `assets`.

Rounding follows ERC‑4626 guidelines – round‑down for mints, round‑up for burns – to ensure the vault never over‑issues claims.

## Withdrawals

Withdrawals can only be initiated for the underlying asset. The vault separates intent from settlement to protect long‑term LPs.

### Timelock

Every vault owner specifies `withdrawTimelock` (e.g., 4 hours) upon vault creation. Once a new strategy facet is added or a strategy update occurs, withdrawals remain open so users can exit. Timelocks can be updated by Vault Owners or Curators, but this action itself is timelocked by the previous timelock.

### RequestRedeem

* Burns no shares yet — only records `RedeemRequest{shares, owner, minRedeemTime}` where `minRedeemTime` = `block.timestamp` + `withdrawTimelock`.
* Free to cancel or increase shares while pending.
* If withdrawal amount is increased during the timelock, the previous request is canceled and the withdrawal timelock resets.

### Redeem

After the timelock expires, a user must call `redeem(uint256 shares, address receiver, address owner)` in order to complete the withdrawal process. When redeem is called:

1. Calculates `assetsOut = shares × sharePrice`.
2. Burns `shares` from the owner.
3. Transfers `assetsOut` to the receiver.

If the vault’s liquid balance < `assetsOut`, the transaction reverts.

{% hint style="info" %}
Because redemptions are handled in shares, a change in share price during the timelock and before the `redeem()` action is called, may result in a change in the redeemable amount of the underlying asset.
{% endhint %}


# Accounting

MORE Vaults separates position logic from asset accounting. Each strategy facet owns its own storage and position-management code, while the invariant core is the single source of truth for the vault’s `totalAssets`. This design keeps upgrades local to the facet that changes, yet guarantees that every share is always backed 1 : 1 by on‑chain‑verifiable value.

## Available Assets

A vault can end up holding many different tokens beyond its deposit list including LP shares, yield tokens, debt receipts, even bridged assets on another chain. These tokens encompass anything that may appear in `availableAssets()` and therefore in `totalAssets`.

For each available asset the strategist must ensure two things:

1. **Valuation path** – An oracle, TWAP, or deterministic formula can convert the asset to the accounting unit at any time.
2. **Registry entry** – The oracle contract is published in an Oracle Registry or the pricing method is included in facet accounting so auditors and dashboards can trace the number.

If either requirement is missing, the asset will be excluded from its valuation and impact total asset accounting and share price.

## Deposit Tokens

Before a vault goes live, the strategist whitelists a set of deposit tokens: the ERC-20s users are allowed to send when calling `deposit()`. The list can be contain a single token (e.g. USDC) or multiple tokens (ETH, stETH, USDC). Each token must have a reliable oracle listed in an Oracle Registry so the core can convert incoming amounts into the accounting asset. If a user tries to deposit a token that is not whitelisted, the transaction reverts. Smaller sets reduce oracle risk, keep gas costs down, and simplify price charts.

## Per-Facet Tracking

Accounting logic is dependent on the accounting of the protocol with which the facet interacts. In this way, accounting is inherited from each protocol and compiled independently from other facets so that it can be subsequently composed into the vault's NAV.

Facets expose a unique accounting selector that returns their current valuation in the vault’s accounting asset. There are no cross‑facet calls.

Some facets contain a hook that executes before accounting in order to include tokens or yield that is not exposed through the underlying protocol's native accounting functions. Tokens that are not included in the native NAV calculation do not reflect in the share price provided by front-ends unless a deposit or withdrawal action is initiated.

Valuation must be deterministic at deposit and withdrawal time. If pricing depends on a DEX TWAP or Chainlink round, the facet fetches and converts it internally.

## NAV Aggregation

```
totalAssets = Σ facetAssets() + spotBalance
```

Every action on a vault updates the NAV calculation, with updates occurring at most once per block.

If a facet reverts or oracle is stale, operations will be reverted and vault governance can then inspect, replace, or pause the offending module without halting withdrawals.

## Valuation Sources

| Source Type               | When Used                               | Guardrails                                                                                               |
| ------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Spot balance              | Simple ERC‑20 or native token positions | Priced via Pyth, Chainlink, Redstone, etc. oracle; revert if price feed is older than `MAX_DELAY`.       |
| DEX LP positions          | Uniswap V3, Balancer, Curve             | Use an in‑facet math lib to value assets at pool’s virtual price; sanity‑check against on‑chain oracles. |
| Lending protocol deposits | Aave v3, Compound v3                    | Read `getUserAccountData`.                                                                               |
| Yield‑bearing tokens      | LRT, wstETH, PT-sUSDe, etc.             | Pull `exchangeRate()` directly on-chain from protocol and multiply by holding balance.                   |

Facets must convert their asset values into the vault’s single accounting asset using at most one intermediate oracle call to prevent gas‑bomb loops.

## Fee Accrual

Management and performance fees are applied inside `deposit()` and `redeem()` in the VaultFacet before the NAV snapshot is finalised. When the fee is skimmed, new shares are minted to the fee recipient.

This keeps fee accounting transparent. Fees show up as an explicit delta rather than hidden dilution.


# Registries

Registries are simple on‑chain catalogues.

## Types of Registries

There are three registries included in the protocol:

* Vaults are registered on the Vault Factory of each chain;
* Whitelisted protocols and their corresponding facets are registered on the Vault Registry;
* Oracles are registered on the Oracle Registry.

A registry never blocks a contract call. It only stores information that front‑ends, analytics, and governance can consult to verify the trustworthiness of the component.

## Permissioned Vaults

When an item has been audited and a DAO vote confirms the findings, the identical identifier (the address and list of selectors) is copied into the DAO‑approved registry. From this moment on nothing about the contract itself changes. However, if an item is upgraded, it must be re-approved to be updated in the registry. The DAO‑approved registry therefore acts as an overlay that labels items as verified.


# Vault Factory

The Vault Factory is the sole entry point for creating new MORE Vaults. Each time it deploys a vault, it also records an entry in the on-chain Vault Registry so the ecosystem can discover and track every live instance from the first block.

What the factory does:

* Records the deterministic address of the new diamond proxy.
* Checks whether the vault’s facets are registered in the Permissioned Registry.
* Can pause vaults that are using compromised code in a facet if the DAO’s Security Council identifies such a case.

By having every vault deployment recorded in a single registry, dashboards can pull a complete list without off-chain scraping, and front-ends can filter vaults by type so only those built on the DAO-approved core appear by default, while still allowing users to opt into experimental deployments.

The factory ensures the facets used at deployment are DAO-approved by verifying that each facet’s address exists in the permissioned registry.


# Vault Registry

Every piece of executable logic in a MORE Vault lives in a facet, a contract that exposes one or more function selectors. To make those facets discoverable and reviewable, the protocol logs facets in the Vault Registry.

The Vault Registry also includes an array of DAO-approved protocols with which premissioned vaults can interact.

Additionally, the Vault Registry records the protocol fee and the protocol fee recipient for each vault.&#x20;

## Publishing to the registry

Only the DAO can add a facet to the registry. To do so it calls `addFacet(facet, selectors[])`. The transaction records:

* `facet` – the address of the new facet.
* `selectors[]` – array of 4‑byte function identifiers implemented by the facet.

The registry checks if the selector already exists in another facet. If so, the facet author should update the selector to one that does not exist. A facet can expose any selectors, including ones that overlap with core functions or those of other facets.

## Verifying facet & selector integrity

Any user can call `getAllowedFacets()`  or `getFacetSelectors(facet)` on the VaultsFactory contract in order to verify if a facet is DAO-approved and which selectors are included in that facet.


# Oracle Registry

Facets quote prices, yields, or reference rates. To keep those look‑ups transparent, every oracle contract or data feed used by a MORE Vault must first be listed in the Oracle Registry. Like the Vault Registry, the Oracle Registry tells the ecosystem where a data point comes from and whether the DAO considers it reliable.

Each registry entry stores:

* **`oracleAddress`** – the contract read by facets.
* **`asset`** – the quote asset, an ERC‑20 or symbol that the feed returns (ETH, USDC, etc.).
* **`stalenessThreshold`** – the maximum time since `updatedAt`, standardized using Chainlink's interface.

{% hint style="info" %}
Any non-Chainlink oracle provided by another publisher must be wrapped in an adapter in order to standardize its format with the Chainlink interface.
{% endhint %}

## DAO approval criteria

Before adding an oracle, the DAO checklist includes:

1. **Implementation audit** – Verified that the contract cannot be paused or manipulated by a single key.
2. **Data source review** – Confirm the upstream source (e.g. Chainlink aggregator, TWAP window) and fallback rules.
3. **Liveness test** – Feed must have updated within the last `stalenessThreshold` seconds at proposal time.

If passed, the DAO calls `setOracleInfos(assets[], oracleInfo[])` where `oracleInfo` is struct:

```
struct OracleInfo {
        IAggregatorV2V3Interface aggregator;
        uint96 stalenessThreshold;
    }
```

## How facets use the registry

* To get an oracle for a particular asset, you can use the function, `getOracleInfo(asset)`.
* `getAssetPrice(asset)` gets the price data from the oracle and checks its staleness.


# Omnichain Vaults

MORE Vaults can be deployed on any EVM chain. Any MORE Vault can be extended to other chains, offering strategists the ability to transfer assets across chains securely within the same vault ecosystem or mesh.&#x20;

## Hub & Spoke

Each MORE mesh operates as a hub and spoke model. Vault creators must first choose the chain on which they prefer to keep their hub. Once the hub chain is chosen, it cannot be changed.

Accounting is aggregated on the hub vault from all spoke vaults within a mesh in order to ensure a reliable and resilient NAV calculation. As a result, deposits and withdrawals are also handled by the hub vault. Such a configuration requires strategists to liberate liquidity and propagate it back to the hub to fulfill redemption requests.

Once the hub vault is created, a second MORE Vault can be deployed on any other EVM. The deploy step of the second vault must be executed by the same Vault Owner, set the same Vault Owner and provide a `salt`, a unique identifier that makes Vault Factories on other chains aware of the relationship between the vaults. The registration is propagated to other chains via LayerZero. Only after confirmation is the hub-spoke relationship considered valid.

Spoke vaults have no share accounting. Instead, their value is tracked via assets under management through `totalAssets()`. The spoke vault may hold yield-generating positions, but its P\&L is reflected in the total asset value reported to the hub.

## Omni-chain Fungible Tokens

MORE Vault ERC-20s are natively omni-chain. MORE has partnered with LayerZero to enable vault receipt tokens that can be held on or bridged to any EVM chain. This means that liquidity providers can supply assets from any chain, and in exchange, receive their receipt token on the chain of their choice, without bridging manually.

Because withdrawals on MORE Vaults may be asynchronous, for now, withdrawals must take place on the hub vault's chain. This means that if you hold your deposit token on Flow, but the hub vault is on Ethereum, you will need to bridge your token to Ethereum in order to withdraw.&#x20;

Asynchronous atomic cross-chain withdrawals will be available soon. When this feature is deployed, vault token holders will never need to manually bridge in order to withdraw.

## Cross-Chain Transfers

Vaults within the same mesh may send and receive assets between each other. Spokes may send assets directly to other spokes without first passing through the hub vault.

The MORE Vaults Core includes a generic bridge facet. This contract first references Vault Factory in order to verify the sending and receiving vaults exist in the same mesh. The Curator can query the Vault Registry to surface all the paths for the selected asset to the destination chain and provide the required parameters to `submitActions()`. Because facet selectors are not mapped directly to the functions on a specific bridge, the Bridge facet can be made fully interoperable with any whitelisted cross-chain messaging protocol.

{% hint style="info" %}
The flagship version of the Bridge facet supports LayerZero.
{% endhint %}

## Cross-Chain Accounting

Accounting from spokes is composed on the hub vault. MORE does not support off-chain or self-reported accounting practices and favors trust-minimized methods. Vault Owners must choose between oracle accounting or cross-chain message accounting for each spoke vault in their mesh.

### Oracle Accounting

Oracles call `totalAssets()` to updates the oracle value. The hub vault integrates the oracle's value and consolidates the mesh's NAV and receipt token share price in near real-time.&#x20;

{% hint style="info" %}
Accounting costs are paid by the Vault Owner. Oracles offer an inexpensive way to communicate spoke vault value back to the hub. However, they require operational overhead at setup and are not made available on-demand. MORE has partnered with oracle providers, Pyth and Stork, to deploy oracles quickly for Vault Owners.
{% endhint %}

### Cross-Chain Message Accounting

When cross-chain message accounting is activated, the Vault Owner can determine the frequency at which `totalAsset()` accounting is sent to the hub. By default, when cross-chain message accounting is activated, a message is sent at each `executeActions()` call.

{% hint style="info" %}
Cross-chain message accounting can be activated instantly for any vault, and offers the fastest path to a complete cross-chain deployment. However, cross-chain message fees may vary significantly by chain and provider. It is best to estimate your fees before relying heavily or long-term on this feature.
{% endhint %}


# Vault of Vaults

One of the simplest, but most powerful implementations of MORE Vaults is to build and manage portfolios of other vaults. This is achieved by adding or removing vault contracts and rebalancing between them.

The MORE Vault Core ships with two generic facets, ERC-4626 and ERC-7540 for interacting with ERC‑4626‑compatible vaults within MORE Vaults and, for vaults that require asynchronous deposit and withdrawal/redemption flows, a separate facet aligned with EIP‑7540. In addition, to accommodate custom asynchronous scenarios that fall outside these standards, the ERC‑4626 facet includes a controlled function for executing whitelisted custom actions.

These two contracts enable out-of-the-box interoperability with not just any MORE Vault, but nearly every DeFi vault on any EVM chain.

Specifically, the system supports:

* Explicit implementation of key non‑view ERC‑4626 functions.
* Execution of custom asynchronous actions via whitelisted selectors and parameter masks.
* Asset accounting in terms of the underlying MORE Vault via oracles.

## Facets and Functions

### ERC-4626

The facet implements and verifies (via a Whitelist Registry) the following ERC‑4626 functions:

```
function deposit(uint256 assets, address receiver);
function mint(uint256 shares, address receiver);
function withdraw(uint256 assets, address receiver, address owner);
function redeem(uint256 shares, address receiver, address owner);
```

It also exposes a controlled entrypoint for custom asynchronous scenarios that are outside the ERC‑4626 standard:

```
function executeAsyncAction(
    address vault,
    bytes4 selector,
    bytes calldata data
);
```

#### **`executeAsyncAction` — selector and parameter verification**

For each whitelisted `(vault, selector)` pair, the Whitelist Registry stores a parameter mask. The mask defines, per argument position, whether the argument is taken from user‑supplied calldata or is overridden with the MORE Vault address:

* **Mask bit = 1** → take the argument from calldata.
* **Mask bit = 0** → substitute the argument with the MORE Vault address.

This defaulting covers typical parameters such as `receiver` or `owner` to prevent tokens from being sent outside of the vault. If a target function’s inputs deviate from this expected pattern, the call path applies selector‑specific modifications (for example, argument re‑ordering or a dedicated adapter) before forwarding.

#### **`executeAsyncAction` — request‑type detection and accounting cache**

Before and after the low‑level call, the facet inspects balance deltas of the vault’s asset and share tokens to infer the action type and to update the accounting cache:

* If the asset balance decreased and no shares were minted, the action is treated as a deposit request with lock. The deposited assets are cached for accounting.
* If the share balance decreased and no assets were transferred out, the action is treated as a redeem request with lock. The locked shares are cached for accounting.
* Cancellation handling: if a subsequent action indicates a request cancellation (for example, balances revert to pre‑request levels or an allowed `cancel`/`undo` path is executed), any previously cached amounts are uncached accordingly.
* If no lock is observed (balances do not indicate a lock), the facet makes no caching changes.

{% hint style="info" %}
Notes:

* These heuristics rely on post‑call balance snapshots and are selector‑aware via the registry.
* Exact token addresses and balance sources are taken from the ERC‑4626 vault.
  {% endhint %}

### ERC-7540

Logic related to asynchronous requests per EIP‑7540 is implemented in a separate facet, which provides the following request methods:

```
function requestDeposit(uint256 assets, address receiver);
function requestRedeem(uint256 shares, address receiver);
```

#### **Clarifications per the EIP‑7540 spec:**

* The standard **does not include** `requestWithdraw` or `requestMint`; it defines `requestDeposit` and `requestRedeem` only.
* Claims are performed via the existing ERC‑4626 methods with adjusted semantics in async mode: deposits are claimed by calling `deposit`/`mint`, and redemptions are claimed by calling `withdraw`/`redeem`.
* The base EIP‑7540 **does not standardize** a cancel flow (no default `cancelRequest`). If cancellation is needed, it must be implemented vault‑specifically or via a separate standard; when used, it is handled through the allowlisted selector mechanism described above.

### Whitelist Registry (for `executeAsyncAction`)

For `executeAsyncAction`, the system verifies that the passed selector is allowed for the given vault. In addition, the registry stores a per‑selector parameter mask that governs argument sourcing and defaulting:

* **Mask bit = 1** → take the argument from the call data.
* **Mask bit = 0** → substitute the argument with the MORE Vault address.

This mechanism ensures that sensitive parameters such as `receiver`/`owner` are constrained to the MORE Vault unless explicitly permitted.

### Asset Accounting and Conversion

Asset accounting against an ERC‑4626 position uses the vault’s `convertToAssets()` method. The result is converted to the underlying MORE Vault value via price oracles. For asynchronous paths initiated via `executeAsyncAction` or EIP‑7540 requests, any cached amounts (pending deposits or locked shares) are included in accounting until claims or cancellations release them.

### Advantages

* Clear separation of ERC‑4626 and EIP‑7540 logic enhances modularity.
* `executeAsyncAction` provides controlled flexibility for integrating non‑standard asynchronous scenarios while enforcing selector and parameter verification.

### Portfolio Composition via Generic Connectors

Through the Vaults Registry, MORE DAO maintains a list of approved protocols and whitelisted vaults. This list can expand as new protocols and/or vaults are proposed by Vault Owners, Curators, or the Community.

**Initial supported protocols/vaults will likely include:**

* Morpho
* Euler
* Term Finance
* Hyperliquid
* Gearbox
* Origami
* Lombard
* Midas
* Yearn
* Ether.fi
* Veda
* Concrete
* Beefy
* Blueberry
* Liminal
* IPOR
* Gain
* Enzyme
* Upshift

{% hint style="info" %}
A vault admin application for adding and removing vaults from the Vault Registry and setting rebalance targets and bounds will be available in Q4 2025.
{% endhint %}


# Governance

MORE Vaults use a two‑layer governance model. MORE DAO looks after the shared core and public registries, while each vault has its own local roles for day‑to‑day management. This split keeps the global rules coherent, yet lets vault creators move quickly inside their own sandbox.

## Protocol Governance

* **Scope**. The DAO can upgrade the invariant core, set global parameters (strategist fee caps, add/remove facet on registry, add/remove oracle on registry), and flags protocols as DAO‑approved.
* **Process**. Any DAO member may submit a proposal. After an on‑chain vote passes, a fixed global timelock (e.g., 72 hours) delays execution so users can react.
* **Transparency**. All proposals, votes and timelock queues are emitted as events that frontends can track in real time.

## Vault Governance

Every vault deployed by a Vault Factory starts with one required role and two optional roles. The addresses can be changed by the vault owner at any time, subject to the vault’s own timelock.

| **Role**             | **Powers**                                                                                                                                                                |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Vault Owner          | Super‑admin. Can change fees, assign or revoke the other roles, upgrade strategy facets, and call emergency pause. Usually the wallet or multisig that created the vault. |
| Strategist / Curator | Adjusts allocations and harvests rewards and  add assets. Cannot touch fees or guardianship.                                                                              |
| Guardian             | May veto a strategist‑initiated or owner-initiated upgrade during the timelock window. Cannot veto a change in Vault Owner, Curator or Guardian.                          |

{% hint style="info" %}
If a vault does not set a role for Curator or Guardian (sets the address to 0x0) the corresponding permissions do not exist.
{% endhint %}

### Timelock on vault updates

All privileged actions including fee changes, change of Curator or Guardian, etc. follow the same pattern:

1. **Propose** – Role holder calls the action, and the contract records it and emits `submitActions()`.
2. **Waiting period** – A delay set by the Vault Owner in the vault configuration (e.g., 48 hours) gives depositors time to request withdrawals and gives the Guardian time to veto if needed.
3. **Execute or cancel** – If the guardian has not vetoed, the Vault Owner or Curator can execute the action after the timelock has expired. A veto emits `ActionsVetoed(messageSender, ids[])` and the execution queue entry is cleared.

{% hint style="info" %}
The timelock window is separate from the withdrawal timelock, so users can still exit even if a Guardian is asleep.
{% endhint %}

### Emergency path

* **Pause**. Vault Owner, Guardian or the DAO via Vault Factory, may call `pause()` at any time. This disables new deposits and strategy calls but leaves withdrawal requests open.
* **Unpause**. Only the Vault Owner or Guardian can lift the pause, subject to the standard timelock. In the case the DAO paused a vault because of a compromised facet, `unpause()` can only be called after the affected facet is removed or upgraded.


# Roles

## Vault Owner

The Vault Owner is the vault's super admin. While any EOA can hold the Vault Owner role, it is recommended that the role be held by a multisig. In deployments for which a vault is used to manage its own assets, the Vault Owner might forgo assigning the other roles (i.e. Curator and Guardian). Such a setup may be well-adapted for single individuals or small groups who value quick or centralized decision making.

### Abilities

The Vault Owner can:

* Transfer ownership of the vault;
* Assign, reassign or remove Curator and Guardian;
* Create, update or remove a depositor whitelist;
* Set or update the vault timelock;
* Allocate assets to existing facets;
* Add or remove facets from the vault;
* Set or update vault fees and fee recipients;
* Increase or decrease supply caps
* Add available assets;
* Enable or disable assets as depositable;
* Set maximum slippage tolerance;
* Set gas limits for accounting;
* Pause or unpause the vault.

## Curator

The Curator role is designed to offer flexibility in allocating assets, curating opportunities by selecting integrations and managing risk parameters and bounds.

Ideally, the Curator is represented by a multisig, but in many scenarios, may also lend itself to a smart contract or algorithm-operated EOA.

### Abilities

Curators have access to a subset of the Vault Owner abilities and include:

* Allocate assets to existing facets;
* Increase or decrease supply caps;
* Create, update or remove a depositor whitelist;
* Add available assets;
* Set gas limits for accounting;
* Enable or disable assets as depositable.

## Guardian

The Guardian acts as the security fallback for all vault decisions. It is highly recommended that the Guardian role, if activated, be held by an independent third party in order to balance Vault Owner and Curator abilities and safeguard depositors' interests.

The Guardian role can be held any party including an EOA, multisig or smart contract. In setups where guardianship is displaced to depositors, it is recommended that vault token-based voting be enabled through a governance module like Snapshot.

### Abilities

* Veto any timelocked actions proposed by the Vault Owner or Curator.
* Pause or unpause the vault.


# Whitelists

A whitelist lets a Vault Owner or Curator apply individual supply caps to selected wallet addresses. Once a whitelist is enabled, every deposit is checked against the address list before shares are minted.

The feature is optional and starts disabled. If no whitelist is set the vault behaves as a fully public pool.&#x20;

During a deposit the vault totals the wallet’s current balance with the new amount. If that sum would exceed the wallet’s cap, the transaction is reverted. A missing entry simply means the address cannot deposit at all.

Depositors who have been removed from a whitelist will no longer be able to supply to a vault, but they can still withdraw their assets.

Whitelists are most useful in controlled settings like private or test‑phase vaults, regulated pools that accept only KYC‑approved addresses, or strategies that need to cap large whales so smaller LPs are not crowded out.

If the whitelist outlives its usefulness, the owner can deactivate it, and the vault will reopen to the public.


# Fees

## Protocol Fees

MORE Vaults does not currently collect fees and has not activated a protocol fee switch. Only MORE DAO can activate the protocol fee switch via an on-chain vote. All protocol fees are and will be calculated as a percentage of vault fees taken by the fee recipient.

## Vault Fees

MORE Vaults will support five fee types, of which only two, performance fees and withdrawal fees, are currently available to Vault Owners. Vault Owners may set fees regardless of whether the DAO fee switch is on. Each Vault Owner decides which fees apply to their vault and at what rate, subject to the caps set by governance. Protocol fees are always taken in vault shares on every user action.

| Fee         | Default | Availability |
| ----------- | ------- | ------------ |
| Performance | 0 bps   | Yes          |
| Withdraw    | 0 bps   | Yes          |
| Management  | 0 bps   | No           |
| Transaction | 0 bps   | No           |
| Deposit     | 0 bps   | No           |

### Performance Fees

Performance fees skim a percentage of net profit from the user's PnL when they deposit or withdraw. It is paid in newly minted shares. Vault Owners are free to configure a rate, but are subjected to fee caps set by DAO governance.

### Withdrawal Fees

When a user redeems their funds, the vault calculates the assets owed, deducts the fee, and transfers the remainder. Because the fee is applied after the withdrawal timelock. Curators can set this fee to prevent share price arbitrage or penalize large exits.


# Security & Risks

## Approach to Security

Security in MORE Vaults relies on three layers that reinforce one another. First, the invariant core is small, battle‑tested, and upgrade‑gated by MORE DAO. Every share price calculation and fee transfer passes through this same code, so one audit covers all vaults. Second, modular facets isolate strategy risk. If a new module misbehaves a vault can be paused without touching deposited assets or the accounting path. Finally, every privileged action, from a core upgrade to a strategy change or a fee adjustment, sits behind a timelock offering users the opportunity to withdraw or for a Guardian to veto.

Operational safeguards complement the on‑chain design. The DAO funds yearly audits of the core and will soon offer a standing bug bounty. It publishes static analysis reports for each approved facet or oracle. The Security Council can trigger a network‑wide pause in case of a critical vulnerability. Once paused, vaults accept no new deposits, but withdrawal requests remain open so assets can exit safely.

## Risks

| Type of Risk  | Description                                                                 |
| ------------- | --------------------------------------------------------------------------- |
| Governance    | Protocol governance changes risk parameters or fees or introduces backdoors |
| Technological | Smart contract risk due to a flawed integration                             |
| Technological | An unknown exploit in the vault core                                        |
| Technological | Liquidations fail resulting in bad debt                                     |
| Market        | Bad debt accrues to deposits in the underlying protocol                     |
| Market        | Unexpected shocks to lending or borrowing decreases yields                  |
| Market        | High slippage due to lack of liquidity                                      |
| Market        | Lower fees when trading volumes subside                                     |
| Market        | Impermanent Loss                                                            |
| Market        | Collateralization ratios of leveraged positions                             |
| Market        | The redeemable value of points or rewards                                   |
| Oracle        | Assets are priced incorrectly                                               |


# Developer Workflows

MORE Vaults are designed so that launching, upgrading, or integrating a vault feels more like composing Lego blocks than wrestling with Solidity minutiae. This section walks through the five workflows most builders care about:

1. [Deploying](/more-vaults/developer-workflows/deploying-vaults) a new vault,
2. [Configuring](/more-vaults/developer-workflows/configuring-a-vault) vault parameters,
3. [Cross-chain](/more-vaults/developer-workflows/cross-chain-transfers-and-accounting) transfers assets and accounting,
4. [Allocating](/more-vaults/developer-workflows/allocate-and-rebalance) and rebalancing assets,
5. [Accessing](/more-vaults/developer-workflows/using-the-subgraph) data from the subgraph.


# Deploying Vaults

This walkthrough shows how a strategist can launch a MORE Vault on any EVM network on which the MORE Vaults protocol is deployed using the Solidity scripts that ship with the core repo. To deploy on your target network, you can switch RPC endpoints and explorer links.

Quick links:

* [Context](#permissioned-and-permissionless-deployments)
* [Deploying the Hub](#deploying-the-hub-vault)
* [Deploying Spokes](#deploying-spoke-vaults-and-building-the-mesh)

There is a single registry on each chain's MORE Vault Factory. The registry is permissionless insofar as anyone can create a vault. However, vaults may only activate facets included in the Vault Registry.

## Cross-Chain Hub & Spoke Model

While MORE vaults can be deployed as single chain vaults, the protocol was designed to support omnichain deployments out-of-the-box.

To facilitate omnichain vaults, MORE relies on a hub and spoke model, supported by the core bridge facet. The facet itself is agnostic to underlying bridges and provides a unified interface with any cross-chain messaging infrastructure.

The flagship version of this facet ships with support for LayerZero. Later, it will be extended to include additional bridges with the goal of offering additional breadth and fallback resilience.

## Step-by-step deployment guide

There are multiple scripts that can be used to deploy both the Core Vault as well as certain integrations, known as facets.

`DeployVault.s.sol` – deploys the Core Vault as well as all available and whitelisted integrations.

`DeployVaultWithCoreFacets.s.sol` – deploys only the Core Vault with core facets.

Other scripts exist to deploy individual integrations such as Aave v3, Curve, Uniswap v3, etc.&#x20;

Scripts location: [/scripts](https://github.com/MORE-Vaults/More-Vaults-Periphery/blob/master/scripts/DeployVault.s.sol)

{% hint style="info" %}
If you intend to use Curve's Liquidity Gauge, the CurveLiquidityGaugev3Facet should be connected only after the initial deployment regardless of whether you use `DeployVault.sol` or `DeployVaultWithCoreFacets.s.sol`
{% endhint %}

### What you’ll deploy

* **Diamond proxy** – the vault contract which uses existing core and optional facets.
* **MORE Vaults Composer** – handles cross-chain actions within an omnichain vault deployment.
* **OFT Adapter for Vault Shares** - smart contract that handles bridging shares of spoke vaults to the hub.

{% hint style="info" %}
If you intend to bridge vault shares to another chain, for example, to use in another DeFi protocol, you will need to deploy the OFT on the chain you wish to use it and wire it. See [LayerZero docs](https://docs.layerzero.network/v2/developers/evm/oft/quickstart#deployment-and-wiring).
{% endhint %}

### Environment setup

```
# Install Foundry
curl -L https://foundry.paradigm.xyz | bash && foundryup

# Clone the repo
git clone https://github.com/MORE-Vaults/More-Vaults-Periphery/
cd More-Vaults-Periphery

# Compile once
forge build
```

If `forge build` fails or the RPC later errors, hop onto [Discord](https://discord.com/invite/MmpBdPMQt8) and open a #support-ticket for live help.

## Deploying the Hub Vault

The **hub vault** is the root of an omnichain vault network. It acts as the canonical authority for global NAV (Net Asset Value), cross‑chain coordination, and curator actions. While factories and facets are deployed by the protocol, the curator initializes and configures the hub to manage strategies and coordinate spokes.

When the hub is deployed, it contains:

* Core ERC‑4626 logic (`VaultFacet`)
* Cross‑chain logic (`BridgeFacet`)
* Access control configuration (`AccessControlFacet`)&#x20;
* Vault configuration facet (`ConfigurationFacet`)&#x20;
* Default Diamond facets (`DiamondCutFacet` and `DiamondLoupeFacet`)
* References to omnichain adapters (`LzAdapter` and OFT adapters)
* Multicall facet
* ERC-4626 and ERC-7540 logic to interact with other vaults

From the curator’s point of view, deploying the hub establishes the control center for all cross‑chain actions.

### Create `.env`

Copy `.env.example` to `.env` and fill in:

```
# GENERAL PARAMS
PRIVATE_KEY="Your Private Key"

# VAULT CREATION PARAMS
OWNER="The owner's EVM address"
CURATOR="The curator's EVM address"
GUARDIAN="The guardian's EVM address"
FEE_RECIPIENT="The fee recipient's EVM address"
UNDERLYING_ASSET="The EVM token address of the underlying asset"
FEE=1000 # In BPS, 0 means no performance fees will be taken
DEPOSIT_CAPACITY=10000000 # Underlying asset's value with decimals
TIME_LOCK_PERIOD=86400 # In seconds
MAX_SLIPPAGE_PERCENT=1000 # BPS
VAULT_NAME="Your vault name"
VAULT_SYMBOL="Your vault's ticker"
IS_HUB="If this is set to TRUE, the vault will be enabled for deposits and withdrawals. If this is set ot false, the vault will serve as a spoke and only the hub vault will be able to deposit and withdraw."
SALT="Any unique value. The transaction will revert if the value was already used on the same chain."

# DEPLOYED REQUIRED PROTOCOL ADDRESSES
DIAMOND_CUT_FACET=0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7
DIAMOND_LOUPE_FACET=0xBfb5bf7129D80c582681E5f59aA21Ba23834E708
ACCESS_CONTROL_FACET=0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C
CONFIGURATION_FACET=0x475d696B75fD49f48CD1D8a4389C7aD755891441
VAULT_FACET=0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878
MULTICALL_FACET=0x4c25db05c999081cdb24AdFdD9cD871f70d998E3
ERC4626_FACET=0xc5c6844fE3a550748cAaEAf8592d68386ca1f1B5
ERC7540_FACET=0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B
BRIDGE_FACET=0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB
VAULT_REGISTRY=0x6a0B3724AF49Ce6f14669D07823650Ec26553890
VAULTS_FACTORY=0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C

# You can find these addresses on the Contracts page.

# DEPLOYED OPTIONAL PROTOCOL ADDRESSES
MORE_LEVERAGE_FACET=0x589cCdAf387E265423c1d2f95cdc903fDFdA5fc3
AAVE_V3_FACET=0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD
CURVE_FACET=0x00f8AbFe17B4c096440a647Bb0549F326e08c897
UNISWAP_V3_FACET=0x3df5923afB843fdc530C144844C994db8E59B5aD
MULTI_REWARDS_FACET=0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f

# DEPLOYED OPTIONAL PROTOCOL ADDRESSES THAT REQUIRE ADDITIONAL CONFIGURATION
## CURVE GAUGE V6 FACET
CURVE_GAUGE_V6_FACET=0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1
CURVE_MINTER=
# Varies by chain, but available on Curve's docs and smart contracts

# You can find these addresses on the Contracts page.
```

Need facet addresses? The [Contracts](/more-vaults/contracts) page lists every DAO‑approved facet.

### Dry-run

```
forge script scripts/DeployVault.s.sol:DeployVault \
  --rpc-url $RPC_URL --chain-id $CHAIN_ID \
```

Foundry prints the `CreateVaultParams` and the array of `FacetCut` entries it will submit. Check every field: roles, fee, capacity, facet list. Edit `.env` and repeat until correct.

What happens:

1. `DeployConfig.s.sol` reads your env vars.
2. `getCuts()` builds one `FacetCut` per facet (address, selector array).
3. `DeployVault` signs with `PRIVATE_KEY` and calls `deployVault()` on the factory.

### Broadcast

Add `--broadcast` to send the transaction:

```
forge script scripts/DeployVault.s.sol:DeployVault \
  --rpc-url $RPC_URL --chain-id $CHAIN_ID \
  --broadcast
```

Save the transaction hash, and once mined, the vault address is printed by Foundry.

### Verify

{% tabs %}
{% tab title="Ethereum" %}

1. Execute the following command

```
forge verify-contract \
  --rpc-url $RPC_URL
  --verifier etherscan \
  --etherscan-api-key $API_KEY \
  <address> \
  src/MoreVaultsDiamond.sol:MoreVaultsDiamond \
```

2. Wait for verification.
3. Check the returned URL and ensure your contract was verified.
   {% endtab %}

{% tab title="Flow" %}

1. Execute the following command

```
forge verify-contract \
  --rpc-url https://mainnet.evm.nodes.onflow.org/ \
  --verifier blockscout \
  --verifier-url 'https://evm.flowscan.io/api/' \
  <address> \
  src/MoreVaultsDiamond.sol:MoreVaultsDiamond \
```

2. Wait for verification.
3. Check the returned URL and ensure your contract was verified.
   {% endtab %}
   {% endtabs %}

## Deploying Spoke Vaults and Building the Mesh

Spoke vaults are the chain‑local execution units. Each spoke manages assets on its chain but reports accounting back to the hub. Together, the hub and spokes form a mesh, where the hub commands and spokes respond.

Spokes rely on the same diamond architecture but are initialized with `isHub = FALSE`. The curator’s task is to ensure that every spoke is registered and connected to the hub. Use the same `salt` for each chain. For easier management and compatibility, ensure facets match those of the hub.

### Request Spoke Registration

Execute this from the spoke chain:

```
VaultsFactory.requestRegisterSpoke(
    uint32 hubEid,
    address hubVault,
    address spokeVault,
    bytes calldata options
) payable
```

* `hubEid`: LayerZero EID for the hub chain.
* `hubVault`: Address of the hub.
* `spokeVault`: Address of the new spoke.
* `options`: LayerZero executor options (gas limit, refund address).
* `msg.value`: Covers LayerZero message fee.

The function emits `SpokeRegistrationRequested`, notifying the hub.

{% hint style="info" %}
The finalization of your spoke's setup requires block finalization on the spoke chain. For supported chains this can vary between a few minutes and 2 hours. For your spoke deployment transaction, check the block finalization on the respective block scanner.
{% endhint %}

### Bootstrap from the Hub

On the hub chain:

```
VaultsFactory.requestRegisterSpoke(
    uint32 hubEid,
    address hubVault,
    address spokeVault,
    bytes calldata options
) payable
```

This transmits initialization data and configuration to the spoke.

### Broadcast the Full Mesh

If you have deployed more than 1 spoke:

<pre><code>VaultsFactory.hubBroadcastSpokeAdded(
<strong>    address hubVault,
</strong>    uint32 newSpokeEid,
    address newSpokeVault,
    uint32[] calldata dstEids,
    bytes calldata options
) payable
</code></pre>

The hub notifies all other spokes of the new connections, ensuring they’re aware of each other.

### Verify Connectivity

After bootstrapping:

```
VaultsFactory.hubToSpokes(hubEid, hubVault);
VaultsFactory.isSpokeOfHub(hubEid, hubVault, spokeEid, spokeVault);
VaultsFactory.spokeToHub(spokeEid, spokeVault);
```

All should return valid data. A missing entry means registration failed or LayerZero messaging didn’t complete.

{% hint style="info" %}
Critically, the creator of an omnichain vault must also be the first depositor to that vault in order to mitigate a first-deposit inflation attack.
{% endhint %}


# Configuring a Vault

Vault configuration can be set when deploying a vault. It can also be updated once the vault is deployed. To update the vault, you must get the selector and encode it with parameters provided to `submitActions()`.  Global timelocks are applied to several configuration updates. The guardian can veto any upgrade during the timelock period.

| Configuration                  | Set by |
| ------------------------------ | ------ |
| diamondCut                     | Owner  |
| transferCuratorship            | Owner  |
| transferGuardian               | Owner  |
| transferOwnership              | Owner  |
| disableDepositWhitelist        | Owner  |
| enableAssetToDeposit           | Owner  |
| setGasLimitForAccounting       | Owner  |
| setMaxSlippagePercent          | Owner  |
| setTimeLockPeriod              | Owner  |
| setFee                         | Owner  |
| setWithdrawalTimelock          | Owner  |
| setWithdrawalFee               | Owner  |
| updateWithdrawalQueueStatus    | Owner  |
| setCrossChainAccountingManager | Owner  |
| setOraclesCrossChainAccounting | Owner  |

## Adding or Removing Facets

The Vault Owner can decide which protocol and strategy facets to activate by calling `diamondCut()`  and specifying `facetAddress` and  `FacetCutAction`.

```
function diamondCut(FacetCut[] calldata _diamondCut) external;
```

with array of struct `FacetCut[]`,

```
struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
        bytes initData;
}

enum FacetCutAction {
        Add,
        Replace,
        Remove
    }

// Add=0, Replace=1, Remove=2
```

When adding facets, you must verify that the facet exists in the Vault Registry.

## Available Assets

Available assets are the assets that can be managed by the Curator. Available assets can be added only if an Oracle Registry contains an oracle for the specified asset. Either the Vault Owner or Curator can add available assets.

```
function addAvailableAsset(address asset)
```

{% hint style="info" %}
Once an available asset is added, it cannot be removed.
{% endhint %}

Available assets are subject to gas limit overflow checks to ensure that operations do not exceed max block limits or bounds set by the Vault Owner. Gas limit checks are described further in [Risk Management](#risk-management).

## Depositable Assets

Depositable assets include any asset that can be accepted by the vault from depositors. It must first be enabled as an available asset before it can be enabled as a depositable asset. Vault Owners and Curators can add or remove a depositable asset.&#x20;

{% hint style="info" %}
These assets are not subjected to gas limits like available assets.
{% endhint %}

#### Add a depositable asset

```
function enableAssetToDeposit(address asset) external
```

#### Remove a depositable asset

```
function disableAssetToDeposit(address asset) external
```

## Risk Management

### Max Slippage Percent

The max slippage percentage defines the bounds for the maximum acceptable loss upon `executeActions()`, when a portfolio allocation or rebalance is executed. If this bound is exceeded, the transaction will revert. Only Vault Owner can modify this parameter.

```
function setMaxSlippagePercent(uint256 _newPercent) external
```

### Gas Limit for Accounting

The gas limit parameter ensures that vault operations remain under an acceptable threshold. By default, the gas limit is set to the block gas limit, 30,000,000 on most chains. Either the Vault Owner or Curator can set this parameter.

The gas limit is set for each available asset, `_availableTokenAccountingGas`, each held token, `_heldTokenAccountingGas` (e.g. LP tokens, ATokens, CTokens, debt tokens, etc.) and each facet, `_facetAccountingGas`. `_newLimit` specifies the total gas limit for total accounting.&#x20;

```
function setGasLimitForAccounting(
   uint48 _availableTokenAccountingGas,
   uint48 _heldTokenAccountingGas,
   uint48 _facetAccountingGas,
   uint48 _newLimit
) external
```

### Deposit Capacity

Vault Owners or Curators can set a global supply cap for the vault. This can support scaling new strategies or when coupled with a whitelist create competitive dynamics for liquidity provisions.

The deposit capacity sets a maximum allowance for total deposits across all depositors, specified in terms of the `UNDERLYING_ASSET`.

```
function setDepositCapacity(uint256 capacity) external
```

{% hint style="info" %}
Depositor whitelists are not directly related to the global deposit capacity. Deposit capacity will apply regardless of per user deposit capacities specified in whitelists.
{% endhint %}

## Depositor Whitelists

Both Vault Owners and Curators can enable or disable whitelists. Users can only deposit if their address is included on the whitelist. Each user can have a specific deposit capacity.

#### To enable the whitelist

```
function enableDepositWhitelist() external
```

#### To disable the whitelist

```
function disableDepositWhitelist() external
```

#### To updae the whitelist

```
function setDepositWhitelist(
    address[] calldata depositors,
    uint256[] calldata underlyingAssetCaps
) external
```

## Timelocks

### Global Timelock

Only the Vault Owner can set or update the global timelock. This parameter configures the the timelock between `submitActions()` and `executeActions()`. These functions are described in [Allocate & Rebalance](/more-vaults/developer-workflows/allocate-and-rebalance).

#### Specify the global timelock in seconds

```
function setTimeLockPeriod(uint256 period) external
```

### Withdrawal Timelock

For asynchronous withdrawals, the withdrawal timelock sets the minimum duration that should elapse between `requestRedeem()` and `redeem()` or `requestWithdraw()` and `withdraw()`. The withdrawal timelock can be set by the Vault Owner or Curator, and is itself subject to the global timelock.

#### Specify the withdrawal timelock in seconds

```
function setWithdrawalTimelock(uint64 _duration) external
```

## Fees

Currently, only performance fees can be collected in a vault. Performance fees accrue on generated profit and are realized when a user redeems or withdraws. No fees are taken on negative profit.

#### Set the performance fee

```
function setFee(uint96 _fee) external
```

#### Set the fee recipient

```
function setFeeRecipient(address recipient) external
```

{% hint style="info" %}
While the protocol does not currently take fees, in the future, the DAO can vote to activate the fee switch. When the fee switch is activated, a portion of vault fees accrue to the protocol treasury.
{% endhint %}

## Transfer Roles

Any of the vault roles can be transferred. Only the Vault Owner may execute these actions. A Vault Owner may want to bring on a new strategist or recruit a new Guardian. The Vault Owner may also want to transfer the ownership of the vault to an acquiring party. In any of these cases, updates are subject to the global timelock, giving LPs an opportunity to exit if they disagree with the decision.

### Transfer Owner

Ownsership transfer occurs in 2 steps. The current Vault Owner must initiate the transfer and the new Vault Owner must accept it. Ownership remains with the current Vault Owner until the transfer is accepted.&#x20;

#### Initiate ownership transfer

```
function transferOwnership(address _newOwner)
```

#### Accept ownership transfer

```
function acceptOwnership() external
```

### Transfer Curator

A Vault Owner may replace a Curator.

```
function transferCuratorship(address _newCurator) external
```

### Transfer Guardian

A Vault Owner may replace a Guardian.

```
function transferGuardian(address _newGuardian) external
```


# Cross-Chain Transfers & Accounting

## Configuring a Bridge

Adapters and composers are the operational plumbing that make omnichain transfers and accounting work.

* **Adapters** (e.g., `LzAdapter`) handle message transmission across chains.
* **Composers** (e.g., `MoreVaultsComposer`) handle local user deposits and refunds.

Curators verify their configuration before accepting deposits.

{% tabs %}
{% tab title="LayerZero" %}

### Verify Trusted OFTs

Each OFT of available assets including shares of another vault that you wish to bridge to another chain must be trusted by the local adapter.

```
LzAdapter.isTrustedOFT(oftAddress)
```

If `false`, contact protocol ops to whitelist. Only the core team can administer the list of verified  OFTs.

```
LzAdapter.setTrustedOFTs(address[] ofts, bool[] trusted)
```

### Verify Composer Linkage

Ensure each vault has an assigned composer:

```
VaultsFactory.getVaultComposer(vaultAddress)
```

### **Confirm LayerZero Parameters**

```
LzAdapter.setGasLimit(uint256 newLimit);
LzAdapter.setSlippage(uint256 newSlippageBps);
```

Use conservative values early on. Slippage should reflect your strategy’s tolerance.
{% endtab %}
{% endtabs %}

## Executing Cross‑Chain Transfers

Curators initiate these transfers to rebalance liquidity or fulfill cross‑chain allocations.

{% tabs %}
{% tab title="LayerZero" %}

### Quote the Fee

```
uint256 fee = LzAdapter.quoteBridgeFee(
    abi.encode(
        address oftToken,
        uint32 dstEid,
        uint256 amount,
        address dstVault
    )
);
```

This determines the native fee required for the LayerZero message.

{% hint style="info" %}
Before transferring assets between chains, curators should [pause](#pause-resume-per-chain) the vault in order to pause deposits and withdrawals so that the NAV is not affected throughout the transfer.
{% endhint %}

### Execute the Transfer

```
BridgeFacet.executeBridging(
    address adapter,
    address token,
    uint256 amount,
    bytes bridgeSpecificParams
) payable
```

* `adapter`: address of the `LzAdapter`.
* `token`: asset to transfer.
* `amount`: amount in asset units.
* `bridgeSpecificParams`: the same encoded blob from fee quoting.

```
bytes bridgeSpecificParams = 
    abi.encode(
        address oftTokenAddress,
        uint32 lzEid,
        uint256 amount,
        address dstVaultAddress,
        address refundAddress
    );
```

* `msg.value`: must equal or exceed the quoted fee.

Behind the scenes:

* The adapter packages and sends an OFT message.
* The destination chain receives the message, performs checks and finalizes the token transfer.
* If the transfer fails, the composer triggers a refund to `refundAddress`.

### Confirm Execution

Monitor `BridgeExecuted` (source) event. When successful, the destination vault’s balance and accounting increase.

{% hint style="info" %}
After all cross-chain transfers are complete, the curator should then [unpause](#pause-resume-per-chain) the vault.
{% endhint %}
{% endtab %}
{% endtabs %}

### Running Cross‑Chain Accounting and NAV Updates

Cross‑chain accounting keeps the hub’s NAV accurate. Deposits and withdrawals triggers a read cycle. Spokes calculate their total assets and report back to the hub.

{% tabs %}
{% tab title="LayerZero" %}

### Quote Accounting Fee

```
uint256 navFee = BridgeFacet.quoteAccountingFee(extraOptions);
```

`extraOptions` = executor settings (gas, refund address).

### Initiate the Request

```
bytes32 guid = BridgeFacet.initVaultActionRequest(
    MoreVaultsLib.ActionType.ACCOUNTING,
    abi.encode(hubVault),
    extraOptions
);
```

The call broadcasts a read request to all connected spokes.

### Wait for Responses

Each spoke sends its USD‑valued totalAssets back via LayerZero read channel. The hub aggregates these responses into one composite view.

### Finalize and Update NAV

```
BridgeFacet.finalizeRequest(guid);
```

For each deposit or withdrawal, this consolidates all values and emits `AccountingInfoUpdated`. The hub’s `VaultFacet.totalAssetsUsd()` now reflects the unified NAV for a particular user action. The user can then finalize the deposit or withdrawal request to complete the action.

### Verify

```
BridgeFacet.getRequestInfo(guid);
```

This function returns info about if a deposit request was fulfilled and with which values such as totalNAV. Check for `readSuccess = true` to confirm a complete accounting cycle.
{% endtab %}
{% endtabs %}

### Operational Controls and Maintenance

Curators maintain vault stability by controlling adapter parameters, gas costs, and slippage, and by pausing operations if conditions degrade.

{% tabs %}
{% tab title="LayerZero" %}

### **Pause/Resume per Chain**

```
VaultFacet.pause();
VaultFacet.unpause();
```

When a cross-chain transfer is initiated, the vault will be automatically paused and deposits will be paused. This ensures that share price manipulation cannot occur due to misreported NAV during the transfer. The curator must unpause the vault when the cross-chain transfer finalizes in order to reopen deposits.

### **Adjust Execution Settings**

```
LzAdapter.setGasLimit(uint256 newLimit);
LzAdapter.setSlippage(uint256 newSlippageBps);
```

Tune gas based on current LayerZero relayer costs. Update slippage if your strategy changes risk tolerance.

**Inspect Mesh Health**

```
VaultsFactory.hubToSpokes(hubEid, hubVault);
LzAdapter.getTrustedOFTs();
```

Ensure every spoke is connected and each OFT remains trusted.
{% endtab %}
{% endtabs %}


# Allocate & Rebalance

## Submitting Actions

The Vault Owner or Curator can call `submitActions()` function to set up the reallocation or rebalancing of a vault.

```
function submitActions(
    bytes[] calldata actionsData
) external returns (uint256 nonce)
```

`actionsData` is an array that consists of selectors of a function of one of the facets included in the vault as well as parameters for that particular function.

## Example: Building the input for submitting actions

Supplying to MORE Markets, Aave v3 or any fork of Aave v3 requires the interface for supplying via the MORE Markets facet looks like this:

```
function supply(
        address pool,
        address asset,
        uint256 amount,
        uint16 referralCode
    ) external
```

An example of the input for `submitActions()` would look like this:

```
[
    "0x57a31521000000000000000000000000bc92aac2dbbf42215248b5688eb3d3d2b32f2c8d0000000000000000000000001b97100ea1d7126c4d60027e231ea4cb25314bdb0000000000000000000000000000000000000000000001f4ec40e3d54225e8850000000000000000000000000000000000000000000000000000000000000000"
]
```

Where the included `calldata` would be composed as:

```
0x57a31521 // selector of supply function to execute
000000000000000000000000bc92aac2dbbf42215248b5688eb3d3d2b32f2c8d // address of the pool
0000000000000000000000001b97100ea1d7126c4d60027e231ea4cb25314bdb // asset address
0000000000000000000000000000000000000000000001f4ec40e3d54225e885 // amount of tokens to supply
0000000000000000000000000000000000000000000000000000000000000000 // referral code
```

## Executing Actions

After `submitActions()` is called, the timelock period must elapse. The Vault Owner or Curator can then execute these actions by calling `executeActions()`.

```
function executeActions(uint256 actionsNonce) external
```

If the timelock is set to 0, `executeActions()` will be executed automatically on the `submitActions()` call.

Max slippage will be applied to `executeActions()` after it is executed. If the max slippage is met or exceeded, the transaction will revert.

## Guardian Veto

If the timelock is not 0, the Guardian can veto the transaction before the timelock expires by including the `actionsNonces` in `vetoActions()`.

```
function vetoActions(uint256[] calldata actionsNonces) external
```


# Using the Subgraph

## Using the Vaults Subgraph

The MORE Vaults subgraph exposes on‑chain vault activity and performance via GraphQL. It tracks the factory, all vaults, deposits/withdrawals, user share balances (with cost basis and PnL), and daily/weekly performance snapshots.

#### Endpoints

* Flow network: [`https://graph.more.markets/flow/subgraphs/name/flow-vaults/graphql`](https://graph.more.markets/flow/subgraphs/name/flow-vaults/graphql)
* Ethereum network: Open a support ticket on [Discord](https://discord.gg/MmpBdPMQt8) for access to the Ethereum subgraph URL.

#### Quickstart queries

* Latest vaults with performance

```graphql
{
  vaults(first: 5, orderBy: totalAssetsUSD, orderDirection: desc) {
    id
    name
    symbol
    totalAssets
    totalAssetsUSD
    apyPriceTrailing
    apyDailyReturnTrailing
    apyWeeklyReturnTrailing
  }
}
```

* A wallet’s balance and PnL in a vault

```graphql
query($user: Bytes!, $vault: String!) {
  userVaultBalances(where: { user: $user, vault: $vault }) {
    sharesBalance
    shareBalanceUSD
    weightedAverageCostBasis
    realizedPnLUSD
    unrealizedPnLUSD
    lastUpdatedTimestamp
  }
}
```

* Daily performance for a vault (recent 7 days)

```graphql
query($vault: String!) {
  vaultDailySnapshots(
    first: 7
    orderBy: dayTimestamp
    orderDirection: desc
    where: { vault: $vault }
  ) {
    dayTimestamp
    sharePrice
    dailyReturn
    apr
    apyDailyProjected
  }
}
```

## Schema and behaviors

* **Vaults and factory**
  * `VaultFactory` tracks the factory and derived `vaults`.
  * `Vault` stores `totalAssets`, `totalSupply`, `totalAssetsUSD`, creation timestamp, and return/apy fields:
    * Returns: `return1Days`, `return7Days`, `return30Days`, `return90Days`, `return180Days`, `return365Days`, `returnInception`.
    * APYs: price‑based `apyPriceTrailing`, naive daily `apyDailyReturnTrailing` (+ 1/7/30/90/180/365 windows), and weekly `apyWeeklyReturnTrailing` (+ 1/4/13/26/52 weeks).
* **Events and user state**
  * `DepositEvent` and `WithdrawEvent` mirror vault actions.
  * `UserVaultBalance` maintains shares, USD value, weighted average cost basis, and realized/unrealized PnL.
  * `UserVaultTransaction` records every user‑level action including P2P share transfers.
* **Snapshots and pricing**
  * `VaultDailySnapshot` is created once per UTC day per vault; includes share/asset USD prices, dailyReturn, APR (= dailyReturn × 365), and projected APY (= (1+dailyReturn)^365 − 1).
  * `VaultWeeklySnapshot` aggregates weekly totals and `weeklyReturn`.
  * Price entities: `VaultPriceOracle` (current oracle) and `VaultAssetPrice` (last asset USD price with 8‑decimals), used to compute USD values.
* **Update cadence**
  * On each deposit/withdraw: updates vault totals, USD values, user balances, cost basis, PnL, creates events and transactions, and refreshes daily/weekly snapshots and APYs for that block’s UTC day.
  * On P2P share `Transfer`: adjusts sender/receiver balances, cost basis (receiver), and unrealized PnL; does not change vault totals.
  * Once per UTC day per vault: first block that lands in a new day bucket creates/updates `VaultDailySnapshot` and recomputes trailing APYs; weekly buckets are maintained similarly.
* **GraphQL tips**
  * All list fields support `where`, `orderBy`, `orderDirection`, `first/skip`, and `block` for historical queries.
  * IDs: snapshots use `vaultAddress-<dayTimestamp|weekTimestamp>`.


# Contracts

{% tabs %}
{% tab title="Ethereum" %}

## Deployed Core Contract Addresses

| Contract Name                                 | Address                                                                                                               | ABI                                                                                 |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Vaults Factory                                | [0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C](https://etherscan.io/address/0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C) | [ABI](https://etherscan.io/address/0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C#code) |
| Permissioned Oracle Registry                  | [0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a](https://etherscan.io/address/0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a) | [ABI](https://etherscan.io/address/0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a#code) |
| Vault Registry                                | [0x6a0B3724AF49Ce6f14669D07823650Ec26553890](https://etherscan.io/address/0x6a0B3724AF49Ce6f14669D07823650Ec26553890) | [ABI](https://etherscan.io/address/0x6a0B3724AF49Ce6f14669D07823650Ec26553890#code) |
| LayerZero Adapter                             | [0xC3268c843A7704CC7c476EdB6B38480038297117](https://etherscan.io/address/0xC3268c843A7704CC7c476EdB6B38480038297117) | [ABI](https://etherscan.io/address/0xC3268c843A7704CC7c476EdB6B38480038297117#code) |
| OFT Adapter Factory                           | [0xFA3f78123DA6c25548Ced8e2E194483a067EA659](https://etherscan.io/address/0xFA3f78123DA6c25548Ced8e2E194483a067EA659) | [ABI](https://etherscan.io/address/0xFA3f78123DA6c25548Ced8e2E194483a067EA659#code) |
| MORE Vaults Composer                          | [0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1](https://etherscan.io/address/0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1) | [ABI](https://etherscan.io/address/0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1#code) |
| [DiamondCutFacet](#diamondcutfacet)           | [0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7](https://etherscan.io/address/0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7) | [ABI](https://etherscan.io/address/0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7#code) |
| [DiamondLoupeFacet](#diamondloupefacet)       | [0xBfb5bf7129D80c582681E5f59aA21Ba23834E708](https://etherscan.io/address/0xBfb5bf7129D80c582681E5f59aA21Ba23834E708) | [ABI](https://etherscan.io/address/0xBfb5bf7129D80c582681E5f59aA21Ba23834E708#code) |
| [Access\_Control\_Facet](#accesscontrolfacet) | [0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C](https://etherscan.io/address/0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C) | [ABI](https://etherscan.io/address/0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C#code) |
| [Configuration\_Facet](#configurationfacet)   | [0x475d696B75fD49f48CD1D8a4389C7aD755891441](/more-markets/editor)                                                    | [ABI](https://etherscan.io/address/0x475d696B75fD49f48CD1D8a4389C7aD755891441#code) |
| [Vault\_Facet](#vaultfacet)                   | [0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878](https://etherscan.io/address/0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878) | [ABI](https://etherscan.io/address/0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878#code) |
| [Mutlicall\_Facet](#multicallfacet)           | [0x4c25db05c999081cdb24AdFdD9cD871f70d998E3](https://etherscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3) | [ABI](https://etherscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3#code) |
| ERC4626\_Facet                                | [0xc5c6844fE3a550748cAaEAf8592d68386ca1f1B5](https://etherscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3) | [ABI](https://etherscan.io/address/0xc5c6844fE3a550748cAaEAf8592d68386ca1f1B5#code) |
| ERC7540\_Facet                                | [0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B](https://etherscan.io/address/0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B) | [ABI](https://etherscan.io/address/0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B#code) |
| Bridge\_Facet                                 | [0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB](https://etherscan.io/address/0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB) | [ABI](https://etherscan.io/address/0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB#code) |

## Deployed Optional Contract Addresses

| Contract Name                                                     | Address                                                                                                               | ABI                                                                                 |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [More\_Leverage\_Facet](/more-vaults/contracts#origamifacet)      | [0xC04EA0B109bEf3815232E9A78a7f56d7e8A6292a](https://etherscan.io/address/0x589cCdAf387E265423c1d2f95cdc903fDFdA5fc3) | [ABI](https://etherscan.io/address/0x589cCdAf387E265423c1d2f95cdc903fDFdA5fc3#code) |
| [Aave\_v3\_Facet](#ethereum)                                      | [0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD](https://etherscan.io/address/0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD) | [ABI](https://etherscan.io/address/0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD#code) |
| [Curve\_Facet](#curvefacet)                                       | [0x00f8AbFe17B4c096440a647Bb0549F326e08c897](https://etherscan.io/address/0x00f8AbFe17B4c096440a647Bb0549F326e08c897) | [ABI](https://etherscan.io/address/0x00f8AbFe17B4c096440a647Bb0549F326e08c897#code) |
| [Uniswap\_V3\_Facet](#uniswapv3facet)                             | [0x3df5923afB843fdc530C144844C994db8E59B5aD](https://etherscan.io/address/0x3df5923afB843fdc530C144844C994db8E59B5aD) | [ABI](https://etherscan.io/address/0x3df5923afB843fdc530C144844C994db8E59B5aD#code) |
| [Curve\_Liquidity\_Guage\_V6\_Facet](#curveliquiditygaugev6facet) | [0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1](https://etherscan.io/address/0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1) | [ABI](https://etherscan.io/address/0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1#code) |
| [Multi\_Rewards\_Facet](#multirewardsfacet)                       | [0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f](https://etherscan.io/address/0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f) | [ABI](https://etherscan.io/address/0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f#code) |
| {% endtab %}                                                      |                                                                                                                       |                                                                                     |

{% tab title="Flow" %}

## Deployed Core Contract Addresses

| Contract Name                                 | Address                                                                                                                  | ABI                                                                                                |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| Vaults Factory                                | [0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C](https://evm.flowscan.io/address/0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C) | [ABI](https://evm.flowscan.io/address/0x7bDB8B17604b03125eFAED33cA0c55FBf856BB0C?tab=contract_abi) |
| Permissioned Oracle Registry                  | [0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a](https://evm.flowscan.io/address/0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a) | [ABI](https://evm.flowscan.io/address/0xA7b968ca75eb0224a396cA5cD482d18D4ca2041a?tab=contract_abi) |
| Vault Registry                                | [0x6a0B3724AF49Ce6f14669D07823650Ec26553890](https://evm.flowscan.io/address/0x6a0B3724AF49Ce6f14669D07823650Ec26553890) | [ABI](https://evm.flowscan.io/address/0x6a0B3724AF49Ce6f14669D07823650Ec26553890?tab=contract_abi) |
| LayerZero Adapter                             | [0xC3268c843A7704CC7c476EdB6B38480038297117](https://evm.flowscan.io/address/0xC3268c843A7704CC7c476EdB6B38480038297117) | [ABI](https://evm.flowscan.io/address/0xC3268c843A7704CC7c476EdB6B38480038297117?tab=contract_abi) |
| OFT Adapter Factory                           | [0xFA3f78123DA6c25548Ced8e2E194483a067EA659](https://evm.flowscan.io/address/0xFA3f78123DA6c25548Ced8e2E194483a067EA659) | [ABI](https://evm.flowscan.io/address/0xFA3f78123DA6c25548Ced8e2E194483a067EA659?tab=contract_abi) |
| MORE Vaults Composer                          | [0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1](https://evm.flowscan.io/address/0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1) | [ABI](https://evm.flowscan.io/address/0x8D8BE034eCfD018D67F9a1A25E27f99f52CBdFC1?tab=contract_abi) |
| [DiamondCutFacet](#diamondcutfacet)           | [0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7](https://evm.flowscan.io/address/0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7) | [ABI](https://evm.flowscan.io/address/0x0629d67cba46438458e96E7Fd7BD46AFe6F38ee7?tab=contract_abi) |
| [DiamondLoupeFacet](#diamondloupefacet)       | [0xBfb5bf7129D80c582681E5f59aA21Ba23834E708](https://evm.flowscan.io/address/0xBfb5bf7129D80c582681E5f59aA21Ba23834E708) | [ABI](https://evm.flowscan.io/address/0xBfb5bf7129D80c582681E5f59aA21Ba23834E708?tab=contract_abi) |
| [Access\_Control\_Facet](#accesscontrolfacet) | [0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C](https://evm.flowscan.io/address/0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C) | [ABI](https://evm.flowscan.io/address/0xfdf1C242E8E9847f2edEBaB3c0f3bE5f85EeD38C?tab=contract_abi) |
| [Configuration\_Facet](#configurationfacet)   | [0x475d696B75fD49f48CD1D8a4389C7aD755891441](https://evm.flowscan.io/address/0x475d696B75fD49f48CD1D8a4389C7aD755891441) | [ABI](https://evm.flowscan.io/address/0x475d696B75fD49f48CD1D8a4389C7aD755891441?tab=contract_abi) |
| [Vault\_Facet](#vaultfacet)                   | [0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878](https://etherscan.io/address/0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878)    | [ABI](https://etherscan.io/address/0xe405e2FEC812Bd73548e75c2544cfd176Bdb8878?tab=contract_abi)    |
| [Mutlicall\_Facet](#multicallfacet)           | [0x4c25db05c999081cdb24AdFdD9cD871f70d998E3](https://etherscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3)    | [ABI](https://evm.flowscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3?tab=contract_abi) |
| ERC4626\_Facet                                | [0xc5c6844fE3a550748cAaEAf8592d68386ca1f1B5](https://evm.flowscan.io/address/0x4c25db05c999081cdb24AdFdD9cD871f70d998E3) | [ABI](https://evm.flowscan.io/address/0xc5c6844fE3a550748cAaEAf8592d68386ca1f1B5?tab=contract_abi) |
| ERC7540\_Facet                                | [0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B](https://evm.flowscan.io/address/0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B) | [ABI](https://evm.flowscan.io/address/0x5b49fb340eE2A92ac9B5AE9A6920A54911b5633B?tab=contract_abi) |
| Bridge\_Facet                                 | [0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB](https://evm.flowscan.io/address/0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB) | [ABI](https://evm.flowscan.io/address/0xd08cAB25309DFeA0A48dB8E9ef3d5aFA58cd37bB?tab=contract_abi) |

## Deployed Optional Contract Addresses

replace

| Contract Name                                                     | Address                                                                                                                  | ABI                                                                                                |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| [Origami\_Facet](/more-vaults/contracts#origamifacet)             | [0xC04EA0B109bEf3815232E9A78a7f56d7e8A6292a](https://evm.flowscan.io/address/0xC04EA0B109bEf3815232E9A78a7f56d7e8A6292a) | [ABI](https://evm.flowscan.io/address/0xC04EA0B109bEf3815232E9A78a7f56d7e8A6292a?tab=contract_abi) |
| [Aave\_v3\_Facet](#aavev3facet)                                   | [0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD](https://evm.flowscan.io/address/0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD) | [ABI](https://evm.flowscan.io/address/0x3172c30821D61B97Ed0c9B21C0fe42ff0b362fbD?tab=contract_abi) |
| [Curve\_Facet](#curvefacet)                                       | [0x00f8AbFe17B4c096440a647Bb0549F326e08c897](https://evm.flowscan.io/address/0x00f8AbFe17B4c096440a647Bb0549F326e08c897) | [ABI](https://evm.flowscan.io/address/0x00f8AbFe17B4c096440a647Bb0549F326e08c897?tab=contract_abi) |
| [Uniswap\_V3\_Facet](#uniswapv3facet)                             | [0x3df5923afB843fdc530C144844C994db8E59B5aD](https://evm.flowscan.io/address/0x3df5923afB843fdc530C144844C994db8E59B5aD) | [ABI](https://evm.flowscan.io/address/0x3df5923afB843fdc530C144844C994db8E59B5aD?tab=contract_abi) |
| [Curve\_Liquidity\_Guage\_V6\_Facet](#curveliquiditygaugev6facet) | [0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1](https://evm.flowscan.io/address/0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1) | [ABI](https://evm.flowscan.io/address/0x4fc8DFC9A4AcE779e78591B17B83ea1988fF3Aa1?tab=contract_abi) |
| [Multi\_Rewards\_Facet](#multirewardsfacet)                       | [0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f](https://evm.flowscan.io/address/0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f) | [ABI](https://evm.flowscan.io/address/0x65c89a8aEF485D3da46ED3EE20BF9D59e4D6Cd0f?tab=contract_abi) |
| {% endtab %}                                                      |                                                                                                                          |                                                                                                    |
| {% endtabs %}                                                     |                                                                                                                          |                                                                                                    |

{% hint style="info" %}
While the selector tables below are accurate, some tables may be incomplete and will be updated soon.
{% endhint %}

## Deployed Facet Selectors

### **DiamondCutFacet**

| Method         | Selector   | Read/Write |
| -------------- | ---------- | ---------- |
| diamondCut     | 0x3a6327ed | Write      |
| initialize     | 0x439fab91 | Write      |
| onFacetRemoval | 0x135df662 | Write      |
| facetName      | 0x5b6f4d01 | Read       |
| facetVersion   | 0xadc209eb | Read       |

### **DiamondLoupeFacet**

| Method                 | Selector   | Read/Write |
| ---------------------- | ---------- | ---------- |
| facetAddress           | 0xcdffacc6 | Read       |
| facetAddresses         | 0x52ef6b2c | Read       |
| facetFunctionSelectors | 0xadfca15e | Read       |
| facets                 | 0x7a0ed627 | Read       |
| supportsInterface      | 0x01ffc9a7 | Read       |

### **AccessControlFacet**

| Method                | Selector   | Read/Write |
| --------------------- | ---------- | ---------- |
| acceptOwnership       | 0x79ba5097 | Write      |
| setMoreVaultsRegistry | 0x167762cf | Write      |
| transferCuratorship   | 0xa41942a4 | Write      |
| transferGuardian      | 0x091954cd | Write      |
| transferOwnership     | 0xf2fde38b | Write      |
| curator               | 0xe66f53b7 | Read       |
| guardian              | 0x452a9320 | Read       |
| moreVaultsRegistry    | 0xc3808264 | Read       |
| owner                 | 0x8da5cb5b | Read       |
| pendingOwner          | 0xe30c3978 | Read       |

### **ConfigurationFacet**

| Method                    | Selector   | Read/Write |
| ------------------------- | ---------- | ---------- |
| addAvailableAsset         | 0xe8d4fbf4 | Write      |
| addAvailableAssets        | 0xa97d2f66 | Write      |
| disableAssetToDeposit     | 0x319e276c | Write      |
| disableDepositWhitelist   | 0x59af9dc9 | Write      |
| enableAssetToDeposit      | 0x624ee397 | Write      |
| enableDepositWhitelist    | 0x42ec5e87 | Write      |
| setDepositCapacity        | 0x39bc366b | Write      |
| setDepositWhitelist       | 0x44333c94 | Write      |
| setFeeRecipient           | 0xe74b981b | Write      |
| setGasLimitForAccounting  | 0x56fd5057 | Write      |
| setMaxSlippagePercent     | 0xb6517727 | Write      |
| setTimeLockPeriod         | 0x9303b16f | Write      |
| depositCapacity           | 0xf35ce643 | Read       |
| fee                       | 0xddca3f43 | Read       |
| feeRecipient              | 0x46904840 | Read       |
| getAvailableAssets        | 0x89332f7f | Read       |
| getDepositableAssets      | 0x60155cb4 | Read       |
| getDepositWhitelist       | 0x1f8052bd | Read       |
| isAssetAvailable          | 0x723ae6fd | Read       |
| isAssetDepositable        | 0x352aae2f | Read       |
| isDepositWhitelistEnabled | 0xca13779f | Read       |
| timeLockPeriod            | 0x78446bc1 | Read       |

### **MulticallFace**t

| Method            | Selector   | Read/Write |
| ----------------- | ---------- | ---------- |
| submitActions     | 0xf3590f63 | Write      |
| executeActions    | 0x14bd81c9 | Write      |
| vetoActions       | 0x48574e7a | Write      |
| getPendingActions | 0x109b1f0c | Read       |
| getCurrentNonce   | 0x3a60c386 | Read       |

### **VaultFacet**

| Method                | Selector   | Read/Write |
| --------------------- | ---------- | ---------- |
| approve               | 0x095ea7b3 | Write      |
| clearRequest          | 0x4f97638f | Write      |
| deposit               | 0x6e553f65 | Write      |
| deposit               | 0x98c601aa | Write      |
| mint                  | 0x94bf804d | Write      |
| pause                 | 0x8456cb59 | Write      |
| redeem                | 0xba087652 | Write      |
| requestRedeem         | 0xaa2f892d | Write      |
| requestWithdraw       | 0x745400c9 | Write      |
| setFee                | 0xae275dce | Write      |
| setWithdrawalTimelock | 0x0d28cf5c | Write      |
| transfer              | 0xa9059cbb | Write      |
| transferFrom          | 0x23b872dd | Write      |
| unpause               | 0x3f4ba83a | Write      |
| withdraw              | 0xb460af94 | Write      |
| allowance             | 0xdd62ed3e | Read       |
| asset                 | 0x38d52e0f | Read       |
| balanceOf             | 0x70a08231 | Read       |
| convertToAssets       | 0x07a2d13a | Read       |
| convertToShares       | 0xc6e6f592 | Read       |
| decimals              | 0x313ce567 | Read       |
| getStakingAddresses   | 0x60b95bce | Read       |
| getWithdrawalRequest  | 0x8c661b5d | Read       |
| getWithdrawalTimelock | 0x536f899b | Read       |
| maxDeposit            | 0x402d267d | Read       |
| maxMint               | 0xc63d75b6 | Read       |
| maxRedeem             | 0xd905777e | Read       |
| maxWithdraw           | 0xce96cb77 | Read       |
| name                  | 0x06fdde03 | Read       |
| paused                | 0x5c975abb | Read       |
| previewDeposit        | 0xef8b30f7 | Read       |
| previewMint           | 0xb3d7f6b9 | Read       |
| previewRedeem         | 0x4cdad506 | Read       |
| previewWithdraw       | 0x0a28a477 | Read       |
| stakedAmountOfAsset   | 0xf2175273 | Read       |
| symbol                | 0x95d89b41 | Read       |
| totalAssets           | 0x01e1d114 | Read       |
| totalSupply           | 0x18160ddd | Read       |

### **CurveFacet**

| Method               | Selector   | Read/Write |
| -------------------- | ---------- | ---------- |
| beforeAccounting     | 0xa85367f8 | Write      |
| exchange             | 0xc02d75e0 | Write      |
| exchangeNg           | 0xb91e086a | Write      |
| initialize           | 0x439fab91 | Write      |
| onFacetRemoval       | 0xf8e2daa9 | Write      |
| accountingCurveFacet | 0x732e1694 | Read       |
| facetName            | 0x5b6f4d01 | Read       |
| facetVersion         | 0xadc209eb | Read       |

### **MoreLeverageFacet**

| Method                      | Selector   | Read/Write |
| --------------------------- | ---------- | ---------- |
| exitToNative                | 0x1c6ec35e | Write      |
| exitToToken                 | 0xdb6a5eea | Write      |
| forceRebalanceDown          | 0x7d330b1e | Write      |
| forceRebalanceUp            | 0x876e27cc | Write      |
| investWithNative            | 0x4cbe1068 | Write      |
| investWithToken             | 0xb07c63c7 | Write      |
| rebalanceDown               | 0xf93918b9 | Write      |
| rebalanceUp                 | 0x4ec6266b | Write      |
| accountingMORELeverageFacet | 0x9db8dc90 | Read       |

{% hint style="info" %}
The Origami facet is an interface with the Origami and Morigami, a fork of Origami. Morigami limits contract calls to the MORE Vault, facilitating an isolated environment to deploy leveraged strategies on various lending venues. To deploy an instance of Morigami, reach out on [Discord](https://discord.gg/MmpBdPMQt8).
{% endhint %}

### **AaveV3Facet**

| Method                        | Selector   | Read/Write |
| ----------------------------- | ---------- | ---------- |
| borrow                        | 0x16d78527 | Write      |
| claimAllRewards               | 0x32f2298a | Write      |
| flashLoan                     | 0x002ade00 | Write      |
| flashLoanSimple               | 0x5f4b1e07 | Write      |
| rebalanceStableBorrowRate     | 0xcf0ba8d8 | Write      |
| repay                         | 0x49002749 | Write      |
| repayWithATokens              | 0xf9de0961 | Write      |
| setUserEMode                  | 0xe5a2e6fa | Write      |
| setUserUseReserveAsCollateral | 0xfa51854c | Write      |
| supply                        | 0x57a31521 | Write      |
| swapBorrowRateMode            | 0x9270c759 | Write      |
| withdraw                      | 0xd9caed12 | Write      |
| accountingAaveV3Facet         | 0xcf412e82 | Read       |

### **CurveLiquidityGaugeV6Facet**

| Method                               | Selector   | Read/Write |
| ------------------------------------ | ---------- | ---------- |
| claimRewardsCurveGaugeV6             | 0x0d89ca1c | Write      |
| depositCurveGaugeV6                  | 0x36eabf74 | Write      |
| mintCRV                              | 0xc5057358 | Write      |
| withdrawCurveGaugeV6                 | 0x7963ac07 | Write      |
| accountingCurveLiquidityGaugeV6Facet | 0x91a98e1c | Read       |

### **UniswapV3Facet**

| Method            | Selector   | Read/Write |
| ----------------- | ---------- | ---------- |
| exactInput        | 0x0ce4dce9 | Write      |
| exactInputSingle  | 0x966d7db0 | Write      |
| exactOutput       | 0x5368fea4 | Write      |
| exactOutputSingle | 0x8d357137 | Write      |

### **MultiRewardsFacet**

| Method                      | Selector   | Read/Write |
| --------------------------- | ---------- | ---------- |
| exit                        | 0xb42652e9 | Write      |
| getReward                   | 0xc00007b0 | Write      |
| initialize                  | 0x439fab91 | Write      |
| onFacetRemoval              | 0xf8e2daa9 | Write      |
| stake                       | 0xadc9772e | Write      |
| withdraw                    | 0xf3fef3a3 | Write      |
| accountingMultiRewardsFacet | 0xabc81fba | Read       |
| facetName                   | 0x5b6f4d01 | Read       |
| facetVersion                | 0xadc209eb | Read       |


# Markets Framework

MORE Markets groups every listed asset inside Pool contracts. Users supply tokens to earn yield through automatically-accruing interest-bearing tokens, or post collateral to open over-collateralized loans at variable rates. The same Pool can also issue flash loans, uncollateralized funds that must be returned within one block, enabling arbitrage, refinancing, and other advanced strategies without ever leaving the protocol’s accounting layer.

Capital efficiency is balanced by several built-in safeguards. A health factor continuously measures each account’s solvency; if it falls below 1.00, liquidators repay part of the debt and seize discounted collateral. Isolation Mode and per-asset Supply and Borrow Caps can be activated to limit systemic exposure to newer tokens. Efficiency Mode (E-Mode) lets closely correlated assets unlock higher loan-to-value ratios without jeopardizing the rest of the pool. Price feeds are sourced from battle-tested oracles and all risk parameters can be updated on-chain through governance.


# Liquidity Protocol

MORE is a decentralized network of autonomous smart contracts designed to facilitate trust-minimized lending and borrowing of digital assets. MORE Marketsis fully non-custodial, preserving end-to-end user sovereignty over their funds.

Markets, or liquidity pools, created using MORE Markets are capable of accepting deposits from users. Simultaneously, users with deposits in those markets may borrow against their tokens, using them as collateral.

MORE's smart contracts automatically enforce rules such as collateral levels, interest adjustments, and borrowing limits, providing a trust-minimized environment where security is rooted in verifiable on-chain logic, rather than third-party gatekeepers.

MORE relies on a community-centric process to improve and upgrade the MORE Markets protocol. The community may deploy markets, but it is has no authority to adjust parameters of markets deployed by other users. MORE aims to serve as a leading primitive for permissionless finance and a catalyst for fully customizable liquidity deployments.


# Supply

## **Supplying Tokens**

MORE Markets provides a facility for users to deposit tokens and earn yield on those holdings, while also granting the flexibility to treat the very same deposits as collateral for borrowing. Once tokens are transferred into MORE’s on-chain contracts, responsible for managing overcollateralized loans, depositors begin accruing interest.&#x20;

## **How Rates Are Determined**

The protocol’s interest mechanism is anchored in the utilization rate, the percentage of the market that is currently borrowed compared to what has been supplied. Alongside utilization, certain parameters, like collateral thresholds or rate curve factors, can be updated by market creators. Real-time data, including token inventory, price oracles, and ongoing borrow levels, inform these decisions. As users supply liquidity, take out loans, repay debts, or withdraw funds, the protocol recalibrates the interest structure, rewarding suppliers in proportion to evolving supply-and-demand conditions.


# Borrow

## **Borrowing Tokens**

Within MORE Markets, users can tap into liquidity by leveraging deposited tokens as collateral, maintaining exposure to one asset without selling it off, while borrowing another to invest for additional yield. This approach introduces liquidation risk. Should the market value of the collateral dip under the liquidation threshold, the protocol triggers a liquidation event to safeguard the value of suppliers' deposits.

## **Dynamic Interest Rates**

Interest rates for borrowers are continuously adjusted based on real-time supply and demand. The utilization rate measures the portion of the total supplied assets currently being borrowed. When utilization climbs, interest rates follow suit to mirror heightened demand. Each set of assets—or reserve—features distinct parameters, promoting a balanced ecosystem for both borrowers and those supplying liquidity.

## **Maintaining a Healthy Collateral Ratio**

Borrowers should keep track of their collateral-to-debt ratio to avoid falling below the protocol’s liquidation boundaries. As tokens fluctuate in price and accrued interest accumulates, positions that once appeared safe may inch closer to liquidation. By proactively managing the health factor by adding more collateral or repaying a portion of borrowed funds, users can ensure they remain securely overcollateralized, even in volatile market conditions.


# Repay

In MORE, it is necessary to settle outstanding debt to close a borrowed position or avoid liquidation. Borrowers must repay using the token they initially borrowed or in some cases, an interest-bearing tokens tied to the same underlying asset can be used. In many cases, periphery contracts are available to handle repayments with alternative tokens, eliminating the need for manual swaps. This flexibility streamlines the process of adjusting or closing positions whenever necessary.

By paying back a portion—or the entirety—of the borrowed amount, users boost their collateral to debt ratio, which strengthens their overall collateralization. As this ratio climbs, the risk of liquidation declines, and borrowers are afforded the option to withdraw some of their collateral. Repayment not only safeguards supplied assets from forced liquidation but also restores a borrower’s access to the liquidity they initially locked up.


# Withdraw

## **Withdrawing Liquidity**

Depositors can reclaim their supplied tokens—including any accrued interest—provided there is sufficient unborrowed liquidity in the underlying asset pool. The withdrawal amount depends on both the availability of the base tokens and the depositor’s active borrow status. When using periphery contracts, users can withdraw in alternative assets directly, bypassing the need for manual conversions. This streamlined approach offers flexibility for reorganizing a portfolio without excess overhead.

## **Collateral Considerations**

If a borrower chooses to withdraw while holding a debt position, it’s crucial to maintain a healthy collateral ratio. Reducing one’s supply of collateral can lower the level of overcollateralization and edge the account closer to liquidation. To avoid forced liquidations, users should ensure that the remaining collateral remains above the protocol-defined threshold once the withdrawal is complete. Maintaining this buffer helps preserve market stability, minimizing the risk of liquidation and protecting both the borrower and the system at large.


# Liquidations

The health factor serves as the main barometer for gauging the security of a borrowing position. It illustrates how much collateral headroom a user retains before risking liquidation. Formally, it’s calculated as:

```
Health Factor = (Total Collateral Value * Weighted Average Liquidation Threshold) / Total Borrow Value
```

A value under **1** signals an undercollateralized position, prone to liquidation.

## Liquidation Thresholds

Each asset in each market in MORE carries its own liquidation threshold, a setting that defines how aggressively the protocol treats that asset as collateral. For instance, if a user deposits $10,000 of ETH with an 80% threshold and borrows $6,000 worth of stablecoins, the resulting health factor stands at 1.33, safely above the point of liquidation.

## Position Management

Because real-world markets are fluid, the health factor shifts whenever collateral or borrowed asset prices change, or if the user adjusts their borrow level. To lower liquidation risk, a user can repay part of their debt or add additional collateral, both of which raise the health factor.

## Volatility and Correlation

There is no single “ideal” health factor across the board. It depends on the volatility and correlation of the underlying tokens. Highly correlated assets or relatively stable assets (like stablecoins) may allow a lower health factor without increasing exposure to unpredictable price swings.

## Liquidation Process

Should the health factor drop below 1, the protocol marks the position for liquidation. This status implies the collateral is insufficient to secure the outstanding borrow. Liquidators in the network then compete to repay a fraction of the debt, receiving the corresponding collateral plus a liquidation bonus (financed by a fee paid by the borrower). Since anyone can initiate this action, liquidators often rely on timely monitoring and rapid transaction submission to succeed.


# Flash Loans

## **Flash Loans**

Flash loans enable users to borrow assets and return them before the blockchain finalizes its current block, hence the term one-block borrowing. In MORE, these loans can be taken without collateral. Instead, borrowers must repay the borrowed amount plus a small fee, or open a corresponding borrow position, all within the same transaction. If the loan isn’t closed out in that short window, the entire operation reverts.

## **Flash Loan Fees**

In a typical scenario, the fee sits in a low percentage range (0.05%–0.07%), reflecting the short timeframe and minimal liquidation risk for the protocol. Although these fees may fluctuate based on the market’s configuration, the principle remains the same: pay back the original principal plus the protocol’s fee before the transaction completes.

## **Advanced Uses**

Flash loans demand specific technical skills such as understanding event sequences, transaction atomicity, and how on-chain operations revert if they fail. Those building dApps around MORE’s flash loan feature will find it especially valuable for complex rebalancing, automated debt closure, or other advanced financial maneuvers.&#x20;

MORE Vaults users, however, can use flash loans in the transaction builder so long as an operation to repay the loan is included in the same batch, in an acceptable order.


# Risks

In MORE, users enjoy permissionless access to digital asset liquidity, but participating in an open system always carries certain risks. Below is an overview of key risk areas and the measures that help maintain a secure environment.

### Smart Contract Vulnerabilities

Because MORE relies on on-chain code for its core operations, there’s a risk of software bugs or potential loopholes within both the protocol logic and any tokens it supports. To mitigate these threats:

* All critical contracts are publicly accessible open-source code, allowing developers and security experts to examine the code in detail.
* Periodic audits by independent security teams help spot issues before they can be exploited.
* By incentivizing the community to discover and disclose bugs, MORE encourages proactive fixes and improvements through bounties.

### Oracle Risk

Price data for the underlying collateral and loan assets is supplied by third-party oracles, which introduces the possibility of incorrect or manipulated values.

MORE is oracle-agnostic, but works out-of-the-box with Chainlink and Pyth, both respected protocols that source diverse data and provide robust resistance to single points of failure. Users should verify the oracles used in markets before depositing.

### Collateral Fluctuations

Variations in asset prices or liquidity can cause positions to become undercollateralized. Certain metrics like loan-to-value (LTV) and liquidation thresholds ensure positions remain sufficiently backed. Market creators or automated monitors track collateral performance, suggesting parameter adjustments to keep the protocol healthy. They can adjust these parameters as conditions evolve, preventing severe imbalances.

### Multi-Network and Bridge Exposure

MORE Markets accept deposits and withdrawals through Layer 0 and Axelar bridges. The protocol itslef, however, is not yet deployed on multiple blockchains. Each cross-chain bridge has its own security profile and potential bottlenecks.&#x20;

To mitigate these risks new networks or bridges undergo thorough testing and review before being integrated, ensuring that subpar infrastructures are excluded. Any protocol expansion or deployment on additional chains is done with community visibility, giving users insight into potential risks and benefits. Continuous monitoring of throughput, censorship resistance, and known exploits within each blockchain or bridge helps the protocol maintain safe entry points.

### Bad Debt

To enable efficient liquidations, liquidation thresholds and liquidation penalties are set based on an asset’s risk. In the rare case that the liquidation system cannot repay debt in time, the undercollateralized part accrues in the protocol as bad debt. Bad debt is then socialized across lenders.

In future versions of MORE, an insurance module will be introduced which acts as the first line of defense. The insurance module will essentially allow lenders to self-select into junior and senior tranches.

## **Risk & Innovation**

MORE seeks to provide a permissionless environment for liquidity, but responsible risk management for the core contracts is key to sustaining trust and functionality for all market creators and depositors. Comprehensive audits, reliable oracles, strict collateral requirements, and secure cross-chain messaging ensure the protocol works to mitigate potential pitfalls.


# Markets

A market is a decentralized financial mechanism that allows users to participate as either liquidity providers or borrowers. These markets can be created by anyone, with the creator defining key parameters such as reserve configurations and collateralization thresholds. Liquidity providers contribute assets to the market, which borrowers can access by locking collateral in overcollateralized positions. In return, providers earn interest, while borrowers gain access to liquidity, all facilitated through automated smart contracts.

MORE markets operate on the Flow blockchain network, where market creators define parameters and reserve settings. Ideally, these decisions must strike a balance between ensuring adequate liquidity for market participants and managing risk exposure. Smart contracts enforce these parameters, automating essential processes such as borrowing, repayment, and liquidation without relying on intermediaries. This decentralized framework enables permissionless market creation while maintaining a trustless and resilient financial ecosystem.


# Liquidity Pool

On MORE Markets, every liquidity pool functions like a self‑contained, on‑chain money market. Inside each pool, two kinds of participants meet:

* **Suppliers** contribute tokens, swelling the pool’s reserves.
* **Borrowers** post more collateral than they wish to borrow, unlocking those reserves on demand.

## **Pool Parameters**

While MORE Markets is working towards a permissionless mode, for the moment, community governance signs off on a set of parameters for every pool: reserve caps, loan‑to‑value ratios, interest‑rate models, liquidation thresholds, and more. These choices strike a balance between healthy liquidity and prudent risk.

## **Functionality**

Immutable smart contracts encode the rules and run the show:

* **Borrow / repay**: executed atomically without middlemen.
* **Interest accrual**: suppliers’ yields and borrowers’ rates tick in real time.
* **Liquidations**: positions that drift beyond safety margins are unwound automatically.

Because all logic lives on the blockchain, every movement of capital is transparent, permissionless, and verifiable.

Suppliers earn native yield beginning when they deposit. Borrowers tap instant liquidity without giving up ownership of their collateral. And because governance decisions flow straight into code, MORE Markets delivers a lending experience that is open, efficient, and secure—by design.


# Interest Rate Model

More uses an interest rate model designed to balance supply and demand within lending pools, with interest rates adjusting automatically, based on how far away the utilization rate of the pool is from the preset target utilization rate.

Each asset is assigned a distinct target utilization rate, reflecting its unique risk profile. For example,

* Stablecoins such as USDC tend to have high borrowing demand and low volatility, so their target utilization rate is typically higher (80-90%).
* More volatile tokens such as ETH or WFLOW have lower set target utilizations (60-70%)  due to greater potential for price fluctuations.

## Interest Rate Curve

The model uses a two-line, kinked linear interest rate curve, which adjusts dynamically based on utilization.

Key Parameters:

* Base Rate: The minimum interest rate when utilization is very low.
* Slope 1: The rate of increase in the interest rate below optimal utilization rate.
* Slope 2: The sharper rate of increase when utilization exceeds the optimal utilization rate.

**Low incline**: When utilization is below its target, the interest rate increases gradually, with the interest rate calculated based on this formula:

{% code fullWidth="false" %}

```
Interest rate = base rate+(optimal utilization*slope 1)
```

{% endcode %}

**Steep incline**: Once utilization exceeds its target, the interest rate increases sharply. This discourages further borrowing, incentivizes borrowers to pay back their loans, and protects the pool from liquidity exhaustion. This is achieved via this equation.

{% code fullWidth="false" %}

```
Interest rate = base rate+(optimal utilization*slope 1)+((utilization rate-optimal utilization)*slope 2)
```

{% endcode %}

The graph below shows an example of how the interest rate and utilization rate interact in a stablecoin lending pool.

<figure><img src="/files/DgzEzzxkmRQgPlTan3J4" alt=""><figcaption></figcaption></figure>


# Reserve

A reserve is an instance of a token within a MORE market, governed by a set of parameters designed to manage risk and optimize liquidity. Unlike governance-driven systems, these parameters are established by the creator of each market at the time of deployment and can only be modified by them. This permissionless approach allows for the independent creation of market conditions without requiring external approval or consensus.

## **Key Reserve Parameters**

* **Loan-to-Value (LTV)**: Determines the maximum borrowing capacity relative to the collateral’s value. For example, an LTV of 80% means a borrower can take out a loan worth up to 80% of their deposited collateral. Assets with an LTV of 0% cannot be used as collateral.
* **Liquidation Threshold**: Defines the point at which a borrower’s position becomes subject to liquidation. If the value of the collateral falls below this threshold, liquidation may occur to repay outstanding debt.
* **Borrowing Enabled**: Indicates whether a reserve allows its liquidity to be borrowed. If borrowing is disabled, liquidity can only be supplied or withdrawn.
* **Caps** are restrictions help maintain liquidity availability and prevent overexposure to volatility.
  * **Supply cap**: Sets limits on how much of a token can be supplied to a market.&#x20;
  * **Borrow cap**: Sets limits on how much of a token can be borrowed from a market.&#x20;
* **Interest Rate Model**: Interest rates adjust dynamically based on how much liquidity is utilized. As borrowing increases, interest rates rise to incentivize repayment and ensure sufficient liquidity remains available for withdrawals and liquidations. The market creator sets the base rate and utilization curve parameters, which define how rates change based on borrowing demand.

## **Dynamic Parameters in a Permissionless System**

Since MORE operates without centralized governance, reserve parameters are entirely defined by the market creator at the time of deployment. These settings do not change unless the creator modifies them, ensuring that market conditions are determined by individual participants rather than collective decision-making. This model allows for flexible, competitive markets where different configurations can emerge to serve diverse market needs. Instead of governance votes, new market with adjusted parameters can be deployed freely, fostering an open and adaptable financial environment.


# Incentives

In the MORE protocol, incentives play a crucial role in encouraging participation from both suppliers and borrowers, ensuring that markets remain active and efficient. Unlike governance-driven models, where incentives are collectively decided, MORE operates on a permissionless basis. This allows market creators or external stakeholders to introduce rewards independently, without requiring approval from a central authority. As a result, different markets can develop unique incentive structures to attract liquidity and sustain engagement.

## **Incentive Mechanisms in Markets**

To promote activity within a market, incentives can be applied to either the supply or borrowing side. A market creator can offer rewards to those who provide liquidity or take out loans, increasing participation and ensuring a steady flow of assets. Additionally, third-party entities, such as token issuers or other financial participants, can introduce incentives to boost adoption and enhance liquidity for specific assets. Since MORE does not impose governance-based restrictions, these incentives are implemented solely at the discretion of those funding them, leading to a diverse and competitive market environment.

Reward distribution is automated, with participants receiving incentives proportionally based on their level of engagement. These rewards are claimable through smart contracts that handle allocation and payouts without intermediaries. By enabling market creators to design and deploy their own incentive structures, MORE fosters a decentralized and adaptable financial system where markets evolve organically to meet demand.


# Oracles

In MORE Markets, each market relies on an oracle contract to provide accurate asset pricing, which is essential for determining collateralization requirements. Unlike governance-driven systems where a specific oracle is selected through collective decision-making for each market, the choice of an oracle in MORE is determined by the market creator. This permissionless approach allows each market creator to define its own price feed sources, ensuring flexibility while maintaining reliable pricing mechanisms.

## **Types of Oracles Used in MORE Markets**

MORE markets can integrate different types of oracle contracts, depending on the needs of the market creator. Two primary approaches are commonly used:

* **Decentralized Price Feeds:** These oracles aggregate price data from multiple sources to ensure accuracy and resilience against manipulation or outages. MORE is compatible with Chainlink out-of-the-box. Pyth oracles can be wrapped in the Pyth Scheduler to achieve compatibility with MORE.
* **Correlated Asset Oracles:** For assets closely tied to another asset’s value—such as wrapped tokens—correlated price oracles can be used. These oracles mirror the price movements of the underlying asset, providing an efficient and reliable way to track asset values without requiring independent price discovery.

Oracle contracts update price feeds based on predefined logic, such as time-based or deviation-based triggers, ensuring that market conditions remain up to date. Since the selection and implementation of an oracle are at the discretion of the market creator, MORE externalizes market management, where pricing mechanisms can adapt to different use cases without requiring centralized oversight.


# MOST Mode

MOST mode allows borrowers to get the most out of their collateral. Highly-correlated assets are grouped into categories (e.g. dollar-pegged stablecoins, ETH and its staked derivatives) with their own parameters (e.g. LTV, Liquidation threshold, liquidation penalty). Borrowers benefit from higher LTVs designed to maximize capital efficiency if the collateral and loan assets are highly correlated in price.

For example, while the standard LTV for wstETH as collateral might be 75%, a borrower might get an LTV of 90% if borrowing other ETH-correlated assets through MOST Mode.

A single asset can be part of multiple asset categories.


# Contracts

## Accounts

| Name                           | Account                                    |
| ------------------------------ | ------------------------------------------ |
| deployer                       | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| aclAdmin                       | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| emergencyAdmin                 | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| poolAdmin                      | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| addressesProviderRegistryOwner | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| treasuryProxyAdmin             | 0xE2C603E9064BE6b1866B3C89fD05130eB3DB459c |
| incentivesProxyAdmin           | 0xE2C603E9064BE6b1866B3C89fD05130eB3DB459c |
| incentivesEmissionManager      | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |
| incentivesRewardsVault         | 0x1a638EdA3f63f7a311e2C83f51201EBB42B43499 |

## Deployments

| Contract                                     | Address                                    |
| -------------------------------------------- | ------------------------------------------ |
| PoolAddressesProviderRegistry                | 0x62Ca0121B1a851a51467BBeefB5D8Ab730cE4c7C |
| SupplyLogic                                  | 0x7f2b61478aAB35b2412A98481b74f87F329f3Ca3 |
| BorrowLogic                                  | 0xB8e587F477655Fd29D6C14548ce29fD8E8851Caf |
| LiquidationLogic                             | 0x8240493C804A96E992d28bBEA96C3A1a4AD034cd |
| EModeLogic                                   | 0xb08A68238EdF1251f82FA2C82494Faaac58A4DEC |
| BridgeLogic                                  | 0x76Af77a51244BfBB17e5f78318709dD9619409e3 |
| ConfiguratorLogic                            | 0xb98c3575592d285ce829eDf0127319978d36F375 |
| FlashLoanLogic                               | 0xbeA39a60a6265D3Fd2E0C0C222f6cc27909Cd17b |
| PoolLogic                                    | 0x29166f43aA95911CbffBB394f0C05B5c48836796 |
| TreasuryProxy                                | 0x386ADC21013d47785c6A180Fe3c5DFdE8649CFDA |
| Treasury-Controller                          | 0xCB8FB75444E7B32B57c4199F73213E123bfDFfC2 |
| Treasury-Implementation                      | 0x475065352dd9d31F6d9d93235d2DbC803Be5e63B |
| PoolAddressesProvider-Flow                   | 0x1830a96466d1d108935865c75B0a9548681Cfd9A |
| PoolDataProvider-Flow                        | 0x79e71e3c0EDF2B88b0aB38E9A1eF0F6a230e56bf |
| Pool-Implementation                          | 0x91eB147463a84112a57DAd27a180cDfDd628806B |
| PoolConfigurator-Implementation              | 0x5bF5eF4a7bE7BB19fC388DAcF90D7c3cf9950B0B |
| ReservesSetupHelper                          | 0x667F84b59a83842fEEAD631A84205418d0140f65 |
| ACLManager-Flow                              | 0x5729Bd11b09fA80487221C32F47d22fC255B1A5D |
| AaveOracle-Flow                              | 0x7287f12c268d7Dff22AAa5c2AA242D7640041cB1 |
| Pool-Proxy-Flow                              | 0xbC92aaC2DBBF42215248B5688eB3D3d2b32F2c8d |
| PoolConfigurator-Proxy-Flow                  | 0x8385Ed74A1A49ebd08044b17e17153cb9d0F0AD9 |
| EmissionManager                              | 0xd72688AA6bdE548476D411b7cCF3E8B32ea53c52 |
| IncentivesV2-Implementation                  | 0xA64a0B58c63CBacA5f7e6Dc622C209DcAcFF935c |
| IncentivesProxy                              | 0xEdcF3F193831F41fe193D3508a984189e20ac3Da |
| AToken-Flow                                  | 0x035021EbF71626E1DFcabDf180fCE5AF6e078a89 |
| DelegationAwareAToken-Flow                   | 0x9B170432b18074e2623E45B61a6e7271d76414f9 |
| StableDebtToken-Flow                         | 0xFb0908815876fd585C91b6E870AC61579B4078D0 |
| VariableDebtToken-Flow                       | 0x7A3dBC93f4F3716971B97a62dFc006D4F006a067 |
| ReserveStrategy-rateStrategyVolatileOneFlow  | 0x2B94Bb209dda3A67A8D32154CC22539FA8030693 |
| ReserveStrategy-rateStrategyVolatileTwoFlow  | 0x39B5664E7050146fC5d29738eea6510C68DAFF40 |
| ReserveStrategy-rateStrategyVolatileThreelow | 0xBE9d3ED24F9FD408650Bb27484aF9614D6593B04 |
| ReserveStrategy-rateStrategyStableOneFlow    | 0xE3568679d8f2819E07c4282c91C9dD1c4A134C31 |
| ReserveStrategy-rateStrategyStableTwoFlow    | 0xd51514f9456b5bA298bc512313f0b22A5e76b970 |
| WFLOW-AToken-Flow                            | 0x02BF4bd075c1b7C8D85F54777eaAA3638135c059 |
| WFLOW-VariableDebtToken-Flow                 | 0x8ba0641DBB9Cd2dBEDFCb8f9F179D88289F6b6C0 |
| WFLOW-StableDebtToken-Flow                   | 0x4D050f27e52b5127BE9dc24d70813960b9488Fe6 |
| ANKRFLOW-AToken-Flow                         | 0xD10cd10260e87eFdf36618621458eeAA996B8267 |
| ANKRFLOW-VariableDebtToken-Flow              | 0x8e2052FBaBdA6Cae8AE011Fbe36f4017FF97f202 |
| ANKRFLOW-StableDebtToken-Flow                | 0x54AbE1Aa16941a3B62Cb75395eDba1AA2Da12c10 |
| USDC.E-AToken-Flow                           | 0x4B5bC00fe319f01aFed9B15Acd67e0A2F72Ba602 |
| USDC.E-VariableDebtToken-Flow                | 0xAF73D33CA91cD3543dBca0323720190dAEE00708 |
| USDC.E-StableDebtToken-Flow                  | 0xE512C05D82bF1ae0EcE1628d91508Fa294497cB3 |
| CBBTC-AToken-Flow                            | 0x72756F76630DfFea4Db019960b00139aa123c2bE |
| CBBTC-VariableDebtToken-Flow                 | 0xB09b46bCf9e8B7dc538Ad214210cBC514F370CDa |
| CBBTC-StableDebtToken-Flow                   | 0x5e3EaCBC3A69237C1da727A19E54EaB09d31BFd6 |
| WrappedTokenGatewayV3                        | 0xe847D70a35bbb9DA4133EdC1Cc9cCfFe0C379b4f |
| WalletBalanceProvider                        | 0xC66DFBE13F0ED9EFE4cA2113a0c26C6a2008bBD0 |
| UiIncentiveDataProviderV3                    | 0x7b589494de15C30FBBA49B2b478cBEcC561f5A87 |
| UiPoolDataProviderV3                         | 0x2148e6253b23122Ee78B3fa6DcdDbefae426EB78 |


# Brand Assets

## MORE Markets

<div align="center"><figure><img src="/files/HniwxMJEaTmXRgMK8W30" alt=""><figcaption><p>MORE Markets Icon Transparent Background</p></figcaption></figure></div>

<figure><img src="/files/UuOXmPxc3rSOudTlJfno" alt=""><figcaption><p>MORE Markets Icon Dark Background</p></figcaption></figure>

<figure><img src="/files/p6rrqPyyUtWFqgU7My9v" alt=""><figcaption><p>MORE Markets Logo Transparent Background</p></figcaption></figure>

<figure><img src="/files/Qd2qsN3FT8GOv6V0DloU" alt=""><figcaption><p>MORE Markets Logo Dark Background</p></figcaption></figure>

## Color System

Primary Color: #F58420

Secondary Color: #FCB319

Background Color: #070707

## Fonts & Typography

### Titles and Headers

Inter Semi-bold: <https://fonts.google.com/specimen/Inter>

### Paragraph Text

Inter Light: <https://fonts.google.com/specimen/Inter>


# Organization

## MORE DAO

The mission of MORE DAO is to oversee and drive the development of the protocol in service of its members, stakeholders, and users. As a decentralized autonomous organization, MORE DAO is committed to fostering growth, innovation, and collaboration within its ecosystem, ensuring long-term value creation and sustainability. Its roles and responsibilities include:&#x20;

Members of MORE DAO include anyone on the Governance Council, anyone who holds the non-transferrable MORE DAO NFT, is a supplier to any of the MORE protocols or anyone who holds the MORE token or any derivative of a staked, vested or locked MORE token. As the protocol scales, governance shall be progressively decentralized from governance council voting to on-chain token voting using the MORE token or its derivatives such that direct token voting determines the outcomes of proposals. Members can participate in the governance process on Discord and Commonwealth.

## MORE Foundation

The MORE Foundation has been formed to serve the MORE DAO. The Foundation aims to facilitate the growth and development of the MORE protocols and its ecosystem. The Foundation will adopt Bylaws and other required formation documents, necessary to establish the Foundation’s initial governance structure.

## MORE DAO Governance Council

The MORE Governance Council functions as an advisory body representing diverse cohorts of stakeholders within the DAO. Rather than having standalone members, it is composed of individuals who each belong to a particular stakeholder group. The Council’s chief role is to support key initiatives, spanning tokenomics, expansion of the network, and strategic alliances. Representatives from other DAOs may also participate in this capacity. Overall, MORE DAO’s governance council currently includes 7 members and will soon expand to 9 members.

To start with, these stakeholder groups are:

* Group 1: Core team and key service providers
* Group 2: Community members and curators
* Group 3: Key advisors

Further stakeholder groups may be added in the future.

It goes without saying that MORE Governance Council is accountable to MORE DAO’s members who will soon be able to define the scope of MORE Governance Council’s executive power over operational decisions by passing and refining these at any time in a new governance proposal through the MOP process. In that sense, holders of MORE’s tokens will be represented in the MORE Governance Council. The DAO is the overseeing and superior entity that governs MORE Governance Council through proposals. Anyone who joins the MORE Governance Council will also be added to MORE DAO’s Snapshot space as an author.

### Initial Governance Council Members

| Name         | Address                                    |
| ------------ | ------------------------------------------ |
| d3athwing    | 0x87Bb72aCbE36C1DB588DBf995cCE8EaE5bCbC59B |
| 0x12p4c      | 0x007077Bf333c69673a13a897039DcAF99b505C1a |
| Nomadic      | 0x9B4E845b3b0151A84dc11D4734E4FA61A4B934DB |
| SafeYieldsAI | 0xe8c7C520426746141D0921034bEc0F0315ccb88e |
| seb3point0   | 0xE4476fc34BF90939Eaf86b42320cA37ff576484a |
| TAU Labs     | 0x4406d8E9CD882800887541f9108D385116E062Eb |
| eengo24      | 0x78ec02fE7b51d97aFa7D13e5748514fC10CC6ea2 |

## MORE DAO Security Council

The Security Council is a specialized body within the MORE DAO, consisting of 3 members who serve as signatories for a designated DAO multisig wallet. These members are entrusted with the authority to carry out specific Emergency Actions, as delegated by MORE DAO and the MORE Foundation, and the Council is charged with ensuring compliance with the MORE DAO Constitution.

### Initial Security Council Members

| Name      | Address                                    |
| --------- | ------------------------------------------ |
| d3athwing | 0xB7A88D8Fb4110558c77754282937e75E08efc4AB |
| 0x12p4c   | 0x007077Bf333c69673a13a897039DcAF99b505C1a |
| MORE Labs | 0x1FF2a366bf5b06a486384AC3edad0023F4FA82C4 |

## MORE Governance Process (MOP)

MORE DAO Governance is conducted on [Commonwealth](https://common.xyz/more/discussions?tab=all).

### Soft Governance

In principle, as many decisions as possible should be made using a soft governance mechanism via Discord. As a general rule, on-chain votes are required for high-stakes decisions that:

* revolve around the treasury and expenses greater than $10,000 USD, or&#x20;
* revolve around the rules or the rules to change the rules \[the constitutional process], or
* revolve around membership and enforcement of norms \[punitive measures].

Other decisions should be taken through soft governance.

### Participation

One MORE token or any of its locked derivative tokens or one MORE Governance NFT equals one vote over any proposals submitted to the MORE DAO. This will allow token holders to participate in the governance process proportionally to their holdings.

Token holders have governance power over components of MORE such as MORE Treasury management to allocate assets for protocol development and community growth, protocol reserve management and utilization, and other on-chain updates including the ability to adjust protocol and governance parameters.

### Proposal Types

#### DAO Governance Proposal

* General DAO governance proposals;
* Treasury functions, approving new members, black- and white-listing, etc.;
* Change of governance mechanism proposal;

#### Project Proposal

* Suggestions for new projects to bring into the DAO.
* Proposals to create, modify or remove core pool markets or tokens from the core pool;
* Proposals to modify, upgrade or update the protocol by introducing new features within an existing version or by proposing a new version.

#### Funding Proposal

* Proposals to allocate more funding to pre-existing projects to help them reach their experimental goals, reach the next phase. These are based on milestone completion, specified in the initial project proposal.

### Proposal Process Overview

1. Phase I: RFC
   1. Post on MORE DAO Ideas Category in Commonwealth
   2. Community support indicated by Commonwealth vote
2. Phase II: MOP-Draft
   1. Post on MORE DAO Proposal Category with Template and Phase II tag
   2. Community support indicated by Commonwealth vote
3. Phase III: MOP-Vote (v1: current version via multisig)
   1. Build transaction in Safe for multisig-based vote
   2. Community support indicated by 4/7 approvals, and later, 5/9 approvals
4. Phase III: Approval (v2: to be introduced after the dissolution of the DAO multisig)
   1. Upload to Snapshot for token-based vote
   2. Community support indicated by token-based vote

### Proposal Process

#### Ideation

* Community members brainstorm and share initial ideas for improving the DAO.
* Discussions begin informally, often in forums or discussion channels on Discord, to gather feedback.

#### Drafting

* Proposals are formalized into structured documents that outline objectives, implementation plans, and expected outcomes.
* Draft proposals are shared for further review and refinement.

#### Discussion

* Draft proposals are posted in designated forums (e.g., Commonwealth) to encourage debate and input from the community.
* This phase ensures that the proposal addresses diverse perspectives and considerations.

#### Voting

* A community-wide non-binding vote is conducted to gauge support for the proposal.
* Votes can be cast as “Yes,” “No,” or “Abstain.”
* Voting Period: Lasts for 3 days, during which members can cast their votes.
* Vote Collection Period: A 24-hour period after voting ends, allowing time for the community to adjust before the proposal is formalized in governance.
* Proposal Threshold: A minimum of 2, and later, 3 MORE Governance Council Members is required to submit a formal on-chain proposal.
* Quorum: At least 4, and later 5, MORE Governance Council Members must vote in favor of a proposal for it to be valid.
* Timelock (in development): A proposal that has passed will be queued for 7 days before it can be executed, in order to allow dissenters to withdraw from the protocol or for the Governance Council to reconsider its vote.

Due to the nature of Signal Votes, which are non-binding, a successful proposal, resulting from the Vote Collection Period, should be considered a recommendation, rather than a mandatory requirement to take action. Any actions or requests contained in such a proposal will only be taken under advisement by Foundation Director(s), who have sole discretion to undertake such requests, or take no action. Signal Votes, by their very nature, are non-binding and in almost all cases should be followed by an on-chain proposal.

#### Governance Council Approval

Takes place on the multisig and is intended to represent the decision of signal voting. Multisig can deliberate independently and arrive at an independent decision. In such a case, a suggestion will be resubmitted to the DAO or in extremely rare cases, votes for its intended outcome.

### Implementation Period

#### On-chain Actions

On-chain proposals may be queued and executed by anyone at least 7 days following the conclusion of a Governance Council vote.\
\
In rare circumstances, Foundation Directors may exercise veto authority in accordance with Applicable Law or for other reasons including inconsistencies with the Foundation’s purpose as set out in the Foundation’s Bylaws and Memorandum and Articles of Association. If any Foundation Director exercises their veto authority, disclosure and explanation for the veto shall be posted on the relevant MOP forum post within 2 weeks of the proposal passing.

<br>


# Incentives

MORE Incentives is a user rewards application, designed as a Merkle tree-based periodic distribution to incentivize MORE-aligned behaviors and enhance the competitiveness of the MORE protocols. Most incentive are claimable on weekly basis, but incentive providers may determine their own claim frequency.

All indications displayed on the MORE UI are provided for informational purposes only and cannot be guaranteed. Additionally, any behavior deemed harmful to a fair reward distribution will result in the denial of eligibility of the user involved. Such behavior includes, but is not limited to:

1. Supplying then borrowing the same asset;
2. Borrowing then supplying the same asset.

Incentives expire after 6 months. Unclaimed incentives are reused for distribution in subsequent campaigns.

<br>


# Privacy Policy

Last Modified: 24 February 2025

This Privacy Policy describes how MORE Token S.A.  (“***MORE***”, “***we***”, “***us***”, or “***our***”), and any of our affiliates may collect, use, disclose, and protect your personal information in connection with your access or use of our website, products, and services, or otherwise interact with us (collectively, our “***Services***”).

Please read this Privacy Policy carefully so you understand our policies and practices regarding your information and how we treat it. If you do not agree with our policies and practices, your choice is not to interact with our Services. By accessing or using our Services you agree to this Privacy Policy. We encourage you to check this Privacy Policy often so you stay informed about our practices and the choices available to you.

**1.** **INFORMATION WE COLLECT**

When using our Services, we may collect certain information about you:

* **Information You Provide to Us**. We may collect information about you directly when, for instance, you complete a survey, request information from us, or contact us by email.
* **Information Collected Automatically**. We may also automatically collect certain information about you when, for example, you interact with our Services.
* **Other Sources**. We may collect information about you from publicly available sources like your public blockchain data, third party providers who you authorize or link to your account, information about you from advertising networks, or data analytics providers.

In connection with using our Services, we may collect the following categories of information about you:

* **Account and Profile Information**. When you sign up to use our Services, we may collect certain information about you like your username, real name, and email address.
* **Wallet Data**. Data like your publicly available blockchain address, when, for example, you connect your non-custodial blockchain wallet to our Services.
* **Device and Usage Information**. Information about the network and device you use like your unique device identifier, operating system, browser type, and IP address. We may also collect Information about your activity on our Services like pages viewed, access times, and other similar usage information.
* **Blockchain Data**. Data available on a public blockchain like crypto asset wallet addresses, transaction timestamps, and transaction IDs.
* **Information Collected Through Tracking Technologies**. We and our service providers may use technologies like cookies and web beacons to collect certain types of data about you like your browser type, unique device identifier, IP address, usage information, and preferences. For more information about how we use these technologies, please see the **Analytics** section below. You may limit our use of cookies and similar technologies at any time, please see the **Your Choices** section below for details.
* **Correspondence Information**. Information such as your responses to surveys or correspondences with our customer support.
* **Other Information**.  Any other information that you choose to provide or that we request.

We may also generate aggregated or de-identified information that cannot reasonably be used to identify you. Where information cannot reasonably be used to identify you, we do not consider it to be personal information.

**2.** **HOW WE USE YOUR INFORMATION**

We use the information we collect about you for our business purposes which are:

* **Providing Our Services to You**. Such as creating or maintaining your profile or account, contacting you about technical notices or security alerts, and personalizing your user experience.
* **Monitoring and Improving Our Services**. Such as analyzing usage data, improving features, and research and development.
* **Safety and Security of Our Services**. Such as detecting and preventing against malicious, deceptive, fraudulent, or illegal activities, improving our Services security, exercising our legal rights, and controlling organizational risks.
* **Personalizing Our Services**. Like suggesting content or customizing content or ads we show you.
* **As Part of a Corporate Transaction**. Such as during negotiations or in connection with the sale of part or all of our assets, the acquisition of part or all of another business or the businesses’ assets, or another corporate transaction including but not limited to financing or bankruptcy.
* **Complying with Our Legal and Financial Obligations**. in connection with operating our compliance programs, and in accordance with any applicable law or legal process.
* **Communicating with You about Our Services**. Such as marketing and promoting our Services.
* **Other Business Purposes**. In connection with any purpose expressly described to you at the point of collection, as permitted by law, and/or for whatever purpose that you otherwise consent to.

**3.** **DISCLOSURE OF INFORMATION**

In addition to specific situations discussed elsewhere in this Privacy Policy, we disclose information about you in the following circumstances:

* **Service Providers and Third Parties**. We may disclose your information with service providers and third parties who preform services for us like our cloud service provider who we rely on for data storage, and our service providers that help us with verifying identities and preventing fraud.
* **Affiliates**. We may disclose your information between and among any of our parents, affiliates, subsidiaries, and other companies under common control and ownership.
* **Fulfill Our Legal Obligations**. We may disclose information about you if we believe disclosure is in accordance with, or required by, any applicable law, regulation, court order, or legal process including but not limited to law enforcement requests.
* **Professional Advisors**. We may disclose your information with our professional advisors like attorneys, accountants, consultants, and auditors including but not limited to completing compliance audits.
* **During a Corporate Transaction**. We may disclose your information with third parties during the initial actions or engagement of a merger, acquisition, sale of some or all of our stock or assets, change in control, financing, bankruptcy, or similar transaction.
* **With your Consent**. We may disclose your information to other third parties when we have your consent or direction to do so.

Please note, if  you use a third-party service or website that is linked through our Services, the providers of those services or products may receive information about you. Please note, your access or use of such third party services is not governed by this Privacy Policy, their own terms and privacy policies, notices and/or practices governs your access and use of those services and products.

**4.** **ANALYTICS**

When you interact with our Services, we and/or the companies we work with may place cookies and/or similar technologies like web beacons, software development kits (“***SDKs***”), pixels, or APIs on your device. We and/or the companies we work with may collect information about your use of our Services and other websites and applications through your IP address, web browser, mobile network information, pages viewed, time spent on pages and mobile applications, links clicked, and conversation information. We also engage other companies to provide analytics services and serve advertisements across the web.

We and/or the companies we work with use the information collected by these technologies to, among other things, provide you with improved services, deliver advertising targeted to your interests on our Services, provide customer support, and determine the popularity of certain content.

You have the right to adjust your browser’s cookie setting to refuse or reject browser cookies. However, please note that if you adjust your browser’s cookie setting, the functionality and availability of Services may be affected.

**5.** **YOUR CHOICES**

**A.** **Communications**. You may opt out of receiving marketing communications from us by following instructions in those communications or you may submit a request to **<privacy@more.markets>**. If you opt-out, we may still send you non-promotional messages like  those about our ongoing business relations.

**B.** **Cookies And Tracking Technologies**. You can often adjust your browser setting to remove or reject browser cookies. If you remove or reject cookies, the availability and functionality of our Services may be affected.

You may also limit or block our use of cookies and similar tracking technologies by:

* **Blocking Advertising ID Use in Your Mobile Settings.** Your mobile device settings may provide functionality to limit use of the advertising ID associated with your mobile device for interest-based advertising purposes.
* **Using Privacy Plug-Ins or Browsers.** You can block our websites from setting cookies used for interest-based ads by using a browser with privacy features or installing browser plugins and  configuring them to block third-party cookies or trackers.
* **Platform Opt-Outs.** The below platforms offer opt-out features that let you opt-out of use of your information for interest-based advertising.
  * Google Analytics: <https://adssettings.google.com/>
  * Facebook: <https://www.facebook.com/about/ads>
  * Twitter: <https://twitter.com/personalization>
* **Advertising Industry Opt-Out Tools**. You can also use these opt-out options to limit use of your information for interest-based advertising by participating companies:
  * Digital Advertising Alliance:<https://optout.aboutads.info>
  * Network Advertising Initiative: <https://optout.networkadvertising.org/>

**6.** **INTERNATIONAL TRANSFERS**

To facilitate our multinational operations, your personal information may be stored and processed in any country where we have operations or where we engage service providers. The information that we maintain may be transferred to recipients in countries other than the country in which it was collected. Those other countries may have data protection and privacy rules different from those of the country that the personal information originated in. We will take measures to ensure that any such transfers comply with applicable data protection laws including through the use of contractual provisions. By accessing or using the Services or otherwise providing information to us, you consent to the processing, transfer, and storage of information in a country(s) that may not have the same rights as you do under local law.

**7.** **SECURITY OF INFORMATION**

We use reasonable procedural, physical, and electronic safeguards to protect your personal information from unauthorized access or use. For example, the safeguards we may take include encryption at rest and during transit, and multifactor authentication. Still, we are unable to guarantee absolute security. The safety and security of your information also depends on you. Do not share your private cryptographic key with anyone.

**8.** **INFORMATION STORAGE**

We retain your information for as long as necessary to provide our Services, comply with legal obligations, enforce our legal agreements, and resolve disputes. The retention periods for your information are determined on a case-by-case basis depending on the nature of information and why it was collected and the applicable legal reasons for the retention of your information. We may also keep certain information when necessary to protect the safety and security of our Services.

**9.** **AGE RESTRICTIONS**

Our Services are not intended for anyone under the age of 18. We also do not knowingly collect, personal information from anyone under the age of 18. In the event that we encounter information from an individual under the age of 18, we will take the appropriate steps. If you believe your child uploaded information in connection with our Services and is under the age of 18, please contact us by email at  **<privacy@more.markets>**.

**10.** **CHANGES TO THIS PRIVACY POLICY**

This Privacy Policy may change from time to time. We will notify you of any changes we make by revising the date at the top of this page. We may also provide you with a reasonable notice of any material changes before they take effect or as otherwise required by applicable law.

**11.** **LINKS TO THIRD-PARTY SITES**

Our Services may contain links to other websites or services. We do not exercise control over the information you provide or is collected by these third-party websites. We encourage you to read the privacy policies or statements of the websites you visit.

**12.** **CONTACT US**

To ask a question or comment on this Privacy Policy and our related practices, please email us at: **<privacy@more.markets>**.

**13.** **SPECIAL NOTICE FOR EU AND UK RESIDENTS**

If you are located in the EEA+ you possess certain rights under the General Data Protection Regulation (“**GDPR**”). Our commitment is to ensure the privacy and protection of your personal data. Below are your rights, detailed in a manner that respects the unique requirements of GDPR:

* **Right to access**.  You have the right to request copies of your personal data from us. We may charge you a small fee for this service.
* **Right to rectification**. You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete.
* **Right to erasure**. You have the right to request that we erase your personal data, under certain conditions.
* **Right to restrict processing**. You have the right to request that we restrict the processing of your personal data, under certain conditions.
* **Right to processing**. You have the right to object to our processing of your personal data, under certain conditions.
* **Right to portability**. You have the right to request we transfer the data that we have collected to another organization, or directly to you, under certain conditions.

If you would like to exercise any of these rights, please contact us at <privacy@more.markets>. If you make a request, we will respond within one month.

If you reside within the EEA, the GDPR grants you specific rights concerning your personal data. “Personal Information” within this policy is equivalent to “personal data” as defined by the GDPR.

* **Legal Basis for Processing**: We process your data based on lawful justifications, including but not limited to, your consent, the necessity for contract fulfillment, and our legitimate interests.
* **Data Subject Requests**: EEA residents have the right to access, correct, delete, or transfer their personal data, and to object to or limit its processing. Should you wish to exercise these rights, contact us as outlined below. Note, certain requests may impact our ability to deliver our services to you.
* **Questions or Complaints**: EEA residents with concerns about our data handling practices not resolved to their satisfaction have the right to lodge a complaint with their local Data Protection Authority. Visit EU Data Protection Authorities for contact details.


# Terms of Use

Last Modified: 24 February 2025

Welcome to MORE Markets!

These Terms of Use (these “***Terms***” or this “***Agreement***”) is a contract between you (“***you***” or “***yours***”) and MORE Token S.A. (“***MORE***”, “***we***”, “***us***”, or “***our***”), which governs your access and use of our website located at [www.more.markets](http://www.more.markets/) (the “***Website***” including its subdomains), website hosted user interface located at [www.app.more.markets](http://www.app.more.markets) ( “***Interface***”), services, products, applications, and features provided by More Markets and/or available or accessible through the Website or Interface, and such other services that may be offered by More Markets from time to time (collectively, the “***Services***”).

By clicking on an “I Agree” button or checkbox presented with this Agreement, or, if earlier, by accessing or using our Services, you agree to be bound by this Agreement.

**THESE TERMS CONTAIN A MANDATORY ARBITRATION AND WAIVER OF CLASS ACTION PROVISION THAT, AS FURTHER SET FORTH IN SECTION 16, REQUIRES THE USE OF ARBITRATION ON AN INDIVIDUAL BASIS TO RESOLVE DISPUTES, RATHER THAN JURY TRIALS OR ANY OTHER COURT PROCEEDINGS, OR CLASS ACTIONS OF ANY KIND.  PLEASE READ SECTION 16 CAREFULLY.**

**1.**    **OUR SERVICES**

**1.1  The Protocol**. In connection with the Services, we provide access to a decentralized, autonomous, noncustodial protocol consisting of certain smart contracts (“***Decentralized Application***”) executed by the Ethereum Virtual Machine (the “***Protocol***”). The Protocol allows access to certain services including: (a) borrow, which enables overcollateralized or undercollateralized supplying and borrowing of certain digital assets, which assets are based on the cryptographic protocol of a computer network that may be centralized or decentralized, closed or open source, and used as a medium of exchange and/or store of value (“***Crypto Assets***”) on an isolated market (supply pools with only one collateral asset and one loan asset priced through an oracle), and noncustodial risk management; and (b) earn, which facilitates the creation of one or more noncustodial vaults with customizable risk exposure to one or more markets.

**2.**    **ELIGIBILITY**

**2.1   Individuals**. If you are an individual who is using the Services, you agree and represent that you: (a) are a natural person who is at least 18 years old; (b) are using the Services solely for your own benefit and not on behalf of, or for the benefit of, a third party; (c) have not previously been banned, suspended, or removed from the Services; and (d) are not a Restricted Party as defined in Subsection 2.3 below.

**2.2   Legal Entities**. If you are using the Services on behalf of a legal entity, you and the legal entity agree and represent that your legal entity: (a) is duly established and validly existing under applicable laws; (b) is only using the Services for its own benefit and not on behalf of, or for the benefit of, a third party; (c) has not previously been banned, suspended, or removed from the Services; and (d) is not a Restricted Party as defined in Subsection 2.3 below.

Further, when you use our Services on behalf of a legal entity, you agree and represent that you: (a) are a natural person who is at least 18 years old; (b) are using the Services solely on behalf of your legal entity; (c) your legal entity has authorized you to use the Services on its behalf; (d) you have the applicable power and authority to enter into binding agreements for and on behalf of the legal entity; (e) you have not previously been banned, suspended, or removed from the Services; and (f) you are not a Restricted Party as defined in Subsection 2.3 below.

**2.3   Restricted Parties**. You may not use the Services if you, your wallet address, or any person or entity controlling you are:

* Located in, or a citizen or resident of, any state, country, territory, or region MORE Markets does not offer the Services in, including but not limited to the Bangladesh, Belarus, Bolivia, Canada, Côte d’Ivoire, Crimea region and any non-government controlled areas of Ukraine, Cuba, Democratic People’s Republic of North Korea, Iran, Iraq, Liberia, Netherlands, People’s Republic of China, Russia, Sudan, Syria, United Kingdom, United States of America, or where your use of the Services would be illegal or otherwise violate any applicable laws; or
* Listed on any economic sanctions or trade embargoes lists, including but not limited to the sanctions lists maintained or issued by the United States Office of Foreign Assets Control, the United States Department of Commerce, the United Nations Security Council, the European Union, or Her Majesty’s Treasury.

(each a “***Restricted Party***”)

**3.**    **CHANGES TO THESE TERMS**

We may make changes to these Terms from time to time and the changes will take effective immediately upon the date that such changes are posted to our Website. However, any changes to the dispute resolution provisions set out in Section 16 will not apply to any disputes for which the parties have actual notice before the date that such changes are posted to our Website. Your acceptance of our changes to these Terms occurs when you use our Services after we post the changes to our Website. If you do not agree to be bound by this Agreement as changed, your sole and exclusive remedy is to discontinue your use of the Services. We encourage you to frequently review these Terms so you understand the terms and provisions that apply to your access to, and use of, the Services.

**4.**    **CHANGES TO THE SERVICES**

**4.1  Service Change**. We may change, interrupt, suspend, or terminate the Services at any time with or without prior notice to you. We shall not be liable if all or any part of our Services are unavailable at any time or for any period. From time to time, we may restrict access to some parts of our Services.

**4.2  Technological Limitations and Force Majeure**. You acknowledge and consent that the Services are provided by us according to our current technological capability and other business conditions. While we have made every effort to ensure continuity and security of the Services, we are unable to completely foresee and hedge against all legal, technological, and other risks including: (a) natural disasters acts of God such as earth earthquakes, fires, cyclones, explosions, typhoons, monsoons, landslides, lightning, storms, tempests, pandemics, droughts or meteors; (b) acts of war, whether declared or undeclared, including invasion, act of a foreign enemy, hostilities between nations, civil insurrection, or militarily usurped power; and acts of terrorism; (c) civil disorder, such as acts of a public enemy, malicious damage, terrorism, sabotage, or civil unrest; (d) embargoes or sanctions (such as confiscation, nationalization, requisition, expropriation, prohibition, restraint or damage to property by or under the order of any government or governmental authority; (e) unnatural disasters, such as ionizing radiation or contamination by radioactivity from any nuclear waste or from combustion of nuclear fuel; (f) labor disputes, including strikes, blockades, lock-outs, or other industrial disputes; (g) failure of telecommunication outlets, including the internet, communications networks and facilities, or other infrastructure, systems, operations or of equipment relevant to the provision or use of the Protocol and/or Services; (h) data breaches or data-processing failure or incomplete processing; and/or (i) changes in laws or regulations that may materially affect the crypto assets and/or blockchain industries (collectively, “***Force Majeure Events***”).

**4.3   User Acknowledgment**. While using the Services, you agree and acknowledge the possibility of discontinuation of the Services. You further acknowledge and agree that MORE will not be liable for any losses including incidental, indirect, direct, general, punitive, exemplary, or consequential damages, as well as any loss of goodwill or business profits, work stoppage, data loss, computer failure or malfunction, and any and all other commercial and non-commercial losses including interest, assessment, and other charges paid or payable in connection with or with respect to any of the foregoing of any kind (collectively, “***Losses***”).

**4.4   Cooperation**. We have the right to: (a) take appropriate legal action, including without limitation, referral to law enforcement, for any illegal or unauthorized use of the Website; and/or (b) terminate or suspend your access to all or part of the Services for any or no reason, including without limitation, any violation of these Terms. Without limiting the foregoing, we have the right to cooperate fully with any law enforcement authorities or court order requesting or directing us to disclose the identity or other information of anyone posting any materials on or through the Services. YOU WAIVE AND HOLD HARMLESS MORE AND ITS AFFILIATES, LICENSEES, AND SERVICE PROVIDERS FROM ANY CLAIMS RESULTING FROM ANY ACTION TAKEN BY MORE AND/OR ANY OF THE FOREGOING PARTIES DURING, OR TAKEN AS A CONSEQUENCE OF, INVESTIGATIONS BY EITHER SUCH PARTIES OR LAW ENFORCEMENT AUTHORITIES.

**5.**    **ASSUMPTION OF RISK**

Any Crypto Asset, Decentralized Application, transaction that relies on smart contracts, open source wallet software, blockchain, and the Services involve significant risk. In this Section 5, we set out a non-exhaustive list of some of the risks below. These risks, as well as additional risks arising from now or in the future can be substantial and potentially devastating. You should therefore carefully consider whether using any of our Services is suitable for you in light of your financial condition prior to commencing your use. You must also seek professional advice regarding your particular financial condition prior to commencing your use of our Services.

**5.1  Crypto Asset Risks**. Crypto Asset prices may fluctuate significantly at any given moment for any reason, moving up or down, and may even become valueless. The likelihood of Losses is just as likely as profits incurred from the trading of crypto assets. Due to these price fluctuations, you may gain or lose value in your Crypto Assets at any given moment.

* **Crypto Assets are Not Legal Tender**. Crypto Assets are not considered legal tender. Crypto Assets may not be backed by any physical assets and may not be backed, guaranteed, or supported by any government or centralized authority.
* **High-Risk Asset Class**. Crypto Assets are generally considered a high-risk asset class and may or may not be considered securities under certain jurisdictions. You must therefore exercise prudent judgment when transacting Crypto Assets.
* **Complex Nature**. The nature of Crypto Assets may be very complex, and their terms, features, and/or risks may not be readily or fully understood due to the complex structure, novelty, and reliance on technological features.
* **Irreversible Nature of Transactions**. Crypto Asset transfers are irreversible. Thus, accidental, or fraudulent transactions with respect to Crypto Assets may not be recoverable. You must therefore exercise caution when making any Crypto Asset transfers and are solely liable for any Losses that may arise.
* **Value Fluctuation and Price Volatility**. The value of any Crypto Asset may fluctuate significantly over a short period of time. Price volatility and unpredictable fluctuations may result in significant Losses over a short period of time. The value of a particular Crypto Asset may decline or be completely and permanently lost should the market for that Crypto Asset disappear. There is no assurance that a market for a particular Crypto Asset will continue indefinitely into the future since the value of a Crypto Asset may be derived from various factors including the continued willingness of market participants to exchange such Crypto Asset.
* **Various Factors for Loss of Value**. Any Crypto Asset may decrease in value or lose all value in a short period of time or permanently due to various factors, including but not limited to, government or regulatory activity, the discovery of wrongful or illegal conduct, market manipulation, price distortion, insider dealing, market distortion, malicious wrongdoing or behaviors, changes to the Crypto Asset’s nature or characteristics, suspension, or cessation of support for a Crypto Asset by exchanges or service providers, public opinion, or other factors outside of our control, technical advancements, and macroeconomic and political factors.

**5.2  Decentralized Application Risks**. There is no assurance that our markets for Crypto Assets will be orderly and stable. Any Crypto Asset or position may be subject to large swings in value and may even become worthless.

* **No Deposits**. The Crypto Assets that are held by a Decentralized Application service provider or aggregator are not “deposits” nor are they intended to be held as any other regulated product or service under applicable laws.
* **No Statutory or Regulatory Protection**. Crypto Assets held by a Decentralized Application service provider may not be protected deposits and/or may not be protected by any deposit protection scheme in any relevant jurisdiction. Thus, Crypto Assets may have a reduced level and type of protection compared to fiat currencies and other asset classes or types.
* **Potential Destabilizing Network Events**. Under certain circumstances or situations, it may be difficult or even impossible to liquidate a position in Crypto Assets. Certain events that occur on the network may occur rapidly and affect the ability to conduct transactions on any Decentralized Application platform. Information relating to these network events may be difficult to predict or ascertain beforehand and may be subject to limited oversight by any third party who may be capable of intervening in order to stabilize the network.

**5.3  Smart Contract Transactions**. Transactions on our Protocol rely on smart contracts stored on various blockchains, cryptographic tokens generated by smart contracts, and other nascent software, applications and systems that interact with blockchain-based networks. These technologies are experimental, speculative, inherently risky, and subject to change.

* **Transactions are Final**. A defining feature of blockchain technology is that its entries are immutable, which means, as a technical matter, they generally cannot be deleted or modified by anyone. This includes smart contracts and Crypto Assets generated and programmed by smart contracts. THUS, TRANSACTIONS RECORDED ON THE BLOCKCHAIN, INCLUDING TRANSFERS OF CRYPTO ASSETS AND DATA PROGRAMMED INTO THESE ASSETS (SUCH AS REVENUE AND INTEREST ALLOCATIONS), MUST BE TREATED AS PERMANENT AND CANNOT BE UNDONE BY US OR BY ANYONE. YOU MUST BE VERY CAREFUL WHEN YOU FINALIZE ANY TRANSACTION THAT WILL BE RECORDED ON THE BLOCKCHAIN. You expressly acknowledge that the Services are provided on the blockchain, and as such are to be carried out immediately.
* **Not Anonymous**. A widespread belief is that transactions involving blockchains are anonymous. In fact, a central feature of blockchains and thus, blockchain-based transactions, are that they are transparent. Your public key and your wallet address are visible to anyone. To the extent your public key or wallet address can be linked back to you, it would be possible for someone to determine your identity and the Crypto Assets you own.
* **Automatic Transactions**. You agree to the automated collection and disbursement of proceeds by smart contracts. You acknowledge and agree that all transactions accessed through the Services will be automatically processed using one or more blockchain-based smart contracts. By engaging in transactions using the Services, you acknowledge and consent to the automatic processing of all transactions in connection with using the Services. You further acknowledge and agree that the applicable smart contract will dictate how the funds of a transaction and ownership of Crypto Assets are distributed.

**5.4  Cybersecurity and Technology Related Risks**. Crypto Assets involve various cybersecurity and technology-related risks. Below is a non-exhaustive list of risks that you may encounter when using our Services.

* **Forks and Attacks**. Crypto Assets may be subject to forks or attacks on the security, integrity, and/or operation of the networks, including any network events, as mentioned above. These events may affect features, functionality, operations, use, or other properties of any Crypto Asset, platform, or network. These events may also severely impact the price or value of any Crypto Asset and may even result in the shutdown of a network or platform associated with the Crypto Asset, whether a Decentralized Application or not. These events are beyond our control.
* **Cyber Attacks and Fraudulent Activity**. Relying on technology via the Internet exposes you to an increased risk of fraud or cyber-attack. Crypto Assets, your Wallet, the Services, communication methods, or any other part of the Services may be targeted by malicious persons or individuals who may attempt to disrupt the Services or even steal Crypto Assets. This may include but is not limited to the following: malware, hacking, phishing, double spending, smurfing, spoofing, sybil attacks, social engineering, majority mining, consensus-based or other mining attacks, distributed denial of service, and blockchain fork.
* **Reliance on the Internet and Other Technology**. The Services depend on the internet and other technology (including various communication methods and mediums). However, the public nature of the internet means that parts or the entire internet may be unreliable or unavailable at any given time. Furthermore, interruption, delay, corruption or loss of data, the loss of confidentiality or privacy through the course of data transmission, or malware transmission may occur when transmitting data via the internet and/or other technology. The above may result in your transactions not being executed according to your instructions at the requested time, or not executed at all. There is no technology that is completely secure or safe. You should therefore exercise caution when using any technology. The internet as well as other electronic media are an inherently unreliable form of communication, and such unreliability is beyond our control.
* **Open-Source Software Risks**. Crypto Assets rely on various types of blockchain and/or distributed ledger technology. This technology is an open-source software that is built upon blockchain, which is still considered a novel and experimental technology. There are many risks that arise from this reliance, including but not limited to: existing technical flaws in the technology, malicious targets, majority-mining, consensus-based or other mining attacks, changes in the protocol or algorithms, changes in community or miner support, rapid and/or extreme fluctuations in value of relevant Crypto Assets, the existence or development of  competing networks, platforms, and assets, flaws or vulnerabilities in coding languages, disputes between developers, miners, and/or users, and regulatory action.
* **Cryptographic Innovation**. Innovation and developments in cryptographic technologies and techniques including but not limited to the advance of artificial intelligence and/or quantum computing may pose security risks to all cryptographically based systems, including Crypto Assets, Crypto Asset wallets, communication mediums, and other parts of the Services.

**5.5  Crypto Asset Wallet Risks**. Providing any other person access to your Wallet involves risk. You must take all necessary steps to ensure that any person you provide access to are appropriate and legal. You must also adopt controls and protocols relating to your Wallet as you see fit in order to monitor the activities of such persons to ensure that they remain appropriate and legal in their capacity.

* **Designated Persons Risks**. There are substantial risks when allowing another person to trade or operate your Wallet, and it is possible that any instructions you provide are not properly authorized or executed. You accept all risks of such operation and fully and irrevocably release MORE from any and all liability arising out of or in connection with all the aforementioned.
* **Unauthorized Access**. You accept there is a genuine risk that unauthorized third parties may access your Wallet and make transactions without your knowledge or authorization, whether by obtaining control over a device or the Wallet you use in connection with our Services or by other methods.
* **Loss of Private Key**. You are solely responsible for securing your private key with respect to any and all Wallets. The loss of your control to your private key will permanently and irreversibly deny your access to your Wallet. We will not be able to retrieve or protect your Crypto Assets. Once lost, you will not be able to transfer your Crypto Assets to any other address or wallet.
* **Wallet Requirements**. You are responsible for providing the necessary equipment and software in order to utilize any Wallet, including hardware and software protection mechanisms and protocols. Attempting to access the Services without such equipment or software may result in permanent Losses. MORE shall not be responsible for any of these Losses.

**5.6  General Risks**. Below is a non-exhaustive list of various general risks that you may encounter when using our Services.

* **Updated Materials**. MORE is not obliged to provide any adaptations, enhancements and/or modifications to the materials and/or information provided on the Services. It is your responsibility to ensure you update and download applicable updates and versions.
* **Jurisdiction-Related Risks**. Changes in your place of domicile or applicable laws may result in you violating legal or regulatory requirements in your jurisdiction. You are solely responsible for ensuring that your actions remain lawful despite changes to applicable laws, your residence, and/or your unique circumstances.
* **Taxes and Accounting**. Crypto Assets and transactions may be subject to various tax laws and regulations in an applicable jurisdiction. You should therefore seek independent professional advice before making any decisions in connection with our Services.
* **Legal and Regulatory Uncertainty**. All Crypto Assets are generally exposed to legal and regulatory risks. Legal and regulatory treatment of Crypto Assets may change, and regulation of Crypto Assets is unsettled and rapidly changing. Furthermore, legal, and regulatory treatment of Crypto Assets may vary substantially across different jurisdictions. You should therefore seek and obtain independent advice from a qualified individual, and you should also continually monitor legal and regulatory updates that relate to the Services and Crypto Assets.
* **Service Risks**. Our Services as a collective and each as an individual Service involves many risks, some of which are indicated elsewhere in these Terms. In addition, the following risks, which is not a comprehensive list, may apply:  (a) Decentralized Application technology is not fully mature, and there has not been an established testing scale to determine the safety of such technology; (b) the nature of decentralized technological architecture poses a potentially increased threat of hacker attacks; and (c) collateral for decentralized protocols and projects may be higher than similar centralized protocols or projects.

**5.7  Careful Consideration Prior to Using the Services**. In light of these risks, you must carefully consider whether all applicable risks are acceptable prior to their linkage of your Wallet to the Services. You also appreciate that the risk disclosure statement herein is not and cannot be comprehensive or exhaustive. You must seek professional advice regarding your particular financial, legal, technical, and other conditions prior to commencing your use of the Services.

**5.8  You acknowledge the risks of using the Services.** You bear sole responsibility for evaluating the Services before using them, and all transactions accessed through the Services are irreversible, final, and without refunds. The Services may be disabled, disrupted, and/or adversely impacted as a result of a Force Majeure Event. We disclaim any ongoing obligation to notify you of all of the potential risks of using and accessing the Services. You agree to accept these risks and agree that you will not seek to hold MORE responsible for any consequent losses.

* YOU UNDERSTAND THAT LOSSES MAY BE INCURRED RATHER THAN PROFIT MADE AS A RESULT OF PARTICIPATING IN SERVICES, AND THIS IS A RISK THAT YOU ARE PREPARED TO FULLY AND SOLELY ACCEPT AND BEAR.
* THE ROLES OF THE OWNER, CURATOR, ALLOCATOR AND GUARDIAN ARE EXECUTED WITH A VIEW TOWARDS THE OVERALL SAFETY AND FUNCTIONALITY OF THE MORE VAULTS.  THESE ACTIONS AND DECISIONS ARE NOT PREDICATED ON ANY INDIVIDUAL MANDATES, NOR DO THEY CONSTITUTE PERSONALIZED RECOMMENDATIONS TAILORED TO ANY PARTICULAR PERSON’S FINANCIAL SITUATION OR INVESTMENT GOALS.
* USERS ACKNOWLEDGE AND AGREE THAT THEY USE THE MORE VAULTS AT THEIR OWN RISK AND MAY NOT HOLD LIABLE MORE OR ANY OTHER CONTRIBUTORS.
* You hereby assume and agree that MORE will have no responsibility or liability for such risks and waive, release, and discharge any and all claims, whether known or unknown to you, against MORE, its affiliates, and their respective shareholders, members, directors, officers, employees, agents, and representatives related to any of the risks set forth herein. You also waive application of Section 1542 of the Civil Code of the State of California, which states “A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS OR HER FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH IF KNOWN BY HIM OR HER MUST HAVE MATERIALLY AFFECTED HIS OR HER SETTLEMENT WITH THE DEBTOR”, and any similar law of any other jurisdiction.

**6.**    **REPRESENTATIONS AND WARRANTIES**

**6.1  Legal Purposes Only**. You represent and warrant that you shall not use the Services for any illegal purpose or in any illegal way or manner. You shall abide by any and all applicable laws of the jurisdiction where you are located; all local, national, and international practices regarding internet use; and all network agreements, rules, and procedures related to or in connection with the Services.

**6.2   Full Responsibility**. You agree to solely bear the responsibility for any and all activities that occur in connection with your use of the Services and under your Wallet, including without limitation, disclosing, or publishing information, clicking to agree with various agreements, uploading and submitting various documents or information, clicking to agree with the renewal of various agreements, or clicking to agree with service agreements provided by third parties.

**6.3   Commercial Advisements**. You agree that MORE has the right to place various commercial advisements or any other types of commercial and/or promotional information on our Services, and you accept that we may send commercial promotions or other relevant commercial and/or promotional information to you through email or other communication means.

**6.4  General Representations and Warranties**. You represent and warrant the following:

* You fully understand all risks associated with using the Services, and you have the necessary experience, understanding, and risk tolerance for using the Services, including the necessary experience and knowledge to enter into relevant transactions under the Services.
* You will carefully consider and use clear judgment to evaluate your financial situation and risks before making any decisions to use the Services, and you shall bear any and all Losses arising from your decisions.
* These Terms do not conflict with the applicable laws of your applicable jurisdiction and you shall comply with all applicable laws of your applicable jurisdiction.
* You are the legal and rightful owner of all funds and/or Crypto Assets in your wallet or other Crypto Assets or funds which you may use in connection with the Services. You represent and warrant that the sources of such funds and Crypto Assets are legal, and you will not trade or obtain financing on or through any of our Services with anything other than funds or Crypto Assets that have been legally obtained by you and that belong to you.

**6.5**  **Prohibited Uses and Activities**. You may access or use the Services solely for lawful purposes and in accordance with these Terms. You represent and warrant that you will not interact with the Services:

* In any way that violates any applicable federal, state, local, or international law or regulation (including, without limitation, any laws regarding the export of data or software to and from the US or other countries).
* For the purpose of exploiting, harming, or attempting to exploit or harm minors in any way by exposing them to inappropriate content, asking for personally identifiable information, or otherwise.
* To transmit, or procure the sending of, any advertising or promotional material, including any “junk mail,” “chain letter,” “spam,” or any other similar solicitation.
* To impersonate or attempt to impersonate MORE, an employee, another user, or any other person or entity (including, without limitation, by using email addresses, screen names, similarly named or commonly misspelled URLs, or associated blockchain identities).
* To engage in any other conduct that restricts or inhibits anyone's use or enjoyment of the Services, or which, as determined by us, may harm or expose liability to MORE or other users.
* To cause the Services, the Services underlying blockchain networks or technologies, or any other functionality with which the Services interact, to work other than as intended.
* To damage the reputation of MORE or impair any of MORE's legal rights or interests.
* Deceive or defraud, or attempt to deceive or defraud, any person, including (without limitation) providing any false, inaccurate, or misleading information (whether directly through the Services or through an external means that affects the Services) with the intent to unlawfully obtain the property of another or to provide knowingly or recklessly false information, including in any way that causes inaccuracy among the content on the Services.
* To manipulate or defraud any Decentralized Application, oracle system, or blockchain network, or the users thereof.
* Promote any illegal activity, or advocate, promote, or assist any unlawful act.
* Cause annoyance, inconvenience, or needless anxiety or be likely to upset, embarrass, alarm, or annoy any other person.
* Impersonate any person, misrepresent your identity, or misrepresent its affiliation with any person or organization.
* Engage in any activity or behavior that violates any applicable laws concerning, or otherwise damages, the integrity of the Services, or any other service or software which relies on the Services.
* Give the impression that you emanate from or are endorsed by MORE and/or any other person or entity in connection with the Services.
* Use the Services in any manner that could disable, overburden, damage, impair, or interfere with the Services, including the ability to engage in real time activities through the Services.
* Use any robot, spider, or other automatic device, process, or means to access the Services for any purpose, including monitoring or copying any of the material on the Services.
* Use any manual process to monitor or copy any of the material on the Services, or for any other purpose not expressly authorized in these Terms, without our prior written consent.
* Use any device, software, or routine that interferes with the proper working of the Services.
* Introduce any viruses, Trojan horses, worms, logic bombs, or other material that is malicious or technologically harmful to the Services, other users, any underlying blockchain, or any of the Service’s related utilities or functionalities.
* Attempt to gain unauthorized access to, interfere with, damage, or disrupt any parts of the Services, the server on which the Services or information in connection with the Services is stored, or any server, computer, or database connected to the Services, including any underlying blockchain.
* Violate the legal rights (including the rights of publicity and privacy) of others or contain any material that could give rise to any civil or criminal liability under applicable laws or regulations or that otherwise may be in conflict with these Terms.
* Attack the Services or any of the Services’ underlying blockchain networks or technologies, or any other functionality with which the Services interact via a denial-of-service attack or a distributed denial-of-service attack.
* Encourage or induce any third party to engage in any of the activities prohibited under these Terms.

**7.**    **SERVICES CONTENT**

**7.1   Reliance**. We do not warrant the accuracy, completeness, or usefulness of any materials or information that we or a third party present on or through the Services and such information is made available solely for general information and education purposes. Any information posted to the Services should not be construed as an intention to form a contract, and in no case should any information be construed as MORE's offer to buy, sell, exchange, or otherwise transact Crypto Assets. We disclaim all liability and responsibility arising from any reliance placed on such information or materials by you, any other user or person who may be informed of any of the Services contents, or by the actions or omissions of others interacting with the Services or any underlying blockchain.

**7.2   Third Party Information**. The Services may include content provided by third parties, including (without limitation) materials provided by other users, bloggers, and third-party licensors, syndicators, blockchain users, decentralized applications, aggregators, and/or reporting services. All statements, alleged facts, and/or opinions expressed in these materials, and all articles and responses to questions and other content are solely the opinions and the responsibility of the person or entity providing those materials. These materials do not necessarily reflect the opinion of MORE or even the factual status of reality. We are not responsible, or liable to any user or any third party for the content or accuracy of any materials provided by any third party, and you acknowledge and agree that you bear the sole and absolute responsibility to evaluate and select any third-party functionality you interact with via the Services.

**8.**    **INTELLECTUAL PROPERTY RIGHTS.**

**8.1  Proprietary Rights**. The Services and its entire contents, features, and functionality including but not limited to all information, software, text, displays, images, video, and audio, and the design, selection, and arrangement thereof, except for any open source software, are owned by MORE, its licensors, or other providers of such material and are protected by applicable and/or international copyright, trademark, patent, trade secret, and other intellectual property or proprietary rights laws.

You acknowledge and agree not to reproduce, distribute, modify, create derivative works of, publicly display, publicly perform, republish, download, store, or transmit any of the material on the Services except as follows: (a) your computer may temporarily store copies of such materials in RAM incidental to your access and viewing of those materials; (b) you may store files that are automatically cached by the your web browser for display enhancement purposes; (c) you may print or download one copy of a reasonable number of pages of the Website for your own personal, non-commercial use and not for further reproduction, publication, or distribution; (d) if we provide desktop, mobile, or other applications for download, you may download a single copy to your computer or mobile device, provided, you agree to be bound by any applicable end user license agreement or other agreement for such applications; and/or (e) for any open-source materials in connection with the Services, you may perform any activities only as is consistent with the open-source license applicable to such materials.

**8.2**   **Limitations on Use**. In connection with the Services, you acknowledge and agree that you will not: (a) modify copies of any materials from the Services; (b) use any illustrations, photographs, video or audio sequences, or any graphics separately from the accompanying text; and/or (c) delete or alter any copyright, trademark, or other proprietary rights notices from copies of materials from the Services.

**8.3**  **Reservation of Rights**. If your use or access to the Services is in breach of these Terms, your right to access the Services will stop immediately and you must, at our sole option, return or destroy any copies of the materials that you made directly or indirectly from the Services. No right, title, or interest in or to the Services is transferred to you, and all rights not expressly granted are reserved by MORE. You may freely use any open-sourced materials up to the limits provided, but in accordance with any requirements placed, by those materials’ open-source licenses. Any use of the Services not expressly permitted by these Terms is a breach of these Terms and may violate copyright, trademark, and other applicable laws.

**8.4**   **Trademarks**. MORE's name, the term “MORE Markets”, and all related names, logos, product and service names, designs, and slogans are trademarks of More Markets or its affiliates or licensors. You must not use such marks without the prior written permission of MORE.

**8.5**   **Feedback**. MORE will own any feedback, suggestions, ideas, or other information or materials regarding MORE that you provide, whether by email, posting through the Services, or otherwise (“***Feedback***”). You hereby assign to MORE all right, title, and interest to Feedback together with all associated intellectual property rights. You will not be entitled to, and hereby waive any claim for, acknowledgement or compensation based on any Feedback or any modifications made based on any Feedback.

**9.**    **YOUR INFORMATION**

As part of the Services, you may provide certain information to us in connection with your access or use of the Services, or we may otherwise collect certain information about you when you access or use the Services. You agree to receive emails and other types of communications from us. To understand how MORE collects, uses, and shares information about you, please review our Privacy Policy .

**10.**    **WARRANTY DISCLAIMER**

**Disclaimer of Warranties**. MORE has no oversight on or control over any particular crypto-asset or blockchain network. You are responsible for your use of the Services, the functionalities that you enable, transactions engaged through the Services, and access or use of the information derived thereof. You are solely responsible for complying with all applicable laws related to its transactions and activities that directly or indirectly incorporate our provision of the Services. You acknowledge and understand that MORE is not registered nor licensed with, nor have the Services or the software contained therein been reviewed by any securities, commodities, or other financial or banking regulator. You further understand that we cannot and do not guarantee or warrant that files available for download from the Services will be free of viruses or other destructive code. You are responsible for implementing sufficient procedures and checkpoints to satisfy your particular requirements for: (a) an appropriate Decentralized Application utility; (b) anti-virus protection and accuracy of data input and output; (c) your participation in and use of the Services’ underlying blockchain and related technologies; and (d) maintaining a means external to our site to reconstruct any lost data.

TO THE FULLEST EXTENT PROVIDED BY LAW, WE WILL NOT BE LIABLE FOR ANY LOSS OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE ATTACK, MAN-IN-THE-MIDDLE ATTACK, VIRUSES, OR OTHER TECHNOLOGICALLY HARMFUL MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT, COMPUTER PROGRAMS, DATA, OR OTHER PROPRIETARY MATERIAL DUE TO YOUR USE OF THE INTERFACE, PROTOCOL, WEBSITE, DECENTRALIZED APPLICATION, WALLET, OR ANY SERVICES OR ITEMS OBTAINED THROUGH THE SERVICES OR YOUR DOWNLOADING OF ANY MATERIAL POSTED ON IT, OR ON ANY THIRD PARTY WEBSITE LINKED TO IT.

YOUR USE OF THE SERVICES AND ANY SERVICES CONTENT IS AT YOUR SOLE RISK. THE SERVICES, THE MATERIAL, THE WEBSITE, THE INTERFACE, THE PROTOCOL, AND THE DECENTALIZED APPLICATION ARE PROVIDED ON AN “AS IS’’ AND “AS AVAILABLE” BASIS. TO THE FULLEST EXTENT LEGALLY PERMISSIBLE, WE, NOR ANY PERSON ASSOCIATED WITH MORE, MAKE, AND WE EXPLICITLY DISCLAIM, ANY AND ALL REPRESENTATIONS OR WARRANTIES OF ANY KIND RELATED TO THE WEBSITE, THE INTERFACE, THE PROTOCOL, THE DECENTRALIZED APPLICATION, AND THE SERVICES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING (WITHOUT LIMITATION) THE WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. NEITHER MORE MARKETS NOR ANY PERSON ASSOCIATED WITH MORE MAKES ANY WARRANTY OR REPRESENTATION WITH RESPECT TO THE COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY, OR AVAILABILITY OF THE PROTOCOL, DECENTRALIZED APPLICATION, MATERIALS, THE WEBSITE, THE INTERFACE, OR THE SERVICES. MORE AND ANY PERSON ASSOCIATED WITH MORE DO NOT REPRESENT OR WARRANT THAT: (A) ACCESS TO THE PROTOCOL, DECENTRALIZED APPLICATION, MATERIALS, THE WEBSITE, THE INTERFACE, OR THE SERVICES  WILL BE CONTINUOUS, UNINTERRUPTED, TIMELY, WITHOUT DELAY, ERROR-FREE, SECURE, OR FREE FROM DEFECTS; (B) THAT THE INFORMATION CONTAINED OR PRESENTED ON THE WEBSITE OR VIA THE SERVICES IS ACCURATE, RELIABLE, COMPLETE, CONCISE, CURRENT, OR RELEVANT; (C) THAT THE PROTOCOL, DECENTRALIZED APPLICATION, MATERIALS, THE WEBSITE, THE INTERFACE, THE SERVICES, OR ANY SOFTWARE CONTAINED THEREIN WILL BE FREE FROM DEFECTS, MALICIOUS SOFTWARE, ERRORS, OR ANY OTHER HARMFUL ELEMENTS, OR THAT ANY OF SUCH WILL BE CORRECTED; OR (D) THAT THE WEBSITE, THE INTERFACE, OR THE SERVICES WILL MEET THE USER’S EXPECTATIONS. NO INFORMATION OR STATEMENT THAT WE MAKE, INCLUDING DOCUMENTATION OR OUR PRIVATE COMMUNICATIONS, SHOULD BE TREATED AS OFFERING ANY WARRANTY CONCERNING THE PROTOCOL, THE DECENTRALIZED APPLICATION, THE MATERIALS, THE WEBSITE, THE INTERFACE, OR THE SERVICES. WE DO NOT ENDORSE, GUARANTEE, OR ASSUME ANY LIABILITY OR RESPONSIBILITY FOR ANY CONTENT, ADVERTISEMENTS, OFFERS, STATEMENTS, OR ACTIONS BY ANY THIRD PARTY EITHER REGARDING THE PROTOCOL, THE DECENTRALIZED APPLICATION, THE MATERIALS, THE WEBSITE, THE INTERFACE, OR THE SERVICES. THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.

**11.**    **LIMITATION OF LIABILITY**

TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL MORE, ITS AFFILIATES, OR THEIR LICENSORS, SERVICE PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY TO USE, THE WEBSITE, THE INTERFACE, THE PROTOCOL, THE DECENTRALIZED APPLICATION, THE SERVICES, ANY WEBSITES LINKED TO IT, ANY CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF CONTRACT, OR OTHERWISE, EVEN IF FORESEEABLE. THIS DISCLAIMER OF LIABILITY EXTENDS TO ANY AND ALL DAMAGES CAUSED BY ANY THIRD PARTY (INCLUDING, WITHOUT LIMITATION, THOSE CAUSED BY FRAUD, DECEIT, OR MANIPULATION), WHETHER OR NOT A USER, OR ANY FAILURE, EXPLOIT, OR VULNERABILITY OF THE WEBSITE, SERVICES, THE PROTOCL, THE INTERFACE, THE DECENTRALIZED APPLICATION, YOUR WALLET OR OTHER “WEB3 UTILITIES”, OR THE UNDERLYING BLOCKCHAINS OR RELATED BLOCKCHAIN FUNCTIONALITIES. TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL THE COLLECTIVE LIABILITY OF MORE AND ITS SUBSIDIARIES AND AFFILIATES, AND THEIR LICENSORS, SERVICE PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, AND DIRECTORS, TO ANY PARTY (REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, OR OTHERWISE) EXCEED THE GREATER OF $100 US DOLLARS OR THE AMOUNT YOU HAVE PAID DIRECTLY TO MORE FOR THE APPLICABLE CONTENT OR SERVICES IN THE LAST SIX MONTHS OUT OF WHICH LIABILITY AROSE. THE FOREGOING DOES NOT AFFECT ANY LIABILITY THAT CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.

**12.**    **NO PROFESSIONAL ADVICE**

All information or content provided or displayed by the Services is for informational purposes only and should not be construed as professional advice including, without limitation, tax, legal, or financial advice. You should not take, or refrain from taking, any action based on any information or content displayed or provided on or through the Services. You should seek independent professional advice from an individual licensed and qualified in the area appropriate for such use before you make any financial, legal, or other decisions where such is considered prudent. You acknowledge and agree that to the fullest extent permissible by law, you have not relied on MORE, the content accessible on or through the Services, or any professional advice related to your financial or legal matters.

**13.**     **NO FIDUCIARY DUTIES**

These Terms, and the provision of the Services, are not intended to create any fiduciary duties between MORE and any user or any third party. MORE never takes possession, custody, control, ownership, or management of any Crypto Assets or other property you may transmit using the Services. To the fullest extent permissible by law, you agree that neither your use of the Services causes MORE or any user to owe fiduciary duties or liabilities to you or any third party. Further, you acknowledge and agree to the fullest extent such duties or liabilities are afforded by law or by equity, those duties and liabilities are hereby irrevocably disclaimed, waived, and eliminated, and that MORE shall be held completely harmless in relation thereof. You further agree that the only duties and obligations that we owe you, and the only rights you have related to this Agreement or your use of the Services, are those set out expressly in this Agreement or that cannot be waived by law.

**14.**     **THIRD PARTY LINKS**

The Services may contain links to other sites and resources provided by third parties, these links are provided for convenience only. This includes links contained in advertisements like banner advertisements and sponsored links. We have no control over the contents of those sites or resources, and you acknowledge and agree that we do not and will not accept any responsibility for them or for any loss or damage that may arise from your use of such third party links. If you decide to access any of the third party websites linked to the Services, you do so entirely at its own risk and subject to the terms and conditions of use for such third party websites.

**15.**     **INDEMNIFICATION**

You agrees to defend, indemnify, and hold harmless MORE, its affiliates, licensors, and service providers, and its and their respective officers, directors, employees, contractors, agents, licensors, suppliers, successors, and assigns from and against any claims, liabilities, damages, judgments, awards, losses, costs, expenses, or fees (including reasonable attorneys' fees) arising out of or relating to: (a) your violation of these Terms; (b) your use of Services, including, but not limited to, your interactions with the Protocol, Interface, or other features which are accessible on or through the Services; (c) use of or reliance on the Website's content, services, and products other than as expressly authorized in these Terms; (d) your use or reliance on of any information obtained from the Services; or (e) any other party’s access and use of the Services with your assistance or without your assistance by using any device or account that you own or control.

**16.**     **GOVERNING LAW AND JURISDICTION**

All matters relating to these Terms and any dispute or claim arising therefrom or related thereto (in each case, including non-contractual disputes or claims), shall be governed by and construed in accordance with the Democratic Socialist Republic of Sri Lanka without giving effect to any choice or conflict of law provision or rule (whether of Sri Lanka or any other jurisdiction).

## **17.** **ARBITRATION; CLASS ARBITRATION WAIVER**

Any dispute, controversy or claim arising out of, relating to, or in connection with the access or use of the Services, or in connection with this Agreement, including disputes arising from or concerning their interpretation, violation, invalidity, non-performance, or termination, shall be finally resolved by binding arbitration by the American Arbitration Association under its Rules of Arbitration. The tribunal shall have the power to rule on any challenge to its own jurisdiction or to the validity or enforceability of any portion of the agreement to arbitrate. **The parties agree to arbitrate solely on an individual basis, and that these Terms do not permit class arbitration or any claims brought as a plaintiff or class member in any class or representative arbitration proceeding.** The arbitral tribunal may not consolidate more than one person's claims and may not otherwise preside over any form of a representative or class proceeding. In the event the prohibition on class arbitration is deemed invalid or unenforceable, then the remaining portions of the arbitration agreement will remain in force.

**18.**    **LIMITATION ON TIME TO FILE CLAIMS**

ANY CAUSE OF ACTION OR CLAIM THAT YOU MAY HAVE ARISING OUT OF OR RELATING TO THESE TERMS OF USE OR THE SERVICES MUST BE COMMENCED WITHIN SIX (6) MONTHS AFTER THE CAUSE OF ACTION ACCRUES; OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS PERMANENTLY BARRED.

**19.**    **WAIVER AND SEVERABILITY**

No waiver by MORE of any term or provision set out in these Terms shall be deemed a further or continuing waiver of such term or condition or a waiver of any other term or provision, and any failure of MORE to assert a right or provision under these Terms shall not constitute a waiver of such right or provision. If any provision of these Terms held by a court or other tribunal of competent jurisdiction to be invalid, illegal, or unenforceable for any reason, such provision shall be eliminated or limited to the minimum extent such that the remaining provisions of the Terms will continue in full force and effect.

**20.**    **CHANGE OF CONTROL**

In the event that MORE is acquired by or merged with a third party entity, we reserve the right, in any of these circumstances, to transfer or assign the information, funds, and Crypto Assets we have collected from you as part of such merger, acquisition, sale, or other change in control.

**21.**    **ENTIRE AGREEMENT**

These Terms and each and every term or condition that is applicable to you, including those incorporated by reference herein, comprise the entire understanding and agreement between you and MORE as to the subject matter hereof, and supersede any and all prior discussions, agreements, and understandings of any kind (including without limitation any prior versions of these Terms) between and among you and MORE. Section headings in the Terms are for convenience only and shall not govern the meaning or interpretation of any provision of the Terms. In the event of any conflict between these Terms and any other agreement you may have with MORE, these Terms will control unless the other agreement specifically identifies these Terms and declares that the other agreement supersedes these Terms.


