Swaps en DEX: impacto en el precio, slippage y MEV
Aprende cómo la profundidad del pool afecta al impacto esperado, cómo el mínimo de recepción limita un swap pendiente y por qué una tolerancia amplia puede permitir una ejecución peor.
En esta guíaImpacto en el precio, slippage y tolerancia responden a preguntas distintas
Resumen breve
Una cotización de un DEX puede cambiar por dos motivos: el swap mueve el precio del pool o lo hace otra actividad antes de que se ejecute la transacción. El impacto en el precio describe el primer efecto; el slippage es el cambio entre la cotización y la ejecución final. La tolerancia de slippage fija un límite, pero no promete un precio mejor.
Impacto en el precio, slippage y tolerancia responden a preguntas distintas
El impacto en el precio se produce cuando tu orden es grande respecto a la liquidez disponible y mueve directamente el precio del pool. Una cotización realista ya incorpora ese efecto: en un pool poco profundo, una orden grande recibe un precio medio peor que una pequeña. El slippage es la diferencia entre la cantidad esperada al preparar la cotización y el resultado cuando se ejecuta la transacción. Otros swaps, un movimiento del mercado, una demora o una ruta distinta pueden cambiar el resultado mientras esperas.
La tolerancia de slippage es una condición que el swap debe cumplir. En un swap con entrada exacta suele expresarse como una cantidad mínima recibida; si la ejecución queda por debajo, el contrato puede revertirla. No elimina el impacto ya incluido en la cotización ni indica cuánto slippage se producirá. La guía de Uniswap sobre impacto en el precio y slippage también distingue los conceptos. Las interfaces pueden utilizar cálculos o etiquetas diferentes.
Por qué una cotización AMM empeora cuando aumenta el tamaño de la orden
Un mercado con libro de órdenes cruza ofertas pendientes a distintos precios. En cambio, un creador de mercado automatizado de producto constante calcula el swap usando las reservas del pool. En un modelo simplificado de dos tokens, x × y = k. Comprar más de un token hace que salga más de ese token del pool y entre el otro, por lo que el tipo de cambio cambia durante la operación. Cuanto mayor sea la orden respecto a la profundidad utilizable, peor será su precio medio.
La fórmula es un modelo, no una regla universal para todos los DEX. La documentación de Uniswap explica la estructura de producto constante de v2 y la diferencia frente a la liquidez concentrada por rangos de precios de v3 y v4, que también pueden incluir hooks y otras reglas de comisión. Una cotización puede combinar varios pools o plataformas. Compara el resultado esperado para ese tamaño y ruta concretos, no con el último precio del gráfico ni con el valor total bloqueado del pool. Consulta la documentación de swaps de Uniswap v2 para conocer ese mecanismo.

Ejemplo calculado: un swap de 10.000 USDC contra un pool poco profundo
Supongamos que un pool hipotético contiene 100 ETH y 200.000 USDC, no cobra comisión de swap, no hay movimientos externos de precio y sigue una curva de producto constante. El ratio inicial es 200.000 ÷ 100 = 2.000 USDC por ETH. Si se introducen 10.000 USDC, la reserva de USDC pasa a 210.000. Para mantener el producto, la reserva de ETH baja a 20.000.000 ÷ 210.000 = aproximadamente 95,238095 ETH. La persona recibe unos 4,761905 ETH.
Al tipo inicial, 10.000 USDC habrían comprado 5 ETH. La diferencia de 0,238095 ETH equivale a alrededor del 4,76 % de esa cantidad sin impacto. El precio medio de ejecución es 10.000 ÷ 4,761905 = 2.100 USDC por ETH, un 5 % por encima del ratio anterior al swap. El precio marginal del pool después de la operación es 210.000 ÷ 95,238095 = 2.205 USDC por ETH. El déficit frente a la cantidad sin impacto, el precio medio y el nuevo precio marginal son comparaciones distintas. Una cotización real también incluye comisiones y la forma de la liquidez de la ruta. El ejemplo es hipotético, no una previsión de mercado.
Para hacer una comparación separada, supongamos una comisión de pool del 0,30 % sobre la entrada, propia de este modelo; no es una comisión universal de los DEX. La curva utiliza como entrada ajustada por la comisión 10.000 × (1 − 0,003) = 9.970 USDC. Al aplicar la misma fórmula de entrada exacta se obtiene 100 × 9.970 ÷ (200.000 + 9.970) ≈ 4,748297 ETH. Frente al resultado de la curva sin comisión, 4,761905 ETH, la comisión reduce la salida en unos 0,013607 ETH. Frente a los 5 ETH que daría el ratio inicial, el déficit combinado es de unos 0,251703 ETH, o 5,0341 %. El efecto de la curva y la comisión no se suman simplemente como 4,7619 % + 0,30 %, porque la comisión modifica la entrada antes del cálculo de la curva. La biblioteca periphery de Uniswap v2 aplica un factor de 997/1000 en su cálculo de entrada exacta; otros pools pueden tener reglas de comisión distintas.
Separa la comisión del pool del efecto de la curva
Mantengamos las mismas reservas hipotéticas, pero supongamos una comisión del 0,30 % sobre la entrada según una convención concreta. La cantidad que se usa en la cotización de producto constante es 10.000 × (1 − 0,003) = 9.970 USDC; por tanto, la salida es 100 × 9.970 ÷ (200.000 + 9.970), aproximadamente 4,748297 ETH. Son unos 0,013607 ETH menos que los 4,761905 ETH sin comisión en la misma curva. Frente a los 5 ETH al tipo inicial, la diferencia total es de unos 0,251703 ETH. Si usamos como paso intermedio el resultado de la curva sin comisión, atribuimos unos 0,238095 ETH al efecto de la curva y otros 0,013607 ETH al ajuste de la comisión. Este reparto depende de la referencia elegida.
El 0,30 % es una hipótesis, no una comisión universal de los DEX. Este ajuste de la entrada sigue el cálculo de comisiones de la biblioteca getAmountOut de Uniswap v2. Aun así, el contrato registra toda la entrada en sus reservas: que la cotización use 9.970 USDC no significa que solo esa cantidad llegue al pool. Otros pools pueden aplicar otra tasa, calcular la comisión sobre otra base o combinar varios cargos. Una ruta con varios saltos puede cobrar en cada pool, además de las comisiones de interfaz y de red. Comprueba la ruta real y el desglose de costes, en lugar de aplicar este porcentaje a todos los swaps.
El mínimo recibido es un límite, no el resultado cotizado
Supongamos que la ruta cotiza 4,7619 ETH para la misma entrada y la interfaz aplica una tolerancia del 1 %. El mínimo recibido es aproximadamente 4,7143 ETH: 4,7619 × (1 − 0,01). Una ejecución de 4,72 ETH supera el límite; con 4,70 ETH queda por debajo y el swap podría revertirse según la protección de esa ruta. La cotización continúa siendo 4,7619 ETH. El mínimo es solo el peor resultado que la transacción enviada está dispuesta a aceptar.
Un límite más estrecho puede hacer que una operación válida falle si el mercado se mueve durante la congestión o la cotización queda obsoleta. Uno más amplio permite una ejecución peor antes de revertir. La documentación de Uniswap describe el mínimo de salida como una condición de protección, pero sus parámetros y el modo de fallo dependen del router o producto. Una transacción incluida en la cadena que luego revierte aún puede generar costes de red, según la cadena y el flujo. No amplíes la tolerancia solo para borrar un error: comprueba primero si cambiaron la cotización, el token, la ruta, las comisiones o las condiciones de red.
La espera añade movimientos que no estaban en la cotización
Entre la firma y la inclusión en un bloque, otros swaps pueden cambiar las reservas. El arbitraje puede acercar el precio de un pool al de otros mercados; un movimiento rápido también puede dejar obsoleta la cotización anterior. Tu orden no cambia, pero sí puede hacerlo la cantidad final. En algunas cadenas, una oferta mayor de gas puede afectar a la prioridad de inclusión, pero no garantiza el momento ni el precio. Un plazo límite puede rechazar una transacción pendiente demasiado tiempo; no conserva la cotización anterior.
Separa la estimación en el momento de cotizar del recibo final. El impacto en el precio es el efecto previsto de tu operación sobre la liquidez de la ruta. El movimiento adicional desde que se prepara la cotización es slippage de ejecución según el punto de referencia de la interfaz. Algunas interfaces combinan ambos en una sola advertencia o utilizan otra referencia. Si necesitas reconstruir el resultado, guarda antes de firmar la cotización, hora, ruta y mínimo recibido.
Un límite amplio puede dejar margen para un sandwich MEV
Un sandwich es una forma de valor extraíble máximo (MEV). Un buscador observa un swap pendiente, opera antes para mover el precio del pool en contra del usuario, deja que se ejecute el swap y después opera en sentido opuesto para cerrar su posición. El usuario puede recibir más que el mínimo enviado y aun así obtener un precio peor que la cotización original. Un límite de salida ajustado puede hacer revertir algunas ejecuciones adversas, pero no impide todas las estrategias de ordenación ni el movimiento normal del mercado.
La guía de MEV de Ethereum.org explica la ordenación tipo sandwich y por qué empeora las ejecuciones de quienes la sufren. No todo MEV es un ataque: el arbitraje puede acercar el precio del pool al de otros mercados, mientras un sandwich puede perjudicar el precio de un usuario. Rutas privadas como Flashbots Protect describen sus propias protecciones y condiciones. Dependen de la cadena y del proveedor, no garantizan un precio específico y añaden otro intermediario de transacción. Comprueba las redes y condiciones que admiten actualmente.
Las comisiones, el comportamiento del token y la ruta cambian el resultado total
La cantidad de tokens recibida no equivale al coste total. Separa la comisión del pool, cualquier comisión de la interfaz, el coste de red, el impacto ya incorporado en la cotización, el slippage de ejecución y las comisiones propias de transferencia o compraventa del token. Algunos tokens tienen transferencias no estándar; un swap puede fallar o transferir una cantidad distinta de la prevista bajo una suposición ERC-20 sencilla. La autorización del token puede ser otra transacción con su propio coste de red.
Un agregador puede dividir el swap entre varios pools o usar tokens intermedios para mejorar la salida cotizada. Eso puede reducir el impacto de una ruta, pero añadir llamadas a contratos, comisiones o riesgos específicos del token. La cotización no garantiza la mejor ejecución entre todas las plataformas. Compara la entrada exacta, salida esperada, mínimo recibido, ruta, detalle de comisiones, red y plazo. Para continuar, consulta las guías sobre autorizaciones de tokens, comisiones de gas de Ethereum y puentes y tokens wrapped.
Comprueba la cotización antes de firmar y luego concilia el recibo
Antes de firmar, verifica la red y las direcciones de los contratos de tokens; la cantidad de entrada; la ruta y profundidad del pool; el impacto mostrado; la salida esperada y el mínimo recibido; la tolerancia; el plazo; las comisiones del pool, la interfaz y la red; y los avisos del token. Si la salida parece inusualmente baja, compara una entrada hipotética menor o una ruta distinta. Si la transacción falla, inspecciona el motivo antes de enviarla otra vez. Un intento fallido puede generar costes de red según la cadena y el flujo.
Después de ejecutar, compara las cantidades reales de tokens del recibo con la cotización y el mínimo recibido; registra la ruta, las comisiones, el coste de red y la hora. No leas el mínimo como salida esperada ni supongas que el éxito impidió toda ejecución adversa. Este cálculo usa un pool de producto constante sin comisión. La liquidez concentrada, las rutas de varios saltos, los impuestos del token, los precios de oráculos y la ordenación de transacciones propia de cada cadena pueden dar otros resultados.
Distingue las protecciones de entrada fija y salida fija
En el ejemplo anterior, la entrada se fija en 10.000 USDC y se establece una cantidad mínima de ETH a recibir. La entrada no cambia; si el resultado cae por debajo del límite, la ejecución puede rechazarse. En un swap con salida fija, primero se indica la cantidad de ETH deseada. Entonces los USDC necesarios podrían superar la estimación, por lo que es común limitar la entrada máxima. La documentación de Uniswap distingue el mínimo de salida para una entrada fija del máximo de entrada para una salida fija.
Por eso, un indicador del 1 % no protege la misma cantidad en todos los swaps. Comprueba si fijas la entrada o la salida, qué token utiliza el límite inferior o superior y si el agregador incluyó la ruta y las comisiones en la cotización. El mínimo recibido es una condición en unidades del token, no una garantía de valor en dólares. Si el precio del token recibido cae a la vez, el valor en dólares puede cambiar aunque el swap cumpla el mínimo. Que la operación se complete no significa que se haya garantizado el precio de la cotización.
Preguntas frecuentes
Q1¿Son lo mismo el impacto en el precio y el slippage?
No. El impacto procede de tu operación frente a la liquidez del pool. El slippage es la diferencia entre la cotización y la ejecución final según la referencia de la interfaz.
Q2¿Configurar un 1 % de slippage significa que perderé un 1 %?
No. Normalmente fija un límite de ejecución respecto a una cotización. El resultado puede ser mejor, el swap puede revertirse o puede acercarse al límite permitido.
Q3¿Una tolerancia más baja detiene los ataques sandwich?
Puede reducir los resultados que acepta la transacción, pero no elimina el MEV ni los movimientos normales del mercado. Las rutas privadas también tienen condiciones y limitaciones.
Fuentes
Informar de un problema
Prepararemos un correo con el enlace de este artículo. Mark recibirá el aviso cuando lo envíes
Comprobación rápida
¿Ya leíste la guía? Compruébalo con 3 preguntas
Pregunta 01
¿Qué mide el impacto en el precio de un swap AMM?
Elige una respuesta para ver la explicación