Morpho Apps
This section details the critical applications developed by Morpho Association for vault configuration and ecosystem participation.
Consumer
Main App
Purpose: Interface for both lenders interacting with Morpho vaults and Borrowers interacting with Morpho Markets.
Key Features:
- View listed Morpho Markets & Morpho Vaults
- Deposit, manage, and exit positions in Morpho Vaults
- Enter, manage, and exit from borrow positions
- Track vault performance metrics
- Monitor position health and market statistics
Version: Production
If the main App is not accessible
If you don't want to use the Main Morpho app (https://app.morpho.org/) or if you are not able to access it, it is always possible to interact with Morpho via alternative apps, the Fallback app or at contract level via explorers.
Morpho Warnings
Morpho has a warning system built into the Morpho API. These warnings surface potential risks that could impact markets or vaults on Morpho. Some warnings are also displayed in the main Morpho app.
Displayed in main app? means the current main app has user-facing warning copy for that warning type on at least one relevant market or vault surface. Some app surfaces filter warnings by severity, and action-state warnings can affect buttons without rendering a warning icon.
If you consume warnings from the API:
- The default response returns active warnings only. Market and Vault V1 warnings have no
GREENlevel at all. Vault V2 defines one for passing checks, but it is not in the default response:level_inreplaces the default[YELLOW, RED]filter rather than extending it, solevel_in: [GREEN]hides every active warning. - The API decides the level. Key your logic off
level, nottypealone: acustomwarning can be returned at either level. - Market warnings do not propagate to vaults. Only
oracle_unusable,oracle_price_derivation, and (Vault V2 only)bad_debt_unrealizedhave vault-level counterparts, computed under the exposure rules below; other market warnings have no vault-side equivalent. - Two warning types gate the deposit form in the main app:
deposit_disabledandoracle_unusable, both at RED. Either one alone blocks deposits, so check for both, not justdeposit_disabled.
Variable Rate Market Warnings
| Warning Type | Level | Displayed in main app? | Criteria / Threshold | Notes |
|---|---|---|---|---|
bad_debt_unrealized | 🔴 RED | Yes | Unrealized bad debt / total supply assets >= 5% (500 bps), and at least USD 100 | Detects accumulating bad debt |
not_whitelisted | 🟡 YELLOW | Yes | Market is not listed | Markets are automatically listed/delisted when listed/delisted from a listed vault |
oracle_price_derivation | 🔴 RED | Yes | On-chain oracle price deviates from USD-derived price by >10x | Only for Morpho Chainlink / Chainlink V2 oracles with known pricing |
oracle_unusable | 🔴 RED | Yes | The oracle returns a price of 0, or has been reverting for at least 10 minutes | Applies to all oracle types; metadata.type is zero_price or reverted. Not raised when the market has no collateral asset or no oracle, or while the latest observation is stale |
sustained_low_liquidity | 🔴 RED | Yes | Zero available liquidity for 5 full consecutive days | Requires total supply > 0 and total supply not greater than total borrows. Idle markets (no collateral asset) are excluded |
custom | 🔴 RED 🟡 YELLOW | Yes | Operator-defined custom warning with arbitrary content | Level configured per entry |
Vault V1 Warnings
| Warning Type | Level | Displayed in main app? | Criteria / Threshold | Notes |
|---|---|---|---|---|
short_timelock | 🔴 RED | Yes | Timelock < 3 days | Governance security |
not_whitelisted | 🟡 YELLOW | Yes | Vault is not listed | If vault was previously listed, will indicate a deprecation message |
deposit_disabled | 🔴 RED | No | No supply-queue allocation has remaining cap, or the vault is on the curated deposit-disable list | Not displayed as a warning icon; it can disable deposits in the main app |
low_liquidity | 🟡 YELLOW | Yes | Withdrawable liquidity < 0.5% of total assets | Empty vaults (total assets = 0) are not flagged |
oracle_unusable | 🔴 RED | Yes | Exposure to markets with a RED oracle_unusable exceeds 10% of total assets | Exposure-gated, see the exposure note below. On its own, it also disables deposits in the main app |
oracle_price_derivation | 🔴 RED | Yes | Exposure to markets with a RED oracle_price_derivation exceeds 10% of total assets | Exposure-gated, see the exposure note below |
custom | 🔴 RED 🟡 YELLOW | Yes | Operator-defined custom warning with arbitrary content | Level configured per entry |
Vault V1 has no bad-debt warning: bad debt is socialized across depositors as it is realized, so bad_debt_unrealized stays on the market.
Vault V2 Warnings
| Warning Type | Level | Displayed in main app? | Criteria / Threshold | Notes |
|---|---|---|---|---|
not_whitelisted | 🟡 YELLOW | Yes | Vault is not listed | If vault was previously listed, will indicate a deprecation message |
timelock | 🔴 RED | Yes | Protected functions are below the minimum timelock | Governance security |
deposit_disabled | 🔴 RED | No | Vault is on the curated deposit-disable list | Metadata-driven only: Vault V2 has no cap-derived equivalent. Not displayed as a warning icon; it can disable deposits in the main app |
low_liquidity | 🟡 YELLOW | Yes | Withdrawable liquidity < 0.5% of total assets | Withdrawable counts liquidity + forceDeallocatableLiquidity, so a vault that can instantly reallocate is not flagged. Empty vaults (total assets = 0) are not flagged |
bad_debt_unrealized | 🔴 RED | Yes | Exposure to markets with a RED bad_debt_unrealized exceeds 10% of total assets | Exposure-gated, see the exposure note below |
oracle_unusable | 🔴 RED | Yes | Exposure to markets with a RED oracle_unusable exceeds 10% of total assets | Exposure-gated, see the exposure note below. On its own, it also disables deposits in the main app |
oracle_price_derivation | 🔴 RED | Yes | Exposure to markets with a RED oracle_price_derivation exceeds 10% of total assets | Exposure-gated, see the exposure note below |
custom | 🔴 RED 🟡 YELLOW | Yes | Operator-defined custom warning with arbitrary content | Level configured per entry |
Vault-level oracle_unusable, oracle_price_derivation (both vault versions) and bad_debt_unrealized (Vault V2) are gated on exposure. The vault raises the warning when its summed exposure to every market carrying that warning at RED exceeds 10% of the vault's total assets, counting both direct market allocations and pro-rata look-through of Vault V1 adapters. Below that threshold the vault carries no warning, though the market still does. Look-through stops at Vault V1: exposure held through a Vault V2 adapter is not traced, so a vault allocating into a nested Vault V2 reads as unaffected even when the nested vault holds a flagged market. To surface every affected vault, inspect its market exposure rather than relying on the vault-level warning alone.
Refer to this risk documentation to be sure you understand all the risks.
Tokens checks
Tokens are added to the Morpho database to enhance their use on the Morpho apps. Before being added to the token database, checks are performed to ensure compatibility.
Here are the checks performed:
- Contract Existence - A valid smart contract exists at the provided address
- ERC-20 Compliance - The contract implements the core ERC-20 interface (name, symbol, decimals)
- Non-zero total supply - The token’s total supply is greater than 0
- DefiLlama Price Data - The token has a recent price data available on DeFiLlama
- Logo Availability - Token logo exists in Morpho database
- Not already listed - The token is not already listed on the chain
Policy
Asset blocking policy
The Morpho protocol is a self-executing, permissionless, decentralized series of smart contracts that cannot be changed by anyone except the governance for given parameters.
Morpho Association maintains one of many ways to interact with the Protocol (the Morpho Interface for instance), and as a non-profit association based in France is subject to certain laws and regulations.
As such, there may be certain circumstances under which Morpho Association blocks access to certain markets and vaults through our the interface provided.
Criteria for Restricting Access on Morpho Association Interfaces
- Morpho Association will block some components of the Protocol for the following reasons:
- Risks to users. Morpho Association believes there are technical, fraud, or other risks that could significantly affect user safety.
- Legal and regulatory requirements.
- Fraud allegations.
- Morpho Association will block individual or smart contract addresses that are subject to U.S. government sanctions or associated with certain types of illegal activity.
- Morpho Association may block individual or smart contract addresses for any other reason at their discretion. For example, Morpho Association might have reason to believe that an address is associated with fraud, theft, or market manipulation, or that a smart contract has unacceptable security vulnerabilities.
Additional disclosures
Interface Warnings are created using information from third-party data providers. Morpho Association does not guarantee their accuracy and makes no representations or warranties about their relevance or currentness. The Morpho Protocol operates on a permissionless and decentralized basis, allowing Markets and Vaults to be established and administered by any third-party individual or entity. Any information provided by the Morpho Association on Vaults, Markets or any of their parameters does not constitute an endorsement of the Markets or Vaults and is provided solely for informational purposes. It does not represent an endorsement, recommendation, or any form of advice on how to engage with or utilize the Morpho Protocol.
Morpho Association Token Lists and Interface Warnings are not investment advice and should not be construed as such. Morpho Association strongly advise that before engaging in any financial, legal, technical, or other significant decisions related to the Morpho Protocol, you perform your own research (including, but not limited to, an analysis of the market or vault's structure, the assets involved, the parties responsible for its creation and management, and the potential risks and rewards associated with participation) and consult with an independent professional who is licensed and qualified in the relevant field. Such advice is crucial to ensure that your decisions are well-informed and take into account the specific nuances and complexities of your situation.
Slippage Considerations
When interacting with Morpho Markets and Morpho Vaults through the Morpho Interface, slippage protection is implemented to safeguard users against unexpected price movements between transaction submission and execution. Understanding how slippage is handled is crucial for both users and developers.
Types of Slippage Protection
-
Token Wrapping Operations
- Applied to: stETH → wstETH conversions, ERC4626 deposits (including Morpho Vaults deposits)
- Fixed maximum slippage: 3 basis points (0.03%)
-
Market Operations
- Formula:
- Where:
- r_target is the target interest rate
- d is the expected transaction duration (15 minutes for EOA, 45 minutes for Safe)
-
Vault Operations
- Formula:
- Where:
- r_apy is the Annual Percentage Yield
- d is the expected transaction duration (15 minutes for EOA, 45 minutes for Safe)
- yearInSeconds is the number of seconds in a year
Shares Conversion and Slippage
In operations involving asset-to-share conversions (e.g. borrowing, repaying, Morpho Vaults deposits/withdrawals), the interface accounts for worst-case slippage scenarios. This is particularly important in the following cases:
- Asset-Based Operations: Borrowing, partial repayments, Morpho Vaults deposits/partial withdrawals, supplying/withdrawing collateral
- Shares-Based Operations: Maximum repayments, Morpho Vaults deposits in rehypothecation, maximum Morpho Vaults withdrawals
Note: Slippage can significantly impact transactions combining asset-based and shares-based operations for the same token.
Special Considerations for Morpho Vaults
Morpho Vaults ERC4626-compliant tokens are treated differently depending on the context:
- As assets when supplied as collateral
- As shares when supplied as deposits
In rehypothecation, they are treated as shares during Morpho Vaults Deposit and as assets during Supply Collateral.
At which level is it implemented?
These slippage calculations are automatically applied in relevant bundlerActions to protect users from adverse price movements during transaction processing.
Fallback App
Purpose: Built for emergencies, this app prioritizes resilience over speed. This interface is for both lenders interacting with Morpho vaults and Borrowers interacting with Morpho Markets.
Key Features:
- View your Morpho Markets & Morpho Vaults positions
- Exit positions from Morpho Vaults and Morpho Markets
Version: Production
Deploy your own independent Fallback App
Why deploy your own?
The Morpho Fallback App can be self-hosted, giving you:
- Independence: Access to your assets even if app.morpho.org is unavailable
- Censorship resistance: No reliance on any single provider
- Version control: Stay on a trusted version you've reviewed
The app is fully static (just files, no server needed) and connects directly to public blockchain nodes.
Build and deploy your own
To deploy your own version, you'll need to build from the source code (morpho-lite-apps repository). This requires some familiarity with the command line, Node.js v18+ and pnpm. The example below uses Pinata but other deployment options exist.
Step 1: Build the app
git clone https://github.com/morpho-org/morpho-lite-apps.git
cd morpho-lite-apps
pnpm install
pnpm run fallback-app:buildThis creates the build output in apps/fallback/dist.
Step 2: Test locally (optional)
npx serve apps/fallback/distOpen http://localhost:3000 in your browser to verify the build works. This can also be used as a local-only deployment - no third parties required. Just run this command whenever you need access to the fallback app.
Step 3: Log to Pinata and upload
Go to Pinata and sign up for a free account.
- Log into Pinata dashboard
- Go to the "Files" page, click on "+ Add" and choose "Folder Upload"
- Select the entire apps/fallback/dist folder
- Click "Upload"
Step 4: Access your app
After upload, Pinata gives you a CID (content identifier). Your app is now live at: https://YOUR_CID.ipfs.dweb.link
You can also use alternative gateways (different ways to access the same content):
| Gateway | URL Pattern |
|---|---|
| DWeb (Recommended) | https://YOUR_CID.ipfs.dweb.link |
| IPFS.io | https://ipfs.io/ipfs/YOUR_CID |
| Web3.Storage | https://YOUR_CID.ipfs.w3s.link |
Updating Your Deployment
Since IPFS content is immutable (never changes), updating means creating a new deployment:
- From your morpho-lite-apps folder, get the latest code from the morpho-lite-apps repository:
git pull origin main - Rebuild
- Upload the new
dist/folder to Pinata (or your chosen host) - Use your new CID
Your old CID continues working forever, so you can stay on a known version or upgrade when ready.
Alternative: Use a Community Deployment
If you prefer not to build your own, you can use an existing community-hosted version. The official fallback.morpho.org app displays available IPFS CIDs that you can access directly through any gateway. A community deployment is also available at: https://bafybeihdvi6wgow3wk7mztnldoyyg5m2pmudslafry2ckelcalm2pw3wiq.ipfs.dweb.link
Note: When using third-party deployments, you trust that the deployer built from the official source without modifications.
Security Best Practices
- Verify the source: Only build from the official repository (morpho-lite-apps repository)
- Review before trusting: Check the code before deploying, especially if you're security-conscious
- Use HTTPS gateways: Always access via
https://to prevent tampering - Safe by design: The app never asks for your private keys - it only requests transaction signatures through your wallet
Data Dashboard
Purpose: Provides on-chain data and analytics for the Morpho ecosystem.
Version: Production
Rewards
Purpose: Monitor reward campaigns on Morpho, track rewards linked to a specific address, and claim rewards.
Merkl is an application developed by a third party allowing to interact with rewards distributed on Morpho. The Morpho Association does not endorse or guarantee its functionality. Use at your own discretion.
Prime
Curator App V2
Purpose: Delivers specialized tools for Morpho Vault V2 curators to manage vault operations.
Key Features:
- Create and deploy new vaults V2
- Create and manage Fee Wrappers
- Curate adapter listings and parameters
- Configure vault settings and permissions
- Set allocation caps, parameters and timelocks
Version: Beta deployment with ongoing feature development
Implementation Note: For actions not yet implemented in the Curator App, use direct interaction with vault contracts through verified sources such as Etherscan. Always verify contract addresses before interaction. See curate section here.
Curator App V1
Purpose: Delivers specialized tools for Morpho Vault V1 curators to manage vault operations.
Key Features:
- Create and deploy new vaults V1
- Curate market listings and parameters
- Configure vault settings and permissions
- Set allocation caps, parameters and timelocks
Version: Beta deployment with ongoing feature development
Implementation Note: For actions not yet implemented in the Curator App, use direct interaction with vault contracts through verified sources such as Etherscan. Always verify contract addresses before interaction. See curate section here.
Other
Oracle Portal
Purpose: Aid oracle configurations to ensure price feed accuracy and security.
Key Features:
- Decode oracle configurations
- Verify price accuracy against reference sources
- Test oracle configurations
- Identify configuration issues
Version: Production
Implementation Note: Always verify oracle data configurations before deploying to production environments. Use this tool to:
- Confirm correct asset pricing
- Validate operational parameters
- Test edge case scenarios
Liquidation App
Purpose: Provides manual liquidation capabilities for unhealthy positions.
Key Features:
- Identify liquidatable positions
- Execute manual liquidations
- Calculate liquidation profitability
- Monitor position health metrics
Version: Production and requires supplemental automation
Implementation Note: Develop and deploy automated liquidation bots for production environments. The liquidation app serves primarily as a backup mechanism when bots fail or for testing purposes.