JIT protection

Just-in-time (JIT) liquidity is a bot inserting liquidity right before a large swap and pulling it right after, capturing the fee that passive LPs were waiting for. On Aqua a bot has no way in. Each position belongs to one LP, and no external liquidity can be inserted into it.

7 min readUpdated July 2026

The attack, in numbers

up to 44%of passive LP fee income eroded per swap under strategic JIT deployment, a model-based upper bound (arXiv:2509.16157)
~442,000JIT bundles measured on Ethereum's Uniswap v3 between January 2024 and September 2025 (FC'26 measurement study)
1 LPper Aqua position: its fees are not shared with other LPs

JIT runs at scale and is heavily automated: the measurement above traces most bundles back to a handful of searcher bots, and about 52,700 of them arrived through private relays, invisible in the public mempool until they landed. Passive LPs in shared pools compete with infrastructure they cannot see.

How a JIT bundle unfolds

  1. 1

    Spot a large swap

    A bot watches pending transactions for a large swap headed to a pooled AMM, then computes exactly where that swap will move the price.

  2. 2

    Insert liquidity first

    In the same block, right before the swap, it mints a tight position at that price, so for one moment it holds most of the active liquidity in the pool.

  3. 3

    Exit with the fee

    Immediately after the swap it burns the position and leaves with a large share of the fee, diluting the LPs whose liquidity sat in the pool all along. The swap itself is unharmed, and on average it even fills at a slightly better price. On Aqua the sequence cannot start: no external liquidity can be inserted into your position.

Why Aqua positions can't be sniped

In a pooled AMM, fees are shared among whoever is in the pool at the fee moment, including a bot that arrived in the same block, right before the swap. An Aqua position is single-owner: its fees are not shared with other LPs and no external liquidity can join it. The fee moment isn't shared, so there is nothing to snipe. What risks remain for Aqua LPs.

There is no shared fee moment in an Aqua position, so there is nothing to snipe.

Sources

Strategic JIT liquidity provision (arXiv:2509.16157, AFT 2025) Models JIT deployment eroding passive LP fee income by up to 44% per swap.https://arxiv.org/abs/2509.16157 Mapping public and private JIT liquidity (FC'26) Counts about 442,000 JIT bundles on Ethereum's Uniswap v3 from January 2024 to September 2025, including roughly 52,700 via private relays.https://fc26.ifca.ai/defi/papers/jit-liquidity-ethereum-builders.pdf Demystifying JIT liquidity attacks (IACR 2023/973) Finds JIT is whale-dominated and detrimental to existing LPs, whose liquidity share is diluted by 85% on average during an attack.https://eprint.iacr.org/2023/973 Dune: JIT liquidity on Uniswap v3 Community dashboard tracking JIT bundles and volumes.https://dune.com/Vasily/JIT 1inch: liquidity provision and MEV The attack mechanics and what Aqua changes for LPs, in plain language.https://blog.1inch.com/liquidity-provider-meets-mev/