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:
| Token | Decimals | Shares to Mint | Assets You'll Spend | USD Cost |
|---|---|---|---|---|
| WETH | 18 | 1,000,000,000 | ~0 ETH | < $0.1 |
| wstETH | 18 | 1,000,000,000 | ~0 wstETH | < $0.1 |
| sUSDS | 18 | 1,000,000,000 | ~0 sUSDS | < $0.1 |
| sUSDe | 18 | 1,000,000,000 | ~0 sUSDe | < $0.1 |
| siUSD | 18 | 1,000,000,000 | ~0 siUSD | < $0.1 |
| cbBTC | 8 | 10,000,000,000,000,000 | 0.01 BTC | ~$630 (at current BTC price) |
| WBTC | 8 | 10,000,000,000,000,000 | 0.01 BTC | ~$630 (at current BTC price) |
| USDC | 6 | 1,000,000,000,000,000,000 | 1 USDC | ~$1 |
| PYUSD | 6 | 1,000,000,000,000,000,000 | 1 PYUSD | ~$1 |
| USDT | 6 | 1,000,000,000,000,000,000 | 1 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:
| Decimals | Approval amount |
|---|---|
| 18 | 1000000000 |
| 8 | 1000000 |
| 6 | 1000000 |

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.

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:
0xdeadmust have 1e9 supplyShares in each Morpho market V1 with a non-zero cap on the vault.0xdeadmust 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:
- 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. - 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.
