Tarifas de aprobación ERC-20: por qué Uniswap te pide que confirmes dos veces
La pregunta de los dos pop-ups
Aquí tienes un momento genuinamente confuso para cualquiera que realice su primera transacción en DeFi: vas a intercambiar un token en Uniswap y, en lugar de una sola confirmación, recibes dos. La primera dice «Aprobar» y la segunda dice «Intercambiar». La mayoría de las personas o bien aprueban ambas sin pensar o se quedan paralizadas, preguntándose si están a punto de ser estafadas. Ninguna de esas reacciones es del todo correcta.
La aprobación es normal, necesaria y siempre tiene un coste en gas. Además, es una de las cosas más importantes que debes entender en DeFi: tanto porque implica dinero como porque es el único mecanismo de seguridad más importante sobre el que tú tienes control. Permíteme explicarte qué es y cuánto cuesta realmente.
Qué es realmente una aprobación
Los tokens ERC-20 (USDC, UNI y casi todos los demás) siguen una regla: tus tokens solo pueden moverse cuando tú los envías. Un contrato inteligente como Uniswap no puede simplemente acceder a tu billetera y retirar tu USDC para completar tu intercambio; primero necesita tu permiso. La transacción de aprobación es tu firma que otorga ese permiso: «Autorizo al contrato de Uniswap a mover hasta una cantidad X de este token».
Por eso es independiente del intercambio y por eso ocurre antes. Una vez que has aprobado, el contrato de intercambio puede retirar los fondos y completar la operación de un solo golpe. Cada nuevo token con el que operes en un contrato distinto requiere su propia aprobación: si apruebas USDC una vez para Uniswap, ya estás listo para futuros intercambios con USDC en Uniswap, pero usar USDC en otro protocolo implica aprobarlo nuevamente para ese protocolo.
Cuál es el coste de la aprobación
Es una transacción como cualquier otra, así que tiene un coste en gas. Estos son los costes aproximados según la cadena:
- Ethereum mainnet: De $5 a $20, dependiendo de la congestión. Por eso usar DeFi en mainnet da la sensación de que te están cobrando centavo a centavo, pero a cien veces la velocidad.
- Base: Normalmente entre $0.01 y $0.05.
- Arbitrum: Entre $0.05 y $0.30, con una tendencia al alza conforme sube el precio del gas en gwei en mainnet.
En las L2, el coste de la aprobación es prácticamente insignificante —y eso importa, porque en mainnet ese coste suele desincentivar a los usuarios para probar nuevos protocolos. En Base, por ejemplo, apruebo sin dudarlo un token que me llama ligeramente la atención, ya que su coste es imperceptible. El seguimiento en tiempo real te indica si estás en una ventana de precios bajos antes de hacer clic.
Aprobación limitada frente a aprobación ilimitada
Al aprobar un contrato, las billeteras suelen usar de forma predeterminada la «aprobación ilimitada»: el contrato puede gastar una cantidad ilimitada de ese token de forma indefinida. Es cómodo: con una sola aprobación no volverás a ver esa solicitud para ese par token/protocolo. Pero también es el riesgo de seguridad detrás de la mayoría de los robos en billeteras DeFi. Si ese contrato llega a ser explotado o actualizado maliciosamente, una aprobación ilimitada le otorga acceso permanente a ese token en tu billetera.
La alternativa más segura es una aprobación limitada, únicamente por la cantidad que vas a intercambiar. La contrapartida, francamente, es que deberás aprobar nuevamente en la siguiente sesión, pagando cada vez un pequeño costo en gas. En mainnet ese costo era prohibitivo; en L2 equivale a unos pocos centavos, lo cual cambia completamente la recomendación. Ahora uso aprobaciones limitadas para cualquier cosa de la que no estoy seguro, y solo mantengo aprobaciones ilimitadas en el puñado de contratos ampliamente probados que uso constantemente. En Base, las aprobaciones adicionales prácticamente no cuestan nada: la guía de ahorro de gas en Base explica con detalle este hábito.
El camino gratuito: firmas permit
Existe un estándar más reciente que hace que la aprobación sea gratuita en términos de gas. Se llama «permit» (permiso), y los tokens que lo soportan (y protocolos como Uniswap que usan Permit2) te permiten aprobar mediante un mensaje firmado en lugar de una transacción. Una firma no cuesta gas: es lo mismo que ves cuando firmas para iniciar sesión. La aprobación y el intercambio se agrupan, de modo que solo envías una transacción en cadena.
Si MetaMask te muestra una solicitud de «Firmar» en lugar de una transacción completa de «Confirmar» para una aprobación, estás en el camino gratuito: ¡aprovéchalo! Es un detalle muy acertado que, discretamente, ha ahorrado a muchas personas unos pocos centavos por operación y, aún más útil, menos transacciones de las que tener que llevar un registro.
La conclusión antes de firmar
Así que, cuando aparezcan los dos mensajes: la aprobación es un permiso legítimo, tiene un pequeño coste en gas (casi nada en Base/Arbitrum), y elegir entre una aprobación limitada o infinita es una decisión real de seguridad. Mis reglas son sencillas: aprueba únicamente el protocolo que estás usando activamente, prefiere las aprobaciones limitadas para protocolos nuevos o pequeños, y no lo consideres un impuesto, sino el precio de mantener tus tokens bajo tu propio control.
Esa custodia propia es precisamente el objetivo: el mismo sistema de aprobaciones que te pide confirmar dos veces es lo que impide, desde un principio, que un protocolo malicioso acceda a tu USDC. Para tener una visión más amplia del coste total en DeFi, el desglose de tarifas de Uniswap y la calculadora de gas de Base te ofrecen cifras actualizadas en tiempo real. Aprueba con conciencia —pero ya no te preocupes por el gas, porque en las L2 prácticamente no hay ninguno.
Opera en Base / Arbitrum con Bajas Tarifas
Elige una plataforma confiable para swap, bridge y operar en redes L2.
Enlaces de afiliados — podemos ganar una comisión sin costo adicional para ti.