Aprobaciones de tokens: qué firmas al conectar tu monedero y cómo revocarlas

Qué vas a conseguir y qué necesitas antes de empezar

Al terminar sabrás qué permisos pueden haberse concedido al usar tu monedero (wallet) con una dApp (aplicación descentralizada), podrás revisarlos y quitarás los que ya no uses. Con calma y en orden, porque aquí un paso hecho con prisa es justo lo que suele costar dinero.

Antes de seguir, ten a mano:

  • Un monedero de autocustodia que ya hayas conectado a alguna dApp.
  • Algo de saldo en la red correspondiente para pagar el gas (la comisión de la red). Revocar un permiso es una transacción, y tanto aprobar como revocar en Ethereum requieren gas, según el Centro de ayuda de OpenSea y el Centro de ayuda de MetaMask.
  • Un rato sin distracciones.

Una aclaración sobre el origen de los pasos: salen de la documentación oficial de MetaMask y de OpenSea, no de pruebas propias. Las interfaces cambian; por eso te explico el porqué de cada paso, que es lo que se mantiene. Si todavía no tienes clara la base, empieza por la guía de blockchain y criptomonedas desde cero.

Qué es una aprobación y qué es una firma de mensaje

Según OpenSea, todas las dApps necesitan permiso de los monederos no custodiados antes de poder interactuar con los tokens que hay en ellos. Ese permiso es la aprobación de tokens. MetaMask la llama «límite de gasto» (spending cap) y aclara que también se conoce como token approval o allowance.

Las características que debes conocer:

  • Queda registrada en la cadena de bloques (blockchain). Una vez firmada la transacción, su existencia se registra y es válida hasta que firmes otra que la revoque (MetaMask).
  • Se puede gastar en varias veces. Si firmas un límite de 1000 USDC (una stablecoin, es decir, un token pensado para mantener un valor estable), la dApp puede usar hasta 1000 USDC en una transacción o en muchas; el permiso vale hasta que agote esa cantidad (MetaMask).
  • Suele pedirse sin límite. Por defecto, la mayoría de dApps solicitan un límite de gasto ilimitado (OpenSea). Con una aprobación así, un actor malicioso podría vaciar tus fondos en tokens ERC-20, el estándar de tokens fungibles (intercambiables entre sí) de Ethereum.

Las fuentes consultadas no detallan qué se concede exactamente por el mero hecho de conectar el monedero. Lo que sí documentan son los dos mecanismos que dan permiso sobre tus tokens: la aprobación registrada en la cadena y, como verás ahora, la firma de un mensaje.

La firma de mensaje que hace de aprobación

Una firma de mensaje no se envía a la red como transacción ni paga gas en ese momento. Aun así, puede tener el mismo efecto que una aprobación. El estándar ERC-2612 (estado «Final», creado el 13 de abril de 2020) añade al estándar de tokens EIP-20 una función llamada permit. Con ella se modifica el allowance mediante un mensaje firmado, en lugar de mediante una transacción enviada por el propietario. Los datos firmados siguen el formato EIP-712.

El mensaje de un permit incluye estos campos: owner, spender, value, nonce y deadline. El dominio añade name, version, chainId y verifyingContract. Para ti, la lectura práctica es esta: quién gasta (spender) y cuánto (value).

Sobre el deadline, una lectura prudente, no un hecho de las fuentes: por su nombre, parece un plazo asociado a la firma, y no está claro que equivalga a la duración del permiso. Las fuentes consultadas solo enumeran el campo, sin detallar su efecto. No des por hecho que un deadline te garantice que el permiso acabe solo.

Por qué una firma sin gas también puede costarte los fondos

Un análisis de DARKNAVY del 16 de marzo de 2026 documenta un robo de USDC mediante permit. La víctima solo vio un diálogo de «Sign» de MetaMask, no una confirmación de transacción, algo que muchos usuarios consideran menos grave.

Lo que ocurrió después, según el análisis:

  • El permit se firmó con value y deadline en el valor máximo posible (type(uint256).max). La aprobación era permanente y cubría todo el saldo indefinidamente.
  • La firma se recogió fuera de la cadena (off-chain), así que la víctima no tenía ningún indicio registrado en la cadena de que sus fondos corrían riesgo hasta que se ejecutó el vaciado.
  • El atacante ejecutó un permit que le concedía aprobación ilimitada de USDC, seguido de tres transferFrom (la función que mueve tokens en nombre de su propietario) lanzadas mediante un contrato llamado Multicall3. La víctima no envió ninguna aprobación en la cadena.

Mi opinión, separada de los hechos: trata cada ventana de «Sign» con la misma atención que una transacción. Lee qué estás firmando, a quién y por cuánto. Que no haya gas de por medio no significa que no haya consecuencias.

Permit2: un caso intermedio que conviene reconocer

Según L2BEAT, Permit2 (dirección 0x000000000022D473030F116dDEE9F6B43aC78BA3) es un centro de aprobaciones de tokens (hub) basado en firmas. Concedes una aprobación ERC-20 por token a ese centro y después autorizas a gastadores concretos mediante permits firmados, acotados en tiempo y cantidad, y revocables con «lockdown». Cualquier gastador con un permit válido puede retirar la cantidad permitida.

Esto implica revisar dos niveles: la aprobación al centro y los permisos firmados por debajo. Las fuentes consultadas mencionan el lockdown, pero no detallan cómo ver o revocar esos permits con las herramientas que describo abajo, así que no te voy a inventar un procedimiento. Si quieres entender qué hace un protocolo como el de esa fuente, antes de usarlo lee la guía sobre finanzas descentralizadas y sus riesgos.

Cómo revisar y revocar tus aprobaciones, paso a paso

Un aviso antes del primer paso: las herramientas de revocación de Etherscan son de terceros. OpenSea advierte de que no puede garantizar su servicio. Y la revocación es una transacción real: pagas gas y debe confirmarse.

El diagrama resume quién puede mover qué. Un gastador puede obtener permiso por una aprobación registrada en la cadena o por un permit firmado fuera de ella. La revocación en la cadena actúa sobre las aprobaciones registradas; de los permits firmados, las fuentes solo mencionan el lockdown de Permit2, sin detallar el procedimiento.

Quién puede mover tus tokens y qué se puede revocarDiagrama de izquierda a derecha dividido en dos franjas. En la franja superior, «En la cadena», tu monedero firma una aprobación, que es una transacción con gas que vale hasta que se revoque. Encima de la aprobación hay una revocación, otra transacción con gas, que la deja sin efecto. En la franja inferior, «Fuera de la cadena», tu monedero firma un permit, que es una firma de mensaje sin gas y sin rastro en la cadena hasta que se usa. Bajo el permit se indica que las fuentes solo mencionan el lockdown de Permit2 como forma de anularlo, sin detallar el procedimiento. Con cualquiera de las dos vías, el gastador puede mover tus tokens hasta el límite autorizado. Las flechas continuas son acciones en la cadena y las discontinuas, acciones fuera de ella.EN LA CADENAFUERA DE LA CADENARevocaciónOtra transacción · paga gasdeja sin efectoAprobaciónTransacción · paga gas al firmarVale hasta que se revoquePermitFirma de mensaje · sin gas al firmarSin rastro en la cadena hasta usarseAnularlo: las fuentes solo mencionanel lockdown de Permit2, sin detallarel procedimientoTu monederotú firmasGastadormueve tus tokens hastael límite autorizado
Un gastador puede obtener permiso por una aprobación en la cadena o por un permit firmado fuera de ella. La revocación en la cadena actúa sobre las aprobaciones registradas.

Ruta A: MetaMask Portfolio

A octubre de 2026, según el Centro de ayuda de MetaMask, funciona en Ethereum Mainnet, Polygon, BNB Chain, Optimism y Base. Esa lista puede cambiar, así que contrástala en la ayuda oficial.

  1. Abre MetaMask Portfolio con tu monedero conectado. Precaución mía: comprueba que el monedero conectado es el que quieres revisar, para no actuar sobre otro por descuido.
  2. En «Overview», entra en la pestaña «Spending Caps».
  3. Pulsa el botón de revocar junto al límite que quieras quitar.
  4. Comprueba la red y envía la transacción desde MetaMask. Necesitas gas en esa red para que se ejecute.

Ruta B: la herramienta Token Approval de Etherscan

Es la que usa el tutorial de OpenSea. La cito por esa documentación, no como recomendación: es un tercero y conviene entender qué firmas al conectarte.

  1. Conecta tu monedero con «Connect to Web3».
  2. Recorre las pestañas ERC-20, ERC-721 y ERC-1155 hasta encontrar la aprobación que quieres quitar.
  3. Pulsa «Revoke».
  4. Confirma la solicitud en tu monedero, tras revisar la red y la comisión.

Limitar el permiso desde el principio

Cuando una dApp te pida aprobar gasto en MetaMask, puedes pulsar «Edit Permission» e introducir una cantidad en «Custom Spend Limit». Según OpenSea, fijar un límite reduce el riesgo de que un actor malicioso drene tus fondos ERC-20.

Con los NFT (tokens no fungibles, es decir, únicos), revocar significa que ese NFT no se puede comprar, vender ni transferir mediante OpenSea sin volver a aprobar (OpenSea). Revoca lo que ya no uses, sabiendo que si más adelante operas de nuevo tendrás que aprobar otra vez.

Errores que cuestan dinero

  • Aceptar la cantidad ilimitada por defecto. Si puedes fijar un límite, fíjalo.
  • Tomar un «Sign» sin gas por inofensivo. El caso de DARKNAVY lo desmiente.
  • Creer que una aprobación caduca sola. Según MetaMask, una aprobación registrada vale hasta que se agote o firmes otra que la revoque. En el caso analizado, además, ni el importe ni el plazo de la firma tenían tope.
  • Revocar con prisa. Una red equivocada o un monedero sin saldo para el gas dejan la revocación sin hacer. Antes de enviar, comprueba red y comisión.
  • Confiar a ciegas en una herramienta de terceros. OpenSea avisa de que no garantiza su servicio.
  • Esperar que revocar recupere fondos. Es mi criterio: la revocación cierra la puerta hacia delante, no devuelve lo ya movido.

Comprueba que ha funcionado

  1. Vuelve a la pestaña «Spending Caps» de MetaMask Portfolio, o a las pestañas ERC-20, ERC-721 y ERC-1155 de la herramienta de Etherscan, y comprueba que la aprobación ya no aparece.
  2. Copia el identificador de la transacción de revocación y ábrelo en el explorador de bloques de la red. Debe figurar como confirmada; la revocación es una transacción, según MetaMask.

Una advertencia para no quedarte con falsa tranquilidad: esas listas muestran aprobaciones registradas en la cadena. Según DARKNAVY, una firma de permit recogida fuera de la cadena no deja indicio hasta que se ejecuta. Que la lista salga vacía no prueba, por tanto, que no queden firmas pendientes. Las fuentes consultadas no detallan cómo anularlas con estas herramientas, así que no te propongo ningún procedimiento.

Siguiente paso

Repite la revisión en cada red de la lista de MetaMask donde hayas usado tu monedero. Y si vas a seguir conectándote a aplicaciones, repasa cómo empezar a usar Web3 con seguridad para ordenar tus hábitos antes de firmar de nuevo.

Fuentes

Imagen: geralt en Pixabay

Deja un comentario

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.