Imagine que você abriu uma cafeteria em um local movimentado. Você paga o aluguel, contratou funcionários e espera pelos clientes. De repente, bem na porta da sua cafeteria, quando um grupo de 100 turistas se aproxima, alguém monta um quiosque temporário em segundos, vende café para eles e desmonta imediatamente depois que o último turista pagou. Você ficou lá o dia todo, mas o lucro foi levado pelo “fantasma”.
No DeFi, esse “fantasma” é chamado de liquidez JIT (Just-In-Time).
1. Conceito: Liquidez sob demanda
No Uniswap v2, a liquidez era “preguiçosa” — distribuída por toda a curva de preços, do zero ao infinito. O Uniswap v3 introduziu a Liquidez Concentrada, permitindo que os LPs escolhessem intervalos estreitos.
A liquidez JIT é a forma extrema de concentração. Um bot MEV não mantém o dinheiro no pool o tempo todo. Ele adiciona exatamente no momento em que vê uma grande transação (swap) no mempool, que certamente gerará altas taxas.
Como isso aparece em um bloco (Linha do tempo):
- Tx alvo: Um usuário envia uma transação para trocar 500 ETH por USDC.
- Detecção: O bot vê isso no mempool (transações pendentes).
- Pacote JIT: O bot forma um pacote em três ações:
- Ação A (Mint): Adiciona grande liquidez no intervalo de 1 tick (menor passo de preço possível) onde a transação ocorrerá.
- Ação B (Swap): O swap do usuário acontece aqui.
- Ação C (Burn): Retira imediatamente a liquidez junto com a parte das taxas.
Todas as três ações acontecem dentro do mesmo bloco, frequentemente em uma única transação atômica via contrato inteligente do bot.
2. Por que suas taxas “desaparecem”?
A receita dos LPs no Uniswap v3 é proporcional à sua participação no intervalo de preço ativo.
Choque matemático: Se houver $1.000.000 no pool de LPs comuns e um bot JIT injetar $9.000.000 no mesmo intervalo estreito para um único swap, ele leva 90% das taxas dessa transação.
Para um LP passivo, isso significa diluição. Você não perde seus tokens (exceto pela Impermanent Loss normal), mas perde o Custo de Oportunidade — o lucro pelo qual você arriscou seu capital.
Exemplo real (dados 2025-2026):
No pool USDC/ETH (0,05%), ocorre um swap de $10 milhões. Taxa esperada: $5.000.
- Sem bot: 10 LPs comuns dividem $500 cada.
- Com bot JIT: O bot injeta $100 milhões de liquidez. A participação dos LPs comuns cai para 1%. O bot leva $4.950, e os 10 LPs dividem apenas $50.
3. Anatomia da transação: Visão técnica
Bots JIT usam contratos inteligentes especializados. A interface padrão do Uniswap é lenta e cara em gás para isso.
Detalhe técnico: O bot chama a função mint no NonfungiblePositionManager, mas através de seu contrato wrapper, que imediatamente após o swap chama decreaseLiquidity e collect.
Exemplo de estrutura de chamada (estilo Solidity):
// Pseudocódigo da lógica do contrato JIT
function executeJit(
address pool,
int24 tickLower,
int24 tickUpper,
uint256 amount0,
uint256 amount1
) external {
// 1. Entrar na posição (JIT Mint)
(uint256 tokenId, , , ) = nftManager.mint(params);
// 2. A magia do bundle MEV acontece aqui:
// A transação swap do usuário é incorporada no bloco IMEDIATAMENTE após esta chamada.
// 3. Sair da posição na mesma ou na próxima transação do bundle
nftManager.decreaseLiquidity(DecreaseParams(tokenId, liquidity, ...));
nftManager.collect(CollectParams(tokenId, recipient, ...));
nftManager.burn(tokenId);
}
4. Fato pouco conhecido: JIT como “Guarda Florestal”?
A comunidade de pesquisadores MEV ainda debate. Diferente de ataques Sandwich (que pioram o preço para o usuário), ataques JIT podem melhorar as condições para o trader.
- Para o trader: A liquidez do pool aumenta repentinamente → Slippage diminui → O trader recebe mais tokens.
- Para LPs passivos: Roubo puro de rendimento.
- Para o protocolo: O volume de negociação cresce, mas manter provedores de liquidez fica mais difícil.
5. Indicadores práticos de atividade JIT
Como saber se há um “predador” em seu pool?
- Volume vs Receita: O volume do pool aumenta, mas suas taxas acumuladas mal se mexem.
- Picos instantâneos de TVL: Observando a liquidez dentro dos blocos (via ferramentas como Dune Analytics ou EigenPhi), você vê “agulhas” verticais — liquidez entra e sai em um único bloco.
- Concentração em 1 tick: Verifique posições ativas. Se você vir uma posição de $50M+ com alcance mínimo de 1 tick (ex.: 190510–190520 para ETH), esse é o padrão de um bot JIT.
E depois?
Cobrimos a teoria e a mecânica do “roubo de taxas”. Mas como o bot sabe quanto injetar para não ir para o negativo por causa do gás? Como ele compete com outros bots JIT no leilão Flashbots?
No próximo artigo, abordaremos a matemática da dominância e as fórmulas para calcular a “entrada perfeita”.
Domínio de Liquidez JIT: O Guia Completo de MEV no Uniswap: Parte 1 de 5