Uniswap V3 · Celo MainnetEn producción, con fondos reales

Liquidez concentrada, gestionada por un agente — sin ceder la custodia.

Depositás USDT — un solo token. El agente arma y rebalancea tu posición en el pool USDT/WETH por vos. Solo vos podés retirar los fondos: el operador únicamente rebalancea, dentro de los límites que vos configurás.

Precio ETH

Vaults creados

Pool

USDT/WETH · 0.3%

01

Depositás USDT

Un solo token. El vault lo reparte entre capital invertible y reserva de reinyección.

02

El agente opera

Consulta uni-lab.xyz (pagando vía x402 con su propia wallet), hace el swap necesario y mintea la posición. Rebalancea si el precio sale del rango o en el intervalo que definas.

03

Solo vos retirás

withdrawAll() siempre paga al owner. El operador no puede tocar el principal, y podés revocarlo o pausar el vault cuando quieras.

El agente

Cómo decide cuándo rebalancear

Cada ~5 minutos, para cada vault, el agente corre la misma secuencia — sin discreción humana de por medio, todo verificable on-chain.

  1. Paso 1

    ¿Quedan rebalanceos?

    rebalanceCount < maxRebalances, el tope que vos fijaste al crear el vault. Si se agotó, no hace nada.

  2. Paso 2

    ¿Pasó el cooldown?

    El piso mínimo de tiempo desde el último rebalanceo. Evita thrashing aunque el precio se mueva rápido.

  3. Paso 3

    ¿Toca el periódico?

    Si configuraste un intervalo, rebalancea igual aunque el precio siga en rango — actividad real, no solo reactiva.

  4. Paso 4

    ¿Rompió el rango?

    Compara el precio actual contra los límites de la posición abierta. Fuera por abajo o por arriba, cada caso arma un rango nuevo distinto.

Ver la guía completa con ejemplos numéricos →
El pool

USDT/WETH, 0.3%, con liquidez real

No es un pool de prueba armado para la demo — cada vault mintea su posición en el mismo pool público de Uniswap V3 que ya opera en Celo mainnet, compartiendo liquidez con cualquier otro LP.

El agente opera vía el NonfungiblePositionManager y el SwapRouter02 oficiales de Uniswap en Celo — contratos verificados, no wrappers propios.

Sin custodia

El operador rebalancea. Vos sos dueño.

El principal solo vuelve a vos

withdrawAll()/withdraw() transfieren siempre al owner del vault — nunca hay un parámetro que redirija a otra dirección.

El operador no puede inventar rangos

Cada rango que propone se valida on-chain contra los límites que vos configuraste al crear o reconfigurar el vault.

Podés pausar o revocar cuando quieras

pause() bloquea al agente sin tocar tus fondos. setOperator(0x0) es un kill switch inmediato — nadie puede rebalancear después.

Retiro de emergencia sin depender de nadie

emergencyWithdrawPosition() fuerza el cierre de la posición y te devuelve todo, incluso si el operador dejó de responder.