Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Morpho Vault V2 Dead Deposit

A dead deposit is a security measure against ERC-4626 inflation attacks (read more).

On an empty vault, execute:

vault.mint(TARGET_SHARES, 0x000000000000000000000000000000000000dEaD);

How Many Shares to Mint

The number of shares to mint depends on the vault's underlying asset decimals. Use the table below for common tokens:

TokenDecimalsShares to MintAssets You'll SpendUSD Cost
WETH181,000,000,000~0 ETH< $0.1
wstETH181,000,000,000~0 wstETH< $0.1
sUSDS181,000,000,000~0 sUSDS< $0.1
sUSDe181,000,000,000~0 sUSDe< $0.1
siUSD181,000,000,000~0 siUSD< $0.1
cbBTC810,000,000,000,000,0000.01 BTC~$630 (at current BTC price)
WBTC810,000,000,000,000,0000.01 BTC~$630 (at current BTC price)
USDC61,000,000,000,000,000,0001 USDC~$1
PYUSD61,000,000,000,000,000,0001 PYUSD~$1
USDT61,000,000,000,000,000,0001 USDT~$1

New or unlisted asset? Use the formula:

targetShares = max(1e9, 10^(6 + max(0, 18 - decimals)))

How to Execute via Explorer

1. Verify the vault is empty

Navigate to the Morpho Vault V2 contract on explorer → Read Contract → check that totalSupply() returns 0.

2. Approve the vault to spend your tokens

Go to the underlying token's explorer page → Write Contract → call approve(vaultAddress, assetsAmount).

Use the approval amounts below:

DecimalsApproval amount
181000000000
81000000
61000000
Approve (Etherscan)

3. Mint shares to 0xdead

Go to the vault contract on Etherscan → Write Contract → call mint(TARGET_SHARES, 0x000000000000000000000000000000000000dEaD).

Use the Shares to Mint value from the table above for your token.

Vault V2 Dead Deposit (Etherscan)

4. Verify the dead deposit

On the vault contract → Read Contract → call convertToAssets(1000000000000000000). The result should be approximately 10^decimals (i.e. 1.0 token per share).

Additional Requirements

Beyond the vault-level dead deposit, the following must also be satisfied:

  • 0xdead must have 1e9 supplyShares in each Morpho market V1 with a non-zero cap on the vault.
  • 0xdead must have 1e9 shares in each Morpho Vault V1 with a non-zero cap on the vault, as well as in each market in their withdraw queue.

Why These Numbers

The required shares satisfy two constraints simultaneously:

  1. Inflation attack prevention: at least 1e6 assets must be in the vault, limiting any single manipulation to a relative change of at most 1/1,000,000. This requires shares >= 1e6 × virtualShares.
  2. Share price rounding protection: prevents the share price from crashing to near-zero when an adapter rounds tiny balances to 0. This requires shares / (shares + virtualShares) >= 0.999.

The inflation attack constraint dominates (by a factor of 1,000), so the formula max(1e9, 1e6 × virtualShares) satisfies both. The 1e9 floor applies the existing per-market/per-vault minimum for 18-decimal assets where virtualShares = 1.