Create a Morpho Vault V2
Deploying a Morpho Vault V2 is a permissionless process that anyone can initiate. This guide covers two methods for deploying your vault:
- Using the Curator App (Recommended): The easiest and most user-friendly method with a graphical interface for vault creation and configuration.
- Using Etherscan: A manual approach suitable for those who prefer interacting directly with contracts on a block explorer.
Method 1: Create a Vault via the Curator App
The Curator App provides the easiest and most user-friendly way to deploy a Morpho Vault V2. This web-based interface guides you through the entire vault creation process without requiring any coding or command-line experience.
Curator App: https://curator.morpho.org/vaults
Why Use the Curator App?
- No Technical Knowledge Required: User-friendly graphical interface suitable for all experience levels.
- Guided Setup: Step-by-step wizard walks you through every configuration option.
- Instant Deployment: Deploy your vault directly from your browser using your connected wallet.
- Built-in Validation: Automatic validation of parameters to prevent common configuration mistakes.
- Visual Configuration: Easily configure roles, adapters, and risk parameters through intuitive forms.
Getting Started with the Curator App
1. Connect Your Wallet
Navigate to https://curator.morpho.org/vaults and connect your Ethereum wallet (e.g., MetaMask, WalletConnect).
2. Select Network
Choose the network where you want to deploy your vault. Morpho Vault V2 is available on multiple networks including Ethereum mainnet, Base, and other supported chains.
3. Configure Vault Parameters
You will first be asked to set the main vault's parameters:
- Asset: Select the ERC-20 token your vault will use (e.g., USDC, WETH).
- Owner: Set the initial owner address (ideally a multisig for security).
Once the vault created, set and abdicate the Morpho registry.
You can then set the other Vault's parameters:
- Vault Symbol: Choose a token symbol for your vault.
- Vault Name: Choose a descriptive name for your vault.
- Curator: Assign the curator role for configuring vault parameters.
- Allocator: Set the allocator address for executing asset allocations.
- Sentinel (Optional): Optionally assign a sentinel for emergency actions.
- MaxRate: The maximum rate earn by vault's suppliers. MaxRate must be set for suppliers to earn yield (more here).
4. Configure Adapters and Risk Parameters
During MorphoMarketV1AdapterV2 setup, pause after deployment and complete its adapter-level hardening before clicking Submit Adapter or accepting the vault's addAdapter proposal. The wizard does not apply those adapter timelocks automatically, so use the linked procedure, then resume enablement and cap configuration.
- Select which Morpho Vault V1 instances you want to use as underlying liquidity markets.
- Set initial risk caps (absolute and relative) for each adapter.
- Configure the liquidity adapter for handling asset flows.
5. Harden Production Timelocks
Timelock hardening is a separate post-creation task, not an optional step of the creation wizard. Before enabling an adapter, complete its adapter-level hardening. Also complete and verify the vault-level timelock settings in the setup checklist before accepting user deposits.
6. Verify Setup Before User Deposits
Confirm that Apply Permanent Settings, including the vault-level dead-deposit mint, has completed successfully. Then verify the remaining production setup checklist against the deployed contracts. Creating the vault contract alone does not complete initialization, adapter hardening, or production setup.
Once deployed, you can continue configuring your vault through the Curator App or use the manual method described below.
Method 2: Create a Vault Manually via Etherscan
If you prefer a manual approach without using the Curator App, you can deploy a vault directly by interacting with the contracts on a block explorer like Etherscan.
Prerequisites
- An Ethereum wallet (e.g., MetaMask) connected to the desired network.
- The address of the ERC-20 token the vault will use as its
asset. - The address you want to designate as the initial
owner. - The
VaultV2Factoryfor the selected network, from the official contract addresses. - A
bytes32salt not already used with the same owner and asset on that factory.
Step-by-Step Guide
1. Deploy a New VaultV2 Contract
Open the selected network's verified VaultV2Factory contract in Etherscan (or that network's block explorer), connect your wallet, and use Write Contract to call createVaultV2(owner, asset, salt):
owner: the initial owner address, ideally your multisig.asset: the underlying ERC-20 token address on this network.salt: the chosenbytes32salt.
Confirm the transaction, then obtain the new vault address from the factory's CreateVaultV2 event or its vaultV2(owner, asset, salt) lookup. Do not substitute a factory or token address from another network.
2. Verify the Contract
Open the new vault on the block explorer. If its source is not already verified, complete source verification to enable its Read Contract and Write Contract interfaces. Then verify owner() and asset() against your intended values, and check that the factory reports isVaultV2(vaultAddress) == true.
3. Configure the Vault
Once deployed and verified, you'll need to:
- Complete and verify the dead deposit on the empty vault, before any user deposit.
- Set up roles (see Configure Vault V2 Roles).
- Deploy adapters, configure and verify their own timelocks, then enable and configure them (see (De)List Adapters).
- Complete the remaining Vault V2 setup checklist.
In particular, complete “Set the Morpho Adapter Registry”,
“Abdicate setAdapterRegistry”, the applicable “Abdicate Gates”
checks, adapter-level
burnSharestimelock hardening and pending-action checks, and “Harden the vault's timelocks”. Verify the resulting onchain configuration before accepting user deposits.