
SPRY Finance
Dynamic-fee Uniswap v4 hook that turns arbitrage-driven IL into LP revenue.
Demo
About
Spry is a non-custodial Uniswap v4 hook that replaces flat swap fees with dynamic, per-swap pricing designed to better protect liquidity providers from impermanent loss and LVR. Instead of charging every trade the same rate, Spry measures how much a swap moves the pool and applies a four-zone fee curve: ordinary flow stays near a low base fee, while larger price-moving arbitrage and MEV trades progressively pay more. The additional fees accrue to LPs through Uniswap v4's native fee accounting. To prevent traders from bypassing the curve by splitting a large trade into smaller swaps, Spry tracks cumulative pool movement over a block window and prices each swap across that path using integral-based pricing. The mechanism is designed to be path-independent and splitting-resistant. Spry uses five fee tiers for different asset classes, requires no external oracle, makes no external calls from the hook, and never custodies user funds. Ref.: https://spry.fi/Spry-Whitepaper.pdf
How it's made
Spry started from a simple problem: impermanent loss has always made LPing feel risky, especially when large arbitrage trades extract value from pools. When Uniswap introduced hooks, we saw an opportunity to change how swap fees work at the pool level. We built a hook that measures how much each swap moves the pool and adjusts the fee dynamically, so normal trades stay cheap while larger, more harmful trades pay more. The contracts are written in Solidity and tested with Foundry (covering unit, integration, attack scenarios, fuzz/invariant behavior, and fork tests). The hook is non-custodial, uses only on-chain pool state, and does not rely on external oracles.