Token Approvals: permisos de tokens (allowances) y cómo revocarlos

⚡ Definición Rápida
Un token approval es un permiso on-chain que otorgas a un smart contract para que pueda mover una cantidad específica de tus tokens en tu nombre. Es el mecanismo estándar (ERC-20) que permite a las aplicaciones descentralizadas (DEXs, lending, NFT marketplaces) operar sin que tengas que firmar cada transacción manualmente. La clave está en la función `approve()`, que fija un límite de gasto (`allowance`), y la función `transferFrom()`, que permite al contrato mover fondos dentro de ese límite. El gran riesgo es el «approval ilimitado», que da al contrato acceso total y perpetuo a tus tokens.
Términos relacionados: ERC-20 • Smart Contract • DeFi • nft marketplace • Dex
🤝 ¿Qué son los Token Approvals y por qué separan la propiedad del control de tus activos?
Imagina que en una tienda online no quisieras pagar con tarjeta cada vez que compras, sino que prefieres dejar un depósito en garantía. La tienda puede cobrar directamente de ese depósito cuando lo necesite, sin pedirte permiso cada vez. En el mundo de las criptomonedas, los token approvals cumplen una función similar, pero con un nivel de automatización mucho más profundo y riesgoso.
Los token approvals son el mecanismo que permite a los smart contracts mover tus tokens en tu nombre. Es un sistema que separa la propiedad de un activo de la autorización para gastarlo. Cuando otorgas un approval, no estás enviando tokens, sino que estás dando a un contrato inteligente un permiso on-chain para gastar una cantidad específica de tus fondos en el futuro. Este sistema es la columna vertebral de las finanzas descentralizadas (DeFi) y permite desde intercambios en Uniswap hasta préstamos en Aave.
Para cualquier persona que interactúe con DeFi, entender los token approvals no es opcional. Las estadísticas son preocupantes: solo en 2024-2025 se perdieron más de 200 millones de dólares por ataques basados en approvals mal gestionados o maliciosos, a menudo a través de permisos que los usuarios olvidaron que existían. Conocer cómo funcionan, los riesgos y cómo revocarlos es la primera línea de defensa para proteger tus fondos.
📖 Definición Técnica
En el estándar ERC-20, la mecánica de approvals se compone de tres funciones clave que actúan en conjunto. La función `approve(address spender, uint256 amount)` es la que inicia el permiso: permite al `spender` (normalmente un smart contract) retirar de tu cuenta hasta `amount` tokens. Este permiso queda registrado en el contrato del token en un `mapping` interno, típicamente `allowance[owner][spender] = amount`. La función `allowance(address owner, address spender)` es una función de solo lectura que te permite consultar cuánto permiso has otorgado. Finalmente, la función `transferFrom(address from, address to, uint256 amount)` es la que el `spender` utiliza para mover tokens.
El contrato verificará que el permiso registrado sea suficiente y lo descontará automáticamente. Si has otorgado permiso para una cantidad ilimitada (el valor máximo `2^256-1`), el contrato no descontará nada del permiso después de cada transferencia, dejando la puerta abierta de forma indefinida.
⚙️ El proceso de dos pasos: approve, allowance y transferFrom
El flujo de trabajo de un token approval se divide en dos fases claramente diferenciadas. La primera es la concesión del permiso: ejecutas una transacción `approve` que establece el límite. La segunda es el uso del permiso: el smart contract llama a `transferFrom` para mover los tokens dentro de ese límite.
| Función | ¿Quién la ejecuta? | ¿Qué hace? | Ejemplo |
|---|---|---|---|
| approve(spender, amount) | El titular de los tokens | Concede permiso a `spender` para gastar hasta `amount` de tus tokens. | `USDC.approve(Uniswap, 1000)` |
| allowance(owner, spender) | Cualquier usuario | Consulta el permiso actual: cuánto puede gastar `spender` de `owner`. | `USDC.allowance(miWallet, Uniswap)` → devuelve 1000 |
| transferFrom(from, to, amount) | El spender aprobado | Mueve `amount` tokens de `from` a `to`, descontándolo del permiso. | `USDC.transferFrom(miWallet, Uniswap, 100)` |
Este sistema está en el corazón de DeFi y es la razón por la que aplicaciones como los exchanges descentralizados pueden intercambiar activos por ti. Por eso, es importante entender la diferencia entre desconectar tu wallet de una dApp (lo que solo evita que el sitio vea tu dirección) y revocar un approval (lo que elimina el permiso on-chain).
⚠️ El Peligro de las Aprobaciones Ilimitadas (Unlimited Approvals)
Muchas plataformas DeFi solicitan por defecto una «aprobación ilimitada», que te permite intercambiar o invertir un token repetidamente sin tener que aprobarlo cada vez. Es la opción más conveniente y, también, la más peligrosa. Un approval ilimitado (cuyo valor suele ser `2^256 – 1`, el máximo número posible) da al smart contract un acceso total y perpetuo a todos tus tokens de ese tipo.
Este acceso no caduca y no se limita a la cantidad que tenías al momento de la aprobación. Si el contrato es hackeado o resulta ser malicioso, el atacante puede usar ese permiso para vaciar tu wallet instantáneamente, sin necesidad de que apruebes nada más.
Una alternativa mucho más segura es configurar un límite de gasto personalizado, estableciendo la cantidad exacta que el contrato puede gastar (por ejemplo, 100 USDT). Muchas wallets modernas te permiten ajustar este límite antes de firmar la transacción. El problema es que la mayoría de las dApps solicitan el approval ilimitado por defecto, y pocos usuarios cambian esta opción, exponiéndose a un riesgo innecesario.
¿Por qué las dApps piden approvals ilimitados?
La razón principal es la experiencia de usuario (UX). Con un approval ilimitado, apruebas un token una sola vez y puedes operar con él en esa dApp para siempre. Si solo aprobaras la cantidad exacta que necesitas para cada transacción, tendrías que pagar gas por un `approve` antes de cada operación, lo que es más caro y tedioso. Sin embargo, esta comodidad se paga con un riesgo de seguridad significativo.
🛡️ Cómo Revocar Token Approvals: Revoke.cash y Etherscan
Revocar un approval significa eliminar el permiso que le diste a un smart contract para gastar tus tokens, estableciendo su `allowance` a cero. Es una de las tareas de limpieza y seguridad más importantes que puedes hacer en DeFi. Existen herramientas que te permiten revisar todos tus approvals activos y revocarlos con una sola transacción.
- Revoke.cash: Es la herramienta más popular, compatible con más de 100 redes (Ethereum, Polygon, BSC, Arbitrum, etc.). Solo conectas tu wallet, ves la lista de approvals y revocas los que ya no necesitas. La revocación requiere una transacción on-chain que paga una pequeña comisión (gas fee).
- Etherscan Token Approval Checker: Para la red Ethereum, Etherscan tiene una herramienta específica que te permite ver y revocar approvals. Solo buscas tu dirección en el explorador y accedes a la sección «More → Token Approvals».
Cuándo deberías revocar approvals
- Después de usar un protocolo desconocido o nuevo. Si interactuaste con una dApp que no te inspira confianza, revoca el approval inmediatamente después.
- Si una dApp que usabas ha sido hackeada o está bajo sospecha. Revoca cualquier approval que tuvieras activo en ese protocolo.
- Periódicamente, como parte de tu «higiene de seguridad». Se recomienda revisar y revocar approvals cada pocos meses, incluso de protocolos confiables.
Recuerda: desconectar tu wallet de una dApp no revoca los approvals. Solo elimina la conexión front-end, pero el permiso on-chain permanece activo.
🎣 Estafas de Phishing y Malicious Approvals
Los approvals maliciosos son uno de los vectores de ataque más comunes y dañinos en Web3. Los estafadores se disfrazan de dApps legítimas, airdrops o proyectos NFT para engañarte y hacer que firmes una transacción `approve` que da acceso a un contrato malicioso.
Un ejemplo paradigmático ocurrió en 2025: una víctima perdió 908.551 dólares después de haber firmado una aprobación maliciosa 458 días antes, sin saberlo. Durante más de un año, el permiso permaneció latente hasta que el atacante decidió usarlo para vaciar la wallet.
Escenarios comunes de malicious approvals
- Airdrops falsos o minting de NFT «gratuitos»: Te piden que «conectes tu wallet» para reclamar un airdrop, pero en realidad estás firmando un `approve` que da acceso a tus tokens.
- DEXs falsos o plataformas de swap: Copian la interfaz de Uniswap o PancakeSwap, pero no ejecutan ningún swap, solo capturan tu approval.
- Plataformas de staking o juegos fraudulentos: Te piden «stakear» tokens para obtener rendimientos, pero el contrato está diseñado para drenar tu wallet.
Cómo protegerte de malicious approvals
- Verifica siempre la URL y el contrato. Usa un explorador de bloques para confirmar que el contrato con el que interactúas es el oficial del proyecto.
- Lee el mensaje de la wallet. Las wallets de hardware muestran el mensaje de aprobación en su pantalla. Revisa qué dirección estás aprobando y el límite.
- Limita el approval a la cantidad necesaria. Nunca apruebes un límite ilimitado a menos que sea absolutamente necesario y confíes plenamente en el protocolo.
- Revoca approvals de protocolos desconocidos después de usarlos. Es la mejor manera de eliminar el riesgo si el contrato resulta ser malicioso o es hackeado más tarde.
🔧 Mejores prácticas de seguridad para Token Approvals
La seguridad en DeFi empieza por una buena gestión de approvals. Estas son las mejores prácticas que todo usuario debería seguir:
- Configura siempre un límite de gasto personalizado. Si la dApp lo permite, establece la cantidad exacta que necesitas, no un approval ilimitado. Si debes usar un approval ilimitado, limítalo a protocolos de gran reputación (Uniswap, Aave, MakerDAO).
- Usa wallets con protección integrada. Algunas wallets como Talisman establecen approvals por defecto a la cantidad exacta que tienes en la wallet, y muchas integran sistemas de detección de transacciones maliciosas en tiempo real.
- Realiza auditorías periódicas de tus approvals. Conecta tu wallet a Revoke.cash una vez al mes y revisa los permisos activos. Revoca todo aquello que ya no uses.
- Usa una wallet de hardware para grandes cantidades. Aunque las wallets de hardware no protegen contra el mal uso de approvals ya firmados, el hecho de tener que confirmar la transacción en un dispositivo offline te obliga a revisarla con más cuidado.
- Separa tus fondos. Mantén una wallet para «operaciones diarias» (con una cantidad limitada) y otra para «ahorro a largo plazo» (en cold storage). Las dApps solo se conectan a la primera.
🚀 El futuro: Permit y Permit2
Para solucionar los problemas de usabilidad y seguridad de los approvals tradicionales, la comunidad Ethereum ha desarrollado alternativas como **Permit (EIP-2612)** y **Permit2 (de Uniswap)**. Estos mecanismos permiten aprobar tokens mediante una firma off-chain, eliminando la necesidad de la transacción `approve` por separado.
Con Permit, el usuario firma un mensaje (sin costo de gas) que autoriza al contrato a gastar una cantidad específica. El contrato puede entonces usar esa firma para llamar a `permit()` y luego a `transferFrom` en una sola transacción, ahorrando gas y simplificando el flujo. Permit2, desarrollado por Uniswap, va un paso más allá: permite compartir approvals entre múltiples contratos, establecer approvals con expiración y firmar approvals con límites de gasto, todo con una sola firma.
Estos mecanismos están siendo adoptados rápidamente y representan el futuro de la autorización de tokens, haciendo que DeFi sea más seguro y fácil de usar. Si te interesa profundizar en las innovaciones tecnológicas de Ethereum, te recomendamos nuestro artículo sobre ¿Qué es Blockchain?.
❓ Preguntas Frecuentes sobre Token Approvals
📚 ¿Quieres profundizar?
Aprende más sobre los conceptos relacionados con los token approvals y la seguridad en DeFi:
🔐 Custodia de Criptomonedas – La gestión de claves y la seguridad de tu wallet.
📝 Smart Contract – El software autoejecutable que recibe los approvals.
⚖️ ERC-20 – El estándar de tokens que define las funciones approve y transferFrom.
🛡️ Guía de Seguridad Crypto – Más consejos prácticos para proteger tus activos.
🚀 ¿Empezando en Crypto?
Lee nuestra guía completa gratuita para principiantes y descubre todo lo que necesitas saber para empezar de forma segura, incluyendo cómo protegerte de malicious approvals y gestionar tus permisos de tokens.
📋 ¿Por qué confiar en esta definición? Cada término de la Cryptopedia sigue una metodología de verificación con fuentes primarias, whitepapers y legislación oficial. Conoce nuestro proceso →
⚠️ Disclaimer: Este artículo es informativo y educativo. No constituye asesoramiento financiero, legal o de seguridad. Los token approvals son un mecanismo de alto riesgo. Siempre verifica los contratos que apruebas y no otorgues approvals ilimitados a menos que sea absolutamente necesario. Revoca periódicamente los permisos que ya no uses.
📅 Actualizado: Marzo 2026
📖 Categoría: Wallets y Custodia / Seguridad y Claves
