# Morpho Vaults \[Distribute curated Morpho Vault yield]

:::info
Railnet connects Morpho Vaults through **`ERC4626Vehicle`**, or **`ERC4626VehicleMaxFunctionsIgnored`** for v2.
:::

A Morpho Vault lends one asset across [Morpho Blue](/yield-sources/morpho-blue) markets picked by a curator.

## At a glance

| | |
|---|---|
| **Protocol** | [Morpho Vaults](https://morpho.org), curated lending |
| **Yield** | Borrower interest, net of vault fees |
| **Vehicle** | `ERC4626Vehicle`, or the v2 variant |
| **Flows** | Instant both ways, redeems bounded by vault liquidity |
| **Status** | Available on Ethereum and Base |

## How Railnet integrates it

The Vehicle deposits into the vault, holds its shares, and prices its own shares off `convertToAssets`. Both directions are synchronous. v1 (MetaMorpho) Vehicles honor the vault's `maxDeposit` and `maxRedeem`; v2 vaults do not report those reliably, so the variant bounds by account balances and lets the vault revert.

## Considerations

* v1 and v2 spawn through different factories with identical parameters, so name the vault address.
* Redeems are bounded by vault liquidity; on v2 that is a revert, not a lower `maxRedeem`.
* The curator can change the allocation; vault fees apply before yours. See [Risk management](/strategies/risk-management).

## Spawn parameters

`vault` is the only source-specific field; the asset follows from `vault.asset()`. Put a Conduit on it: [Quick start](/conduits/quick-start), [Integrate a Conduit](/developers/integrate-conduit).

```solidity [Solidity]
ERC4626VehicleFactory.SpawnParams memory params = ERC4626VehicleFactory.SpawnParams({
    vault: MORPHO_VAULT,
    accessControl: accessControl,
    feeManager: FeeManager(address(0)),
    modulesManager: ModulesManager(address(0)),
    querySalt: bytes32(0),
    deploymentSalt: keccak256("morpho-vault-usdc"),
    forbiddenAddresses: new address[](0),
    initialExpectedSupply: 0.8e18,
    queryRegistry: queryRegistry
});
```

Mainnet factories: [0x708F06B8D98075E6Feeb8E5A4DbFF1bB045D1F6d](https://etherscan.io/address/0x708F06B8D98075E6Feeb8E5A4DbFF1bB045D1F6d) (v1), [0x9943d82bD6d9619BB22be62595Db5ae2906A6d6C](https://etherscan.io/address/0x9943d82bD6d9619BB22be62595Db5ae2906A6d6C) (v2). [Other networks](/developers/contracts/deployments).

## Supported vaults

v1 (`ERC4626Vehicle`), Ethereum:

| Vault | Address |
|---|---|
| Steakhouse USDC | `0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB` |
| Gauntlet WBTC Core | `0x443df5eEE3196e9b2Dd77CaBd3eA76C3dee8f9b2` |
| Steakhouse ETH | `0xBEEf050ecd6a16c4e7bfFbB52Ebba7846C4b8cD4` |
| Steakhouse USDT | `0xbEef047a543E45807105E51A8BBEFCc5950fcfBa` |

Base:

| Vault | Address |
|---|---|
| Steakhouse Prime USDC | `0xBEEFE94c8aD530842bfE7d8B397938fFc1cb83b2` |
| Gauntlet cbBTC Core | `0x6770216aC60F634483Ec073cBABC4011c94307Cb` |
| Gauntlet WETH Core | `0x6b13c060F13Af1fdB319F52315BbbF3fb1D88844` |

v2 (`ERC4626VehicleMaxFunctionsIgnored`), Ethereum:

| Vault | Address |
|---|---|
| Sentora PYUSD Main | `0xb576765fB15505433aF24FEe2c0325895C559FB2` |
| Gauntlet USDC Prime | `0x8c106EEDAd96553e64287A5A6839c3Cc78afA3D0` |
| Steakhouse Prime Instant WETH | `0xbeef0046fcab1dE47E41fB75BB3dC4Dfc94108E3` |
| Steakhouse Prime Instant USDT | `0xbeef003C68896c7D2c3c60d363e8d71a49Ab2bf9` |
| sky.money USDT Savings | `0x23f5E9c35820f4baB695Ac1F19c203cC3f8e1e11` |
| sky.money USDC Risk Capital | `0x56bfa6f53669B836D1E0Dfa5e99706b12c373ecf` |

Base:

| Vault | Address |
|---|---|
| Gauntlet WETH Balanced | `0xFeFeC33668E22677c4762d0853d56245a800ff08` |
| Steakhouse Prime Instant USDC | `0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9` |
| Steakhouse High Yield Instant | `0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100` |
| Prime USDC | `0x5e03f8965e2957291B3c6990C6Cb9023c36d3d30` |

## Next steps

<Cards>
  <Card title="Quick start" description="Specify your Conduit." icon="rocket" to="/conduits/quick-start" />

  <Card title="Any ERC-4626 vault" description="The generic adapter." icon="box" to="/yield-sources/erc-4626" />
</Cards>
