Uniswap
El protocolo DEX más influyente del ecosistema EVM
Uniswap es un exchange descentralizado que usa Automated Market Makers en lugar de order books. Nació en Ethereum y se expandió a múltiples cadenas EVM, incluyendo Avalanche.
La idea central: cualquiera puede intercambiar tokens sin pedir permiso, y cualquiera puede proveer liquidez para facilitar esos intercambios.
El problema que resuelve
Un exchange centralizado controla:
- Quién puede operar
- Qué activos listar
- Dónde se custodian los fondos
- Cómo se emparejan órdenes
Uniswap invierte el modelo:
Cualquiera puede listar un token creando un pool. No hay comité de listado.
El usuario mantiene sus claves. Los fondos nunca salen de su wallet salvo durante el swap.
Las reglas están en contratos públicos. El matching ocurre contra fórmulas, no contra servidores privados.
AMM: el order book reemplazado por una fórmula
Un Automated Market Maker no necesita compradores y vendedores simultáneos. Usa pools de liquidez.
x * y = k
x = reserva de token X y = reserva de token Y k = constante que se preserva durante el swap
Si compras AVAX con USDC:
- Entra USDC al pool, sale AVAX
- Queda menos AVAX y más USDC
- El precio sube automáticamente
El pool siempre ofrece precio, pero swaps grandes sufren slippage.
Uniswap v2: la base
v2 popularizó el AMM de producto constante con liquidez de rango completo.
Características clave:
- Cada par tiene su propio contrato pool
- Liquidez distribuida desde precio cero hasta infinito
- Flash swaps: pedir prestado y devolver en la misma transacción
- Fees del 0.30% para LPs
- LP tokens ERC-20 como comprobante de depositor
v2 sigue siendo relevante por simplicidad, pero v3 y v4 ofrecen más eficiencia.
Uniswap v3: liquidez concentrada
v3 cambió la pregunta para los liquidity providers:
¿En qué rango de precio quiero usar mi capital?
Ejemplo conceptual:
AVAX/USDC
precio actual: 30 USDC
rango LP estrecho: 29 a 31
rango LP amplio: 25 a 35Ventajas:
- Mayor eficiencia de capital cerca del precio real
- Múltiples tiers de fees (0.01%, 0.05%, 0.3%, 1%)
- Oráculo TWAP integrado
Costos:
- Más complejidad de gestión
- Riesgo de quedar fuera de rango
- Posiciones representadas como NFTs ERC-721
Uniswap v4: extensibilidad con hooks
v4 introduce tres ideas grandes que cambian la arquitectura:
Un solo contrato gestiona todos los pools. Menos gas para crear pools y rutas multihop más eficientes.
Contratos que ejecutan lógica personalizada antes o después de swaps, mints o burns. Fees dinámicas, órdenes límite, oráculos personalizados.
Acumula deltas de tokens durante la transacción y liquida al final. Reduce transferencias intermedias y ahorra gas.
v4 también usa ERC-6909 para claims gas-eficientes y permite suscriptores para incentivos de liquidez.
Comparación de versiones
| Característica | v2 | v3 | v4 |
|---|---|---|---|
| Liquidez | Rango completo | Concentrada por ticks | Concentrada + hooks |
| Pool contract | Uno por par | Uno por par + fee tier | Singleton PoolManager |
| Posición LP | ERC-20 fungible | NFT ERC-721 | Gestión por periphery v4 |
| Fees | Fijo 0.30% | Tiers fijos | Dinámicas vía hooks |
| Extensibilidad | Limitada | TWAP built-in | Hooks arbitrarios |
Cada versión es compatible en sentido descendente: v2 sigue operando mientras v3 y v4 crecen.
Trading: cómo integrar swaps
La forma recomendada de integrar swaps es la Trading API de Uniswap. Maneja:
- Routing óptimo entre pools
- Estimación de gas
- Permit2 para approvals con firma
- Soporte para AMM y UniswapX
Flujo de integración:
- El usuario indica token in, token out y monto
- La app solicita quote al API
- Se muestra output esperado, slippage y gas
- El usuario firma (Permit2 o approve clásico)
- La transacción se envía al router
- El router ejecuta la ruta óptima
Permit2 y Universal Router
Permit2 es un sistema de aprobaciones compartido:
- Reduce transacciones de approve individuales
- Soporta transferencias por firma (signature transfer)
- Soporta transferencias por allowance
Universal Router es un router multi-comando:
- Ejecuta swaps v2, v3, v4 en una sola transacción
- Interactúa con Permit2
- Permite composar múltiples operaciones DeFi
Direcciones relevantes en Avalanche C-Chain:
chainId: 43114 Universal Router 2.0: 0x94b75331ae8d42c1b61065089b7d48fe14aa73b7 Permit2: 0x000000000022D473030F116dDEE9F6B43aC78BA3
Liquidez: cómo proveerla
Ser liquidity provider significa depositar pares de tokens en un pool para que otros traders swapen contra ellos.
En v3 y v4, el LP elige un rango:
- Rango estrecho: más fees por dólar si el precio se queda dentro, mayor riesgo de salir del rango
- Rango amplio: menos eficiencia pero más pasivo
El LP gana fees proporcionales a su share del rango activo. Si el precio sale del rango, deja de ganar fees hasta que vuelva o se reubique.
Impermanent loss: el costo del LP
Cuando el precio se mueve, el pool rebalancea automáticamente.
Entras como LP: 10 AVAX + 300 USDC (AVAX = 30) AVAX sube a 60 USDC Pool rebalancea: ~7.07 AVAX + ~424 USDC
Valor como LP: ~7.07 × 60 + 424 ≈ 848 USDC Valor si holdeas: 10 × 60 + 300 = 900 USDC
Pérdida impermanente: ~52 USDC antes de fees
Es "impermanente" porque desaparece si el precio vuelve al punto de entrada. Se vuelve permanente si retiras con el precio movido.
UniswapX: trading por intenciones
UniswapX es un protocolo de órdenes basado en intenciones:
- El usuario firma una intención de swap off-chain
- Los fillers compiten por ejecutarla on-chain
- Gasless para el usuario: el filler paga el gas
- Protección MEV integrada
Arquitectura:
- Usuario firma: "quiero X de output por Y de input"
- Filler propone ruta y ejecución
- Contrato verifica y liquida
- Usuario recibe el mejor precio sin gestionar gas
SDKs de Uniswap
Uniswap ofrece SDKs TypeScript para cada versión:
v4 SDK
- Quoting y routing para swaps single-hop y multi-hop
- Mint, fetch, modify y collect de posiciones de liquidez
- Creación de pools y lectura de datos de pool
v3 SDK
- Quoting, routing y swapping
- Gestión de posiciones de liquidez
- Oráculo de precios
v2 SDK
- Fetching de datos y pricing
- Ejecución de swaps
Los SDKs abstraen las fórmulas matemáticas pero no eliminan la necesidad de entender slippage, fees y rutas.
Conceptos esenciales
| Concepto | Descripción |
|---|---|
| AMM | Market maker automatizado basado en fórmulas y pools |
| Concentrated liquidity | LP deposita capital solo dentro de un rango de precio |
| Hook | Contrato v4 que ejecuta lógica antes/después de eventos de pool |
| Flash accounting | Acumula deltas y liquida al final de la transacción |
| PoolManager | Singleton de v4 que gestiona todos los pools |
| Permit2 | Sistema compartido de aprobaciones y transferencias por firma |
| Universal Router | Router multi-comando para v2, v3, v4 y Permit2 |
| UniswapX | Trading por intenciones con ejecución off-chain/on-chain |
| Slippage | Diferencia entre precio esperado y ejecutado |
Uniswap en Avalanche
Avalanche C-Chain es compatible EVM, por lo que Uniswap funciona con los mismos patrones que en Ethereum.
Ventajas prácticas:
- Finalidad en segundos reduce riesgo de reversión
- Fees relativamente bajos favorecen swaps pequeños y frecuentes
- Mismo tooling: Foundry, Hardhat, viem, ethers
Consideraciones:
- Validar liquidez real disponible
- Verificar tokens soportados y rutas
- Ajustar slippage según volatilidad del par
- Revisar gas y tokens nativos (AVAX vs WAVAX)
Riesgos prácticos
Aprobar cantidades ilimitadas es cómodo pero peligroso. Mejor usar Permit2 o aprobar solo lo necesario.
Hooks v4 pueden tener lógica arbitraria. No todos los pools son iguales. Revisa el código del hook.
Rangos estrechos amplifican pérdidas en movimientos fuertes. Las fees no siempre compensan.
Multihop implica más pools, más fees acumulados y más puntos de fallo. Compara quotes de rutas directas vs indirectas.
Qué recordar
Uniswap no es solo "un DEX". Es una familia de protocolos que evolucionó desde una fórmula simple hasta un sistema extensible con hooks.
- v2 demostró que AMMs podían funcionar a escala.
- v3 introdujo eficiencia de capital con liquidez concentrada.
- v4 abre la puerta a experimentación con hooks y flash accounting.
- UniswapX cambia el modelo de ejecución hacia intenciones y fillers.
- Los SDKs y la Trading API son la forma práctica de integrar.
La habilidad práctica no es memorizar fórmulas. Es saber leer quotes, calcular slippage real, evaluar riesgos de IL, y elegir la versión y ruta correctas para cada caso.