Представьте, что вы открыли кофейню в проходном месте. Вы платите аренду, наняли персонал и ждете клиентов. Вдруг, прямо перед дверью вашей кофейни, когда к ней подходит группа из 100 туристов, кто-то за миллисекунду возводит временный киоск, продает им кофе и мгновенно его демонтирует, как только последний турист расплатился. Вы стояли там весь день, но прибыль забрал «призрак».
В DeFi этот «призрак» называется JIT-ликвидностью (Just-In-Time).
1. Концепция: Ликвидность «под запрос»
В Uniswap v2 ликвидность была «ленивой» — она распределялась по всей кривой цены от нуля до бесконечности. Uniswap v3 представила Concentrated Liquidity (Концентрированную ликвидность), позволив поставщикам (LP) выбирать узкие диапазоны.
JIT-ликвидность — это предельная форма концентрации. MEV-бот не держит деньги в пуле постоянно. Он добавляет их ровно в тот момент, когда видит в мемпуле крупную транзакцию (своп), которая гарантированно принесет большой объем комиссий.
Как это выглядит в блоке (Таймлайн):
- Target Tx: Пользователь отправляет транзакцию на обмен 500 ETH на USDC.
- Detection: Бот видит это в мемпуле (Pending transactions).
- JIT Bundle: Бот формирует пакет из трех действий:
- Action A (Mint): Добавление огромной ликвидности в диапазон 1 тика (минимально возможный шаг цены), где пройдет сделка.
- Action B (Swap): Тот самый своп пользователя.
- Action C (Burn): Немедленный вывод ликвидности вместе с долей комиссий.
Все три действия происходят в рамках одного блока, а часто — в рамках одной атомарной транзакции через смарт-контракт бота.
2. Почему ваши комиссии «испаряются»?
Доход LP в Uniswap v3 распределяется пропорционально их доле в активном ценовом диапазоне.
Математический шок: Если в пуле лежит $1,000,000 от обычных LP, а JIT-бот вбрасывает $9,000,000 в тот же узкий диапазон на время одного свопа, он забирает 90% комиссионных от этой сделки.
Для пассивного LP это означает «размытие» (dilution). Вы не теряете свои токены (кроме обычного Impermanent Loss), но вы теряете Opportunity Cost — прибыль, ради которой вы рискуете капиталом.
Реальный пример (2025-2026 данные):
В пуле USDC/ETH (0.05%) проходит своп на $10 млн. Ожидаемая комиссия — $5,000.
- Без бота: 10 обычных LP делят по $500.
- С JIT-ботом: Бот вливает $100 млн ликвидности. Доля обычных LP падает до 1%. Бот забирает $4,950, а 10 LP делят между собой жалкие $50.
3. Анатомия транзакции: Технический взгляд
JIT-боты используют специализированные смарт-контракты. Обычный интерфейс Uniswap для этого слишком медленный и дорогой по газу.
Техническая деталь: Бот вызывает функцию mint у NonfungiblePositionManager, но делает это через свой контракт-прослойку, который сразу же после свопа вызывает decreaseLiquidity и collect.
Пример структуры вызова (Solidity-стиль):
// Псевдокод логики JIT-контракта
function executeJit(
address pool,
int24 tickLower,
int24 tickUpper,
uint256 amount0,
uint256 amount1
) external {
// 1. Входим в позицию (JIT Mint)
(uint256 tokenId, , , ) = nftManager.mint(params);
// 2. Здесь происходит магия MEV-бандлов:
// Транзакция пользователя (Swap) встроена в блок СРАЗУ после этого вызова.
// 3. Выходим из позиции в той же или следующей транзакции бандла
nftManager.decreaseLiquidity(DecreaseParams(tokenId, liquidity, ...));
nftManager.collect(CollectParams(tokenId, recipient, ...));
nftManager.burn(tokenId);
}
4. Малоизвестный факт: JIT как «Санитар леса»?
В сообществе MEV-исследователей ведутся споры. В отличие от Sandwich-атак (которые ухудшают цену для пользователя), JIT-атаки улучшают условия для трейдера.
- Для трейдера: Ликвидность в пуле внезапно становится огромной -> Проскальзывание (Slippage) снижается -> Трейдер получает больше токенов.
- Для пассивного LP: Это чистый грабеж доходности.
- Для протокола: Объем торгов растет, но удержание поставщиков ликвидности усложняется.
5. Практические индикаторы JIT-активности
Как понять, что в вашем пуле завелся «хищник»?
- Объем vs Доходность: Объем торгов в пуле растет, но ваши накопленные комиссии (Fees) почти не двигаются.
- Мгновенные всплески TVL: Если смотреть на графики ликвидности внутри блоков (через специализированные инструменты типа Dune Analytics или EigenPhi), можно увидеть вертикальные «иглы» — ликвидность пришла и ушла в одном блоке.
- Концентрация в 1 тике: Проверьте активные позиции. Если вы видите позицию на $50M+ с диапазоном в минимально возможный 1 тик (например, 190510 - 190520 для ETH), это почерк JIT-бота.
Что дальше?
Мы разобрали теорию и механику «кражи» комиссий. Но как бот понимает, какой объем влить, чтобы не уйти в минус из-за стоимости газа? Как он конкурирует с другими JIT-ботами в аукционе Flashbots?
В следующей статье мы перейдем к математике доминирования и разберем формулы, по которым рассчитывается «идеальный вход».
Мастерство JIT-ликвидности: Полное руководство по MEV в Uniswap: Часть 1 из 5