← All posts

Moving a position between lenders without selling it

Migrating a leveraged position between Morpho, Aave v3 and Aave v4 builds no route, quotes no price and uses no slippage tolerance. Nothing is sold.

Strategy3 min readDeFiLoops

Rates move. The lender that was cheapest when you opened a position is routinely not the cheapest six weeks later, and the gap is rarely small enough to ignore — two points on a borrowing position is two points a year, every year, for as long as it stays open.

Almost nobody moves. The reason is not ignorance of the rate.

Why people stay put

To repay the old loan you need your collateral back. To get your collateral back you must repay the loan. There is no order in which you can do those two things, so the manual route is to find the entire loan amount somewhere else first — a strange requirement for the act of ending up with less debt.

And if you do find it, the usual path sells your collateral and buys it back on the other side. That is the spread, twice, plus slippage on both legs, to end up holding exactly what you were already holding.

Nothing is sold

When both ends take the same collateral token, the migration sells nothing at all.

No route is built
There is no trade to route, so no path through any pool is chosen
No price is quoted
Nothing is being priced, so there is no floor to agree and no quote to go stale
Slippage tolerance is ignored
The setting is not consulted, because there is no execution for it to bound

Your wstETH leaves one protocol and arrives at the other as wstETH. The debt is carried across. The position is the same position, at a different address, and the only thing that changed is who you owe.

Where it can go

Morpho
The default at both ends, and the source of the flash loan regardless of where the position lives
Aave v3
Either end. Note the market is still named by its Morpho name, even when the position is an Aave one
Aave v4
We reach it on Ethereum. A different protocol from v3 rather than a newer version, organised into spokes, and a v4 move stays inside one of them

Both ends are named by curated market. That is a real limit and a deliberate one: the step reaches listed pairs, not arbitrary ones.

And when the collateral does change

The same step handles it, and then it does sell — your wstETH out, the destination market’s collateral in, debt carried across. That is a different operation in spirit: you are changing what the position is made of, not just where it lives, and the slippage tolerance you set starts mattering again because there is finally something to execute.

Why it fits in one transaction

The deadlock at the start is broken with borrowed money you never touch.

  1. Borrow the full repayment amount

    From Morpho, which lends flash for nothing while Aave charges a premium.

  2. Repay the old debt, take the collateral back

    These two only deadlocked because they needed an order.

  3. Deposit at the new lender and borrow again

    Same collateral, same debt, different protocol.

  4. Repay the borrowing

    Out of what the new position borrows.

Either all of it happens or none of it does. There is no window where your collateral is out and your position is at neither lender.

What it will not do

  • You cannot take the flash loan yourself. There is no flash.borrow operation — it is a means inside fourteen of the sixty-one operations, never a step of its own.
  • A Safe cannot do it. A Safe runs batched calls with nothing installed, but cannot receive a flash-loan callback without installing a module.