StakeWise × Morpho: Borrow Against Your Vault Token Without Unstaking

StakeWise's modular architecture is well-suited for institutions seeking to unlock liquidity from their stake and/or offer staking services on specific terms, such as a bespoke staking fee, unique mix of operators, custom MEV strategies, branding, and optional ERC-20 Vault token issuance. The Vault token allows institutions to access liquidity for additional yield strategies by using it as collateral on Morpho to borrow USDC or other assets—all without unstaking.
Morpho is the world’s second-largest lending protocol, with over $6.85 billion in TVL. It provides permissionless and non-custodial lending infrastructure that enables the creation of isolated, immutable lending markets. Each market pairs one collateral asset with one loan asset (e.g., your Vault token as collateral, USDC as the loan asset). Adaptive interest rates optimize for capital efficiency, resulting in better rates for borrowers and lenders.
The flow is straightforward: create a StakeWise Vault with an ERC-20 Vault token enabled → stake ETH → receive Vault tokens that appreciate with staking rewards → create a Morpho market to borrow USDC (or other assets) against your Vault tokens → access liquidity → keep earning staking yields.

This guide uses a vstETH/USDC market as an example. vstETH is an example StakeWise ERC-20 Vault token name. It appreciates as staking rewards accrue. The loan asset (USDC here) can be any asset of your choosing—the steps remain the same.
Let’s unpack this strategy step by step.
⚠️ Creating a market is technically simple, but selecting the right parameters—especially the oracle configuration and LLTV—requires careful analysis.
📧 Contact the StakeWise team for advice before deploying in production.
Step 1: Create Your StakeWise Vault
Stakewise Vaults are customizable smart contracts that process ETH and GNO deposits for staking, distribute rewards, and handle withdrawals in a trustless and non-custodial manner. Anyone—from individuals and node operators to DAOs and institutions—can deploy a Vault with custom parameters directly through the StakeWise App.
📘 For complete Vault deployment instructions, see: How to Create a Vault.
💎 For the Morpho strategy outlined in this guide, ensure you enable the ERC-20 Vault token option during setup.
💰 To start earning yield, you must have the validators running (Setup Guide).
Private Vault Setup
If your StakeWise Vault is private, your Vault token is a permissioned token—only whitelisted addresses can hold or receive it. You must whitelist the following addresses (Vault access → Add address → Save) before interacting with Morpho:
Morpho (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb) – core lending protocol
EthereumGeneralAdapter1 (0x4A6c312ec70E8747a587EE860a0353cd42Be0aE0) – required for the frontend and SDK to handle permissioned tokens
Any other address receiving Vault tokens
Without these, transactions will revert because your Vault will reject transfers to unknown addresses.
📘 https://docs.morpho.org/curate/tutorials-market-v1/permissioned-assets/
Step 2: Deploy a Morpho Oracle
The next major step is to deploy a Morpho Oracle—a smart contract that provides real-time price data to determine what one token is worth relative to another (e.g., “How many USDC is 1 ETH worth right now?”). The process is simple:
Configure oracle parameters specific to your Vault
Test your configuration using Morpho's web interface
Deploy it via MorphoChainlinkOracleV2Factory
Oracle Parameters
Oracle parameters determine how the oracle will calculate prices. The oracle uses a conversion formula to return the specific exchange rate between a collateral asset and a loan asset. For example, for a vstETH/USDC oracle, the pricing path is: vstETH → ETH (via vault conversion) → USD (via ETH/USD price feed) → USDC (via USDC/USD price feed).
Price feeds are smart contracts that provide real-time asset prices on-chain. The Morpho oracle needs to express the price of your collateral (vstETH) in terms of the loan asset (USDC). Since there's no direct vstETH/USDC Chainlink feed, it chains two feeds through a common denominator—USD. The oracle first applies the vault conversion to determine how much ETH backs each vstETH share, then divides the ETH/USD price by the USDC/USD price to convert that value to USDC.
Below are the arguments to fill for the creation of the vstETH/USDC oracle:
baseVault: Your StakeWise Vault address (read here if you don’t know where to find it).
baseVaultConversionSample: 1000000000000000000 (1e18, constant for all vaults).
baseFeed1: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419 ( ETH/USD price feed: https://data.chain.link/feeds/ethereum/mainnet/eth-usd).
baseFeed2: 0x0000000000000000000000000000000000000000 (leave as zero address).
baseTokenDecimals: 18 (vstETH token decimals).
quoteVault: 0x0000000000000000000000000000000000000000 (no quote vault).
quoteVaultConversionSample: 1 (default when no quote vault).
quoteFeed1: 0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6 (USDC/USD price feed: https://data.chain.link/feeds/ethereum/mainnet/usdc-usd).
quoteFeed2: 0x0000000000000000000000000000000000000000 (leave as zero address).
quoteTokenDecimals: 6 (USDC token decimals).
salt: 0x0000000000000000000000000000000000000000000000000000000000000000 (leave as default).
Test Your Configuration
Before deploying on-chain, test your oracle parameters using Morpho's Oracle Tester. This tool helps you validate your configuration before deployment, saving gas and preventing errors.
Here's how to use it:

Go to the Morpho Oracle Tester interface
Verify you are on the Tester tab in the navigation menu
Select Network: Ethereum
Select Assets
Collateral Asset: vstETH (your StakeWise Vault token)
Loan Asset: USDC
📝 Note: Since your token isn't listed, click Add Asset and enter your StakeWise Vault address and an estimated USD price based on current ETH value.

5. Fill in the detailed oracle parameters you defined (baseVault, baseFeed1, quoteFeed1, etc.)
6. Click Run Oracle Tests
Once all checks pass, click Generate Payload to create the transaction data. You can view it in the interface, download it as JSON, or deploy directly via Safe for multisig setups.
Deploy On-Chain
Once you've validated your configuration, you can deploy it on Etherscan:
Go to the MorphoChainlinkOracleV2Factory address on Etherscan
Click Connect to Web3 and connect your wallet
Expand the createMorphoChainlinkOracleV2 function
Enter all parameters you configured and validated earlier
Double-check all values against your test results
Click Write and confirm the transaction in your wallet

7. Once confirmed, find the CreateMorphoChainlinkOracleV2 event in the transaction logs. Save the deployed oracle address.

8. Validate your oracle using one of these methods:
Oracle Decoder: Go to oracles.morpho.dev/oracle-decoder and enter your oracle address
Etherscan: Go to your oracle address → Contract tab → Read Contract tab → expand the price function to see the result
Step 3: Create Your Morpho Market
Now that your oracle is deployed, you can create a vstETH/USDC market on Morpho.
Deploy the Market
Go to the Morpho contract on Etherscan: Contract tab → Write Contract tab
Click Connect Wallet and connect your wallet
Expand the createMarket function
Fill in the parameters:
loanToken: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (USDC)
collateralToken: Your StakeWise Vault address (vstETH)
oracle: The oracle address you deployed in the previous step
irm: 0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC – Morpho's AdaptiveCurveIRM, which automatically adjusts rates to target 90% utilization (Learn more)
lltv: Choose a governance-approved LLTV (e.g., 915000000000000000 for 91.5%) – a key risk metric that measures the proportion of debt relative to collateral value (approved LLTVs)

5. Click Write and confirm the transaction
6. Once confirmed, find the CreateMarket event in the transaction logs. Save the market ID for future reference (in Hex format)

Verify Your Market
To retrieve market parameters from the ID:
Go to the Morpho contract on Etherscan: Contract tab → Read Contract tab
Find idToMarketParams function
Paste your market id and query

Protect Against Inflation Attacks (Dead Deposit)
When a market is new and empty, attackers can manipulate the share price to steal funds from the first depositors. You must set up a “dead deposit” to prevent front-running attacks.
Approve Morpho
Go to the USDC contract on Etherscan: Contract tab → Write as Proxy tab
Click Connect to Web3 and connect your wallet
Expand the approve function and fill in:
spender: 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb (Morpho)
value: 1000000 (1e6 = 1 USDC, enough to cover the deposit)
4. Click Write and confirm the transaction

Create Dead Deposit
Go to the Morpho contract on Etherscan: Contract tab → Write Contract tab
Click Connect to Web3 and connect your wallet
Expand the supply function and fill in:
marketParams: your market parameters
assets: 0
shares: 1000000000 (1e9 shares)
onBehalfOf: 0x000000000000000000000000000000000000dEaD
data: 0x

Step 4: Add Liquidity
Congratulations on successfully creating your market! 🎉
To view it in the Morpho app, open any market page and simply replace the URL's market ID with yours: https://app.morpho.org/ethereum/market/{your-market-id}
(Grab the ID from the CreateMarket event logs from Step 3)

You'll see a yellow warning: “Market is not listed”. The Morpho app only shows markets that curated vaults allocate to. These vaults must themselves be listed. Curators (e.g., Gauntlet, Steakhouse Financial, Re7 Capital, MEV Capital, and others) list and run these vaults (like USDC ones) and allowlist markets after reviewing risk, oracle quality, collateral strength, yield potential, and more.
For borrowing to be possible, lenders must supply USDC (the loan token) to your market. There are two main paths:
Option A: Via a Curator
Contact a curator to request allocation to your market. The complete list of curators is available here.
Getting allocation means convincing a curator that your market fits their strategy. They evaluate:
Risk profile fit: How does your oracle work? Can positions be liquidated easily?
Yield competitiveness: Will your market generate sufficient yield compared to markets they already list?
Curators must balance offering enough yield to attract lenders while keeping borrow rates reasonable to retain borrowers.
Option B: Run Your Own Vault
Create and curate your own Morpho Vault (permissionless via the Curator App)—source lender liquidity and allocate it to your markets. The Curator app provides Morpho Vault operators with tools to manage existing vaults and create new ones.
📘 Learn more: Curation documentation | Build documentation for details
Step 5: Supply Collateral
(Once your market has liquidity from suppliers or vaults)
Go to your market on https://app.morpho.org/ethereum/market/{your-market-id}
Connect your wallet (❗make sure your address is whitelisted in your StakeWise Vault)
Enter the vstETH amount in Supply Collateral
Click Submit and confirm the transaction
Step 6: Borrow Against Your Collateral
With collateral supplied, you can now borrow against it.
On the same market page, enter the USDC amount in Borrow USDC
Click Submit and confirm the transaction
Your vstETH/USDC market is now live! 🎉 You can borrow against your Vault tokens while continuing to earn staking yields.
📧 For questions, reach out to the StakeWise team.



