Vault with Just-In-Time(JIT) liquidity using Uniswap v4 hooks and Aave yield saving
JIT Saving Vault is a protocol that leverages Just-In-Time liquidity hooks on Uniswap v4 for 1:1 asset pairs(stETH/ETH, rETH/ETH and weETH/ETH). Before a swap takes place, the protocol takes the available liquidity from the vault and additionally borrows assets from Aave to amplify liquidity of the uniswapV4 pool. The swap is then executed with this enhanced position, after which the liquidity is immediately removed and the Aave loan is repaid. Meanwhile, the vault deposits continue to generate passive yield on Aave. This mechanism allows users to capture swap fees and lending rewards while enabling highly efficient, temporary liquidity provision.
We built JIT Saving Vault as a hybrid DeFi protocol combining Uniswap v4 hooks and Aave lending. The core logic is written in Solidity, where a custom hook contract interacts directly with Uniswap v4 to add and remove liquidity. The hook listens for swaps on 1:1 asset pairs (e.g., stETH/ETH, rETH/ETH and weETH/ETH) and, just before swap, it pulls liquidity from the vault and optionally borrows assets from Aave to maximize depth. Immediately after the swap, the hook removes liquidity and repays the loan.
The vault itself is implemented as an ERC-4626-compatible contract, allowing users to deposit assets and accrue Aave yield while still being available for JIT liquidity provision. For borrowing, we integrated Aave’s lending pool contracts, using flash loan–like mechanics to source temporary capital without manual management.
On the infrastructure side, we used Foundry/Forge for development and testing.
By combining Uniswap v4 hooks with Aave, we were able to create a system that not only earns sustainable yield from lending, but also opportunistically captures trading fees with capital efficiency that’s otherwise impossible.