Cómo revocar aprobaciones de tokens en Ethereum y otras cadenas EVM
Aprende paso a paso cómo revocar aprobaciones en Ethereum y otras cadenas EVM, qué aprobaciones son arriesgadas, cuánto cuesta revocar y qué no puede deshacer.
Para revocar aprobaciones de tokens en Ethereum u otra cadena EVM, conecta tu billetera a un verificador de aprobaciones de confianza (como Revoke.cash o la herramienta de aprobaciones de tokens de un explorador de bloques), elige la red, revisa qué contratos pueden gastar tus tokens y envía una transacción de revocación para los que ya no uses o no reconozcas. Cada revocación es una transacción en la cadena que pone la asignación a cero y cuesta una pequeña comisión de gas.
Las aprobaciones son uno de los riesgos más ignorados de la autocustodia. Cada vez que operas en un exchange descentralizado o usas una app DeFi, probablemente concedes a un contrato permiso para mover tus tokens. Esos permisos siguen activos indefinidamente. Si ese contrato es explotado más adelante, o si aprobaste uno malicioso, pueden llevarse tus tokens sin que vuelvas a firmar nada.
Cómo funcionan las aprobaciones de tokens
Los tokens ERC-20, el estándar de la mayoría de los tokens en Ethereum, incluyen una función approve. Cuando apruebas un contrato, fijas una asignación (allowance): la cantidad máxima de ese token que el contrato puede transferir desde tu dirección.
Muchas apps piden una asignación ilimitada para que no tengas que aprobar de nuevo en cada operación. Es cómodo, pero significa que el contrato puede mover todo tu saldo de ese token en cualquier momento, ahora o en el futuro.
Los NFT funcionan de forma parecida. La función setApprovalForAll da a un operador permiso para mover todos los NFT de una colección que posees, y por eso los drainers de NFT la tienen en el punto de mira.
También existe un patrón más reciente: las firmas permit. Algunos tokens y sistemas (incluido Permit2 de Uniswap) te permiten conceder una asignación firmando un mensaje fuera de la cadena en lugar de enviar una transacción. Estas firmas parecen inofensivas, pero pueden autorizar transferencias. Nuestro artículo sobre ice phishing y firmas permit explica este riesgo.
Paso a paso: cómo revocar aprobaciones
- 1Abre directamente una herramienta de confianza. Escribe tú mismo la dirección o usa un marcador. Entre las opciones conocidas están Revoke.cash y el verificador de aprobaciones de tokens de Etherscan y otros exploradores. Existen sitios de «revoke» falsos, así que nunca sigas enlaces de mensajes directos ni anuncios.
- 2Conecta tu billetera o pega tu dirección. Pegar una dirección te permite ver las aprobaciones sin conectarte. Solo necesitas conectarte para enviar transacciones de revocación.
- 3Elige la red. Las aprobaciones son por cadena. Revisa Ethereum y luego cada red que uses, como Arbitrum, Optimism, Base, Polygon o BNB Smart Chain.
- 4Revisa la lista. Para cada aprobación verás el token, el contrato autorizado a gastar, el importe de la asignación y, a menudo, cuándo se concedió.
- 5Identifica qué revocar. Prioriza las asignaciones ilimitadas, los contratos que no reconozcas, las apps que ya no uses y cualquier contrato implicado en un exploit conocido.
- 6Haz clic en revocar y confirma en tu billetera. Lee el aviso de la billetera: debería ser una llamada
approveque pone la asignación a cero (o una llamadasetApprovalForAllcon valor false en el caso de los NFT). - 7Repite en cada red. Después actualiza para confirmar que las aprobaciones han desaparecido.
Qué aprobaciones revocar primero
| Tipo de aprobación | Nivel de riesgo | Acción |
|---|---|---|
| Asignación ilimitada a un contrato desconocido | Alto | Revocar de inmediato |
setApprovalForAll sobre una colección de NFT valiosa | Alto | Revocar salvo que tengas NFT listados activamente |
| Asignación ilimitada a una app que ya no usas | Medio | Revocar |
| Asignación limitada a una app de buena reputación que usas a menudo | Bajo | Mantener o reducir |
| Aprobación a un contrato implicado en un exploit | Alto | Revocar de inmediato |
Lo que revocar no puede hacer
Revocar es preventivo, no una cura. No va a:
- Devolver tokens que ya se han transferido.
- Protegerte si te han robado la frase semilla o la clave privada. En ese caso el atacante puede firmar cualquier cosa; mueve los activos restantes a una billetera nueva como se describe en qué hacer de inmediato si tu billetera está comprometida.
- Cancelar de forma fiable las firmas permit fuera de la cadena que ya hayas dado. Estas siguen sus propias reglas de caducidad y nonce, así que si firmaste un permit sospechoso, lo más seguro es mover los tokens afectados a una billetera nueva.
Reduce el riesgo de las aprobaciones en adelante
- Fija asignaciones personalizadas. Muchas billeteras te permiten editar el importe en el aviso de aprobación. Aprueba solo lo que piensas gastar.
- Usa una billetera aparte para experimentar. Ten una billetera desechable para apps nuevas, mints y airdrops, y guarda los fondos a largo plazo en una billetera que nunca se conecte a sitios desconocidos.
- Lee cada solicitud de firma. Si un sitio te pide firmar un mensaje que no entiendes, detente.
- Revisa las aprobaciones con regularidad. Cada pocos meses y después de probar cualquier app nueva.
- Revisa también los sitios conectados. Conexión y aprobación son cosas distintas; consulta permisos de la billetera y sitios conectados.
Errores comunes
- Usar una herramienta de revocación falsa encontrada a través de un anuncio en buscadores o una respuesta en redes sociales.
- Revocar en Ethereum pero olvidar la misma billetera en redes de capa 2.
- Suponer que desconectar un sitio en tu billetera elimina sus aprobaciones. No lo hace.
- Ignorar los tokens de poco valor; los atacantes suelen llevarse todo lo que pueden.
Conclusión
Las aprobaciones de tokens son permisos permanentes que sobreviven al momento en que los concediste. Revisarlas es gratis, revocarlas es barato y hacerlo con regularidad cierra una de las vías más comunes que usan los drainers. Conviértelo en parte de tu rutina, aprueba solo lo que necesites y guarda tus principales tenencias en una billetera que rara vez firme algo.
Preguntas frecuentes
¿Qué es una aprobación de token?
Una aprobación de token es un permiso que das a un contrato inteligente para mover un token concreto desde tu billetera, hasta una cantidad determinada. Los exchanges descentralizados y otras apps DeFi necesitan aprobaciones para funcionar. El permiso sigue activo hasta que lo revocas o se agota la asignación, aunque no vuelvas a visitar la app.
¿Revocar una aprobación cuesta gas?
Sí. Revocar es una transacción en la cadena que pone la asignación a cero, así que pagas una comisión de red normal. En la mainnet de Ethereum puede notarse; en redes de capa 2 suele ser barata. Ver tus aprobaciones es gratis.
¿Revocar una aprobación me devolverá los tokens robados?
No. Revocar solo impide futuras transferencias por parte de ese contrato. Los tokens que ya se han llevado no se recuperan revocando. Si tu frase semilla o tu clave privada quedaron expuestas, revocar no basta; mueve los fondos restantes a una billetera nueva.
¿Con qué frecuencia debo revisar mis aprobaciones de tokens?
Un buen hábito es revisarlas cada pocos meses y después de cualquier sesión en la que hayas interactuado con una app nueva o desconocida. Revísalas también de inmediato si sospechas que firmaste algo malicioso.
