Cómo revocar los permisos que diste a contratos y dApps, y por qué el aprobado que firmaste en 2023 sigue vivo hoy
Ese intercambio que usaste una vez en 2023 para cambiar 40 dólares de USDT sigue teniendo permiso para mover tu USDT hoy. No una cantidad parecida: la que le autorizaste, que en la mayoría…

Ese intercambio que usaste una vez en 2023 para cambiar 40 dólares de USDT sigue teniendo permiso para mover tu USDT hoy. No una cantidad parecida: la que le autorizaste, que en la mayoría de las interfaces era ilimitada. Nadie te avisa, no aparece en el saldo y no caduca. Está en el contrato del token, esperando.
Esta guía es para cualquiera que haya conectado su monedero a una dApp alguna vez. Al terminar sabrás hacer el inventario completo de permisos que has repartido, cortar los que ya no usas, y reconocer las tres capas nuevas que no se ven en el listado clásico: las firmas Permit, el contrato Permit2 y las delegaciones EIP-7702. Se hace en veinte minutos y la parte difícil no es técnica, es acordarse de repetirlo.
- Tu monedero (MetaMask, Rabby, Phantom, Ledger conectado por software) o simplemente tu dirección pública para mirar sin firmar.
- Algo de moneda nativa para el gas en cada red donde vayas a revocar: ETH, BNB, MATIC, SOL.
- La lista de redes que has usado de verdad. Casi nadie recuerda que probó una vez Arbitrum o Base.
- Cero prisa. Los sitios falsos de revocación viven del pánico.
Qué firmaste exactamente
Un token ERC-20 no se «envía» a un contrato cuando operas en un intercambio descentralizado. Lo que haces es escribir en el contrato del token una línea que dice: esta dirección puede retirar hasta X de mi saldo, cuando quiera. Eso es el approve(), y ese número X vive en el token, no en la dApp. Si mañana el contrato aprobado se actualiza, cambia de dueño o alguien encuentra un fallo en él, el permiso sigue apuntando ahí.
Con los NFT es peor de forma, mejor de fondo. La función habitual es setApprovalForAll, que no fija cantidad: concede acceso a toda la colección presente y futura en ese contrato. Es la firma que aparece detrás de casi todos los vaciados de NFT por phishing, porque el usuario cree estar «listando» una pieza y está entregando el álbum entero.
Paso 1: el inventario, red por red
La herramienta estándar es Revoke.cash, que cubre más de 100 redes. Puedes pegar tu dirección en el buscador y verlo todo en modo lectura, sin conectar nada, que es como conviene mirar la primera vez. Conectar el monedero solo hace falta para firmar la revocación.
Dos ajustes cambian el resultado. El primero es el selector de red: los permisos son por cadena, y el listado de Ethereum no sabe nada de lo que autorizaste en Polygon. El segundo es el orden. Si sospechas que acabas de firmar algo en una web falsa, ordena de más reciente a más antiguo y mira las primeras líneas, tal como recomienda su propia documentación.
Si prefieres no depender de una web de terceros, el explorador de bloques hace lo mismo. En Etherscan está en el menú More, en la página Token Approvals: introduces tu dirección, eliges el tipo de token (ERC-20, ERC-721, ERC-1155) y activas el interruptor Show all approvals, porque por defecto no muestra todo. En BscScan o Polygonscan el proceso es idéntico para sus respectivas cadenas.
Paso 2: revocar, que es aprobar cero
No existe una función especial de revocado. Se llama a la misma función de aprobación poniendo el valor a 0 en un ERC-20, o a false en un NFT. De ahí salen dos consecuencias prácticas que la gente descubre tarde: es una transacción en cadena y por tanto cuesta gas, y como es una transacción normal se puede quedar atascada o fallar como cualquier otra.
Cuando el permiso te sigue haciendo falta, hay una opción intermedia mejor que el todo o nada: editar la cantidad en lugar de anularla. Dejar 200 USDC en vez de ilimitado mantiene la comodidad y acota el daño a 200 USDC. En Revoke.cash es el icono del lápiz junto al importe.
| Tipo de permiso | Qué concede | Cómo se corta |
|---|---|---|
ERC-20 approve | Retirar hasta un importe, sin caducidad | Aprobar 0, o reducir el importe |
NFT setApprovalForAll | Toda la colección, presente y futura | Poner el permiso en false |
| Firma Permit (EIP-2612) | Permiso sin transacción, con caducidad y nonce | Esperar el vencimiento o invalidar el nonce firmando otro permiso |
| Permit2 | Aprobado ilimitado al contrato de Uniswap, que reparte subpermisos | Dos revocaciones: el subpermiso y el aprobado al propio Permit2 |
| Delegación EIP-7702 | Tu cuenta ejecuta código de un contrato | Revocar la delegación desde el monedero o una herramienta específica |
Paso 3: Permit2 tiene dos cerraduras
Aquí está el fallo más común de los inventarios hechos a medias. Permit2, el sistema de Uniswap, funciona en dos capas: primero das un aprobado ilimitado al contrato Permit2, y después ese contrato concede subpermisos a las aplicaciones, con fecha de caducidad incluida. La caducidad es una mejora real. La capa de abajo no.
Porque si revocas el subpermiso pero dejas vivo el aprobado ilimitado al contrato Permit2, cualquier aplicación integrada con él puede pedirte una firma para gastar ese token, sin transacción previa y sin que veas un approve por ninguna parte. Una firma no cuesta gas, no aparece en el historial de transacciones y es exactamente lo que buscan las páginas de phishing. Revisa las dos capas, no solo la visible.
Paso 4: la capa nueva, las delegaciones 7702
Desde Pectra, una cuenta normal de Ethereum puede apuntar a código de contrato mediante una transacción de tipo 4. Legítimamente sirve para agrupar operaciones, y de hecho permite revocar decenas de permisos en una sola transacción. El problema es la simetría: una delegación maliciosa convierte tu propia cuenta en el instrumento del ataque, y no aparece como «aprobado» en ningún listado antiguo.
Compruébalo: Revoke.cash detecta y marca las delegaciones, y los exploradores de Ethereum y Base tienen ya su verificador de EIP-7702. Si ves una delegación activa que no reconoces, revócala antes de mover nada. Si tu monedero es de los que no permite enviar transacciones tipo 4 desde una dApp, tendrás que hacerlo desde la propia interfaz del monedero.
Fuera del EVM: Solana y compañía
El equivalente en Solana es el delegado de una cuenta de token. Alguien tiene autoridad para mover hasta cierta cantidad de ese token concreto, y la instrucción Revoke borra esos campos. La firma la pone el dueño de la cuenta de token, y en el Token Extension Program también puede revocar el propio delegado. Muchos monederos de Solana lo exponen ya en su pantalla de seguridad, y varias herramientas de revocado cubren la cadena. La lógica es la misma: un permiso que dejaste puesto y nadie va a retirar por ti.
Los cinco errores que arruinan la limpieza
Creer que revocar recupera algo. No. Si ya te vaciaron, revocar solo evita la próxima pasada. Los fondos que salieron no vuelven.
Revocar cuando el problema es la semilla. Si tu frase de recuperación se ha filtrado, revocar es inútil: el atacante firma lo que quiera, incluidos nuevos permisos. Ahí lo único que sirve es mover todo a un monedero nuevo generado en un dispositivo limpio, y hacerlo antes que nada. CertiK cifra el compromiso de monederos como la categoría más costosa del primer semestre de 2026, con más de 444 millones de dólares en 33 incidentes.
Buscar «revoke» en Google. Los anuncios de arriba y los primeros resultados patrocinados son terreno de caza. Escribe la dirección a mano o guárdala en marcadores, y desconfía de cualquier página que te pida la frase de recuperación para «desconectar» algo. Ninguna herramienta legítima la necesita.
Limpiar una red y dar el trabajo por hecho. Los permisos son por cadena. Repasa cada red donde hayas firmado, incluidas las que probaste una tarde.
Volver a firmar ilimitado media hora después. Si la interfaz ofrece aprobar solo el importe de la operación, cógelo, aunque implique una firma más cada vez. La comodidad de aprobar ilimitado se paga una sola vez, el día malo.
La rutina que hace que esto no se repita
Fija una revisión cada tres meses y otra inmediata siempre que hayas interactuado con un contrato nuevo, con un airdrop o con cualquier página que te llegara por un enlace. Separa carteras: una operativa con saldo pequeño para experimentar, y una de ahorro que no firma nada y a la que solo se transfiere. Ese reparto hace que un permiso mal firmado sea un incidente de 200 dólares y no de todo.
Y ordena el listado por antigüedad de vez en cuando. Los permisos más viejos son los más peligrosos, porque apuntan a contratos que probablemente ya nadie mantiene. La ventaja de esta tarea es que no depende de nadie: no hay que esperar a que ninguna plataforma arregle nada, se arregla desde tu propio monedero.
- Consulta tu dirección en modo lectura antes de conectar el monedero.
- Recorre todas las redes que has usado, no solo Ethereum.
- Revoca los permisos antiguos y reduce a un importe concreto los que uses.
- Revisa las dos capas de Permit2, incluido el aprobado ilimitado al contrato.
- Comprueba si tienes delegaciones EIP-7702 activas.
- En Solana, revisa los delegados de tus cuentas de token.
- Si sospechas de la semilla, mueve los fondos primero y revoca después.
- Agenda la próxima revisión a tres meses.
Si vienes de nuestras guías anteriores sobre crear y asegurar tu primera wallet, pasar tus criptos a un hardware wallet y evitar las estafas más comunes, esto es la pieza que faltaba: la custodia protege las llaves, y revocar protege lo que ya autorizaste con ellas.
Datos: Revoke.cash (documentación y guías de Permit2, revocación y EIP-7702), Etherscan Token Approvals, documentación de Solana (Revoke Delegate), ethereum.org (EIP-7702, Pectra), Scam Sniffer vía Cointelegraph y Decrypt, CertiK Hack3D H1 2026.