Just-in-time liquidity exists because concentrated liquidity turned liquidity provision from a passive pool deposit into something far more surgical. Concentrated liquidity allows LPs to place capital only inside chosen price ranges, dramatically increasing capital efficiency while price remains inside the selected range.
That design improvement made ordinary liquidity positions more flexible, but it also created a new opportunity for highly sophisticated actors. If liquidity can be inserted into a very narrow range for a very short period, then a bot that sees a large swap coming can try to place liquidity only for that trade, earn the swap fee, hedge the inventory change elsewhere, and then remove the liquidity immediately after the trade is complete.
This is what Uniswap calls just-in-time, or JIT, liquidity. Uniswap defines JIT as a strategy in which an LP observes a pending swap in the public mempool, adds liquidity immediately before the swap executes, lets the swap trade against that liquidity, and removes the liquidity and fees immediately afterward.
JIT liquidity is not a vague theory about opportunistic market making. It is a very specific transaction sequence.
Uniswap Labs describes the standard pattern as three linked actions in one block. The first transaction mints a concentrated liquidity position into the exact pool and price range the incoming trade is expected to cross. The second transaction is the swap itself. The third transaction burns the liquidity position and withdraws the accrued fees. In the classic example documented by Uniswap Labs, all three transactions happened sequentially in the same block and were bundled through Flashbots.
The logic behind that structure is simple. The JIT LP does not want to sit in the pool longer than necessary because holding the position beyond the targeted swap exposes the LP to more market risk and to the possibility that later order flow will no longer justify the narrow position. The whole point of the strategy is to compress liquidity provision into a window so small that the LP is mostly there only for the fee-paying trade it already expects.
In older AMM designs, liquidity was spread across the full curve. That makes surgical one-trade provisioning much less practical because the LP has to commit capital across all prices rather than across the tiny local interval where the swap will execute. Uniswap v3 changed that by allowing liquidity to be deployed only in chosen ranges and by making in-range capital much more efficient. The launch post explains that when price stays inside a selected band, the concentrated position behaves like a much larger full-range position would have behaved, but with far less committed capital.
That is exactly what a JIT bot wants. It wants to place just enough capital, just in the right band, for just long enough to intercept a large swap. Without concentrated liquidity, the trade is much harder to make economic. With concentrated liquidity, it becomes plausible whenever the expected fee from the targeted swap exceeds the risk and hedging cost of stepping in.
JIT liquidity is usually discussed together with MEV because the strategy depends on transaction ordering and foreknowledge of pending flow. The LP has to see a meaningful swap before it confirms, decide whether that swap is profitable to service, insert liquidity ahead of it, and then remove that liquidity after the swap has crossed the range.
That makes JIT liquidity deeply tied to block-building and ordering infrastructure. Uniswap Labs explicitly notes that the classic three-transaction pattern was bundled and sent through Flashbots. This is not an incidental detail. Without reliable ordering or privileged access to block-building pathways, the LP cannot safely assume its mint, the swap, and its burn will happen in the right sequence.
The strategy is therefore not just a liquidity trick. It is a liquidity trick that relies on MEV-aware execution and on the ability to intervene around a known trade with very low timing error.
A large swap against a concentrated position changes the composition of the LP’s inventory. If the JIT LP simply accepted that inventory change and walked away, the trade would no longer be mainly about earning a pool fee. It would become a directional exposure to the asset mix left over after the swap.
The JIT LP simultaneously completes a hedging transaction in a different liquidity venue to offset inventory risk, earning the spread between the hedge cost and the fee captured in the Uniswap pool. In other words, the strategy is not purely about collecting pool fees. It is about capturing fees while neutralizing the directional risk created by servicing the swap.
This hedging step is crucial because it reveals what kind of actor can run JIT successfully. The strategy requires capital, timing, technical sophistication, and access to reliable hedging venues. It is much closer to an automated micro-market-making business than to ordinary retail liquidity provision.
From the perspective of passive LPs, JIT can feel like a form of selective competition. The JIT bot does not sit in the pool continuously and share in both good and bad order flow over time. Instead, it tries to appear only for the specific swap most worth servicing, collect a fee for that one trade, and then disappear before less attractive inventory risk arrives.
That is the core source of controversy. Passive LPs commit capital for longer periods and absorb much broader market risk. The JIT LP tries to take only the most favorable piece of the fee opportunity. Even though the swapper may still receive execution and the pool rules are not being violated, the strategy can feel like adverse selection against ordinary LPs because the bot competes only when the economics are best.
This is one reason JIT liquidity is often discussed as a market-structure question rather than only as an interesting bot tactic. It forces people to ask who concentrated-liquidity AMMs are rewarding most: long-term risk-bearing LPs or hyper-responsive liquidity specialists with ordering advantages.
The surprising part of the data is that JIT liquidity turned out to be much smaller than the market often assumed. Uniswap Labs’ historical study found that from May 2021 through July 2022 there were just over 8,000 successful JIT attempts, that more than 95% of JIT liquidity came from one single account, and that JIT liquidity accounted for only about 0.3% of all Uniswap v3 liquidity demand over that period. The same post says this directly refuted the common belief that JIT was supplying a huge portion of the protocol’s liquidity.
That result matters because it shows JIT is real, but also difficult. The conditions for profitable JIT are narrower than people first imagined. The trade has to be large enough, the fee tier has to be attractive enough, the hedge has to be available, and the ordering path has to be reliable. The existence of the strategy does not mean it scales infinitely.
A strategy can be rare and still important if it reveals something fundamental about market design. JIT liquidity matters because it shows what concentrated liquidity and MEV-aware ordering make possible. It demonstrates that an LP can move from being a passive capital provider to being an active, transaction-specific liquidity competitor.
It also matters because it clarifies a broader economic truth about AMMs. Fee opportunities do not belong automatically to passive capital. If liquidity can be repositioned quickly enough and precisely enough, then part of the fee stream can be competed away by actors who are better at timing and execution rather than by actors who commit the most passive capital over long horizons.
That insight matters well beyond the narrow fraction of swaps actually serviced by JIT bots.
The cleanest way to think about JIT liquidity is as a one-trade market-making strategy built inside an AMM. The bot is not acting like a traditional LP who passively waits for flow. It is acting like a specialist who sees one specific customer order, decides the order is worth serving, injects capital for that order alone, hedges the resulting inventory change elsewhere, and exits immediately after collecting the fee.
That framing makes the economics easier to understand. JIT is not free money. It is a highly technical fee-capture strategy whose edge depends on concentrated liquidity, accurate observation of pending swaps, reliable execution ordering, and low enough hedging cost that the pool fee remains worth chasing.
Just-in-time liquidity is a concentrated-liquidity strategy in which a bot or specialist LP adds liquidity immediately before a targeted swap, lets that swap trade against the position, hedges the inventory change elsewhere, and then removes the liquidity almost immediately afterward. The strategy became possible because Uniswap v3 made liquidity much more capital-efficient inside narrow ranges, and it became viable in practice because MEV-aware ordering lets sophisticated actors place the mint, swap, and burn in a controlled sequence. JIT matters not because it has dominated total Uniswap volume, but because it reveals how AMM fee opportunities can be contested by short-lived, trade-specific liquidity rather than only by passive capital. Once that is clear, JIT stops looking like a strange edge case and starts looking like a window into the deeper market structure of concentrated-liquidity AMMs.
The post Just-in-Time Liquidity: How MEV Bots Step Into AMMs for One Trade appeared first on Crypto Adventure.