Onchain, your liquidity is out of your control. A number of vaults can rely on the same lending market, where most of the liquidity comes from a single lender. When that lender exits the market for whatever reason, you end up trying to save what’s left across your positions.
On top of that, the onchain market never closes. It’s globally available and functionally irreversible. One exit can change the entire market and have a cascading effect across your positions.
You can’t prevent this exit from happening. After all, curating a vault and participating in onchain markets is a continuous series of risk-for-reward decisions. But while you can’t eliminate risk, you can model and evaluate its impact, plan your mitigation steps, and make sure your response works before you ever need it.
When the whale exit hits, it hits hard
In a shared lending market, your exit capacity depends on decisions out of your control. Free liquidity, supplied but not yet borrowed, is also “free for all”. Any lender with enough holding power can drain it at any moment. When that happens, utilization jumps, and rates reprice. Withdrawals stall until borrowers repay or new liquidity arrives, while outstanding debt jumps to much higher rates.
Bad debt can also come from parameter changes, mispriced oracles, or market exploits. The KelpDAO bridge exploit froze withdrawals at 100% utilization, causing around $246M in bad debt across Aave and Compound and resulting in $13B leaving decentralized finance in 48 hours.
These market movements are outside of your control. But what isn't is how you prepare for or respond to them. So, modeling becomes part of the operational discipline that is within your control.

You can model scenarios such as whale exits, oracle misconfigurations, or parameter changes before:
- Allocating to a new vault or market: See how your withdrawable claim behaves under a large exit.
- Sizing a capital move: Preview the slippage, rate impact, and exit capacity and see how they change when you allocate capital.
- Approving a cap, LTV, or exposure change: Instead of committing to a public timelock, preview the decision before it becomes public.
The scenario: a whale supplier exits a Morpho market
Imagine this.
The Morpho cbBTC/USDC market on Ethereum mainnet has deep supply, high utilization, and a small set of large lenders. While this type of market is generally healthy, stress-testing it can reveal potentially unwanted outcomes in edge-case scenarios.
Let’s say the market has an 88.3% utilization rate, with around $268M supplied against $237M borrowed. Six curated vaults supply liquidity, and the largest supplier holds roughly $79M. You allocated your capital into this market as one of the six vaults.
🎬 Camera rolling: the largest lender withdraws the market's entire free liquidity in a single transaction. There’s no exploit draining the market or a bug in the underlying code logic. It’s simply an action available by market design.
As a result, the market freezes. Utilization hits 100%, and your exit capacity moves to zero. Your team is left dealing with the impact, trying to determine who can still exit the market and what borrowers need to pay.
How to model the exit step by step with Tenderly
As a simulation company for blockchain operations, Tenderly lets you model potential risk against historical, current, or future market conditions. You can use Virtual Environments to replicate production chains with their real state, liquidity, and positions.
Then, you have full control over what happens. Adjust and manipulate the state, stage exits, price drops, or oracle misconfigurations, and see how your vaults behave under real market pressure. Your contracts stay privately verified, so you can model strategies and exposure without revealing your intent on a public network.
Here’s how to model the Morpho whale exit in Virtual Environments.

- Mirror Ethereum mainnet: Spin up a Virtual Environment in Mirror Mode to replicate Mainnet block for block, including the real mempool, gas, oracle prices, and contract state. Fork the chain a few hundred blocks before the moment you want to stage the exit.
- Establish the baseline: Compare the total supply, borrow APR, available liquidity, and each vault's withdrawable claim against live Mainnet. In the Morpho example, the run reveals a mismatch even before the exit. The six vaults' withdrawable claims add up to around $60.8M against $31.4M of the available liquidity.
- Impersonate the largest lender: In Virtual Environments, you can impersonate any account without its private key using the custom cheatcodes. Then, fund the account with tokens for gas and step into the whale’s position. This way, you can model the account’s move and how it affects the market.
- Run the withdrawal and let time pass: Execute the full withdrawal and then replay 50 real mainnet blocks to see the exit play out against the real market instead of static forks. The cascade compounds each block, with utilization reaching 100% and the rate model repricing.
- Evaluate the outcome: Compare the final results against the Mainnet as a reference. Use State Drifts to see exactly how your environment diverged from production, including the available liquidity, utilization, borrow APR, and each vault's withdrawable claim, position by position.
- Share the documented analysis: Whether a single transaction or an entire environment, share the outcome with your team or external collaborators. Every transaction is fully decoded and provides human-readable insights, so even less technical stakeholders can easily inspect the execution.
Knowing your exposure changes your decision. It helps you choose how much risk you’re willing to take. You can resize the allocation, adjust the cap for the timelock, or reconsider your exit threshold. Most importantly, you can make a decision based on real market conditions, with evidence to back it up.
Modeling done. What’s next?
Okay, so you’ve modeled the scenario against your hypothesis, received the results, and decided how much to allocate into the market based on that information. But then what? The whale exit can still happen, and depositors’ capital is still on the line. Modeling just reveals how much.
So, modeling is half the job. Here’s what the other half might include:
- Design an emergency procedure for time-sensitive situations, such as withdrawing your assets, triggering a recovery mechanism, or pausing a protocol.
- Validate the emergency measures the same way you modeled the scenario to ensure it does what it’s supposed to do before you ever need it in production.
- Have an alerting system in place to catch and mitigate the first signs of potential issues, such as conflicting oracles, utilization approaching caps, or large withdrawals.
- Act quickly when an event does happen, initiating the previously validated emergency measures and tracing the issue to its root cause within seconds.
Model every move before it’s final
From vault creation and capital deployment to ongoing management onchain, every move you make can resonate across the market. Modeling it first gives you the insight and confidence when managing depositors' funds, so when the exit hits, you know you’ve done everything in your power to soften the blow.
So, make sure to stage the exit, manipulate the market, crash the prices, and run any other scenario you can think of before it actually happens. Wondering what this would look like on your own vaults? Contact the Tenderly team to set up a demo for your specific use case.