Looping is the DeFi way to leverage a yield. You deposit an interest-earning asset, borrow the same or a similar asset, deposit that too, borrow again. Each loop increases exposure. Done right on correlated pairs, it 2-4x your yield with modest tail risk. Done wrong, it becomes an oracle-linked timebomb.
The mechanics
Say stETH yields 3.5% and you can borrow ETH at 2%. You deposit 1 stETH, borrow 0.8 ETH, wrap to stETH, deposit, borrow 0.64 ETH, etc. Sum of geometric series with borrow-repay: you end up with roughly 5 stETH exposure per 1 ETH deposit. Yield ~ 5 × 1.5% net = 7.5% APR instead of 3.5%.
Aave eMode makes it economic
eMode allows 92-95% LTV on correlated pairs (ETH/stETH, USDC/USDT). Without eMode, looping stables was barely worth it. With eMode, stable-stable loops routinely hit 15-20% APR net.
Automated looping
Manual looping = 5-8 transactions and constant gas. Protocols automate it: Contango, Instadapp, DefiSaver, Fluid. You deposit once and pick target leverage; the protocol executes the loop and rebalances.
Where loops die
- Oracle glitch. If Chainlink briefly reports stETH at 0.90 ETH, your health factor crashes even though the real market is fine. Loop unwinds at loss.
- Interest rate spike. If ETH borrow APR jumps from 2% to 8%, your loop instantly costs more than it earns.
- Slashing event. Real stETH loses value from validator slashing (rare but not zero). Loop takes amplified hit.
- Depeg. If stETH depegs, the loop's health collapses fast.
Practical rules
- Loop only on genuinely correlated pairs (ETH-LST, USDC-USDT).
- Cap leverage at 4-5x for LSTs, 8-10x for stables.
- Monitor health factor and borrow APR.
- Test unwind cost before entering.
Koinlytics