El Approve (aprobación) de tokens es el mecanismo estándar mediante el cual los tokens ERC20 interactúan con contratos inteligentes, pero también es uno de los mayores vectores de ataque en DeFi entre 2024 y 2026. Este artículo explica en detalle el mecanismo de Approve y cómo revocarlo. Vamos directo a la conclusión: cada interacción con DeFi puede dejar un Approve residual, no revocarlos a tiempo acumula un riesgo enorme y auditar mensualmente con Revoke.cash y revocar las aprobaciones innecesarias es un hábito imprescindible para cualquier usuario de DeFi. Para la cuenta principal y la de respaldo diaria puede registrarse desde el Sitio Oficial de Binance, en Android instale la App Oficial de Binance, y los usuarios de iPhone que necesiten cambiar a un Apple ID internacional pueden consultar el Pagina de Descarga.

Uno: cómo funciona el mecanismo Approve

El doble mecanismo de los tokens ERC20:

El estándar ERC20 define dos formas de transferencia:

  1. transfer: el usuario transfiere directamente (usted envía USDC a otra persona)
  2. transferFrom: el contrato transfiere en su nombre (un contrato inteligente retira USDC de su cuenta)

transferFrom requiere un Approve previo:

Paso 1: el usuario llama a approve(spender, amount) del contrato USDC
        - spender = dirección del contrato
        - amount = cantidad autorizada

Paso 2: el contrato llama a transferFrom(user, recipient, amount)
        - solo funciona dentro del límite de amount

Por ejemplo, al usar Uniswap:

Paso 1: el usuario hace Approve al Router de Uniswap para retirar USDC (una sola vez, por 1000 USDC)
Paso 2: el usuario inicia un swap de USDC a ETH en Uniswap
Paso 3: el Router de Uniswap llama a USDC.transferFrom para retirar los USDC
Paso 4: el Router de Uniswap envía al usuario la cantidad correspondiente de ETH

Approve es el mecanismo subyacente que conecta a DeFi con los tokens ERC20.

P: ¿Hay que volver a hacer Approve en cada interacción?

No. El Approve es persistente:

Este es el origen del riesgo acumulado de Approve: si no se revoca durante mucho tiempo, se acumulan numerosas aprobaciones históricas dispersas.

Dos: los dos tipos de Approve

Aprobación limitada (Limited Approval):

Aprobación ilimitada (Unlimited Approval / MaxUint256):

Por qué existe la aprobación ilimitada:

Riesgos de la aprobación ilimitada:

Caso real:

En diciembre de 2024, un usuario que había hecho Approve ilimitado de USDC en Uniswap en 2022 recibió en su wallet 50.000 USDC. Dos horas después, un contrato malicioso (un Router falso que imitaba a Uniswap V3) llamó a transferFrom y se llevó todo el saldo. La investigación posterior reveló que el contrato de phishing explotó una aprobación histórica olvidada del usuario.

P: ¿Conviene elegir aprobación limitada o ilimitada?

Postura de seguridad (recomendada): hacer Approve manual de la cantidad exacta en cada interacción

Postura de comodidad: aprobación ilimitada por defecto

Estrategia habitual:

Tres: formas comunes de ataque vía Approve

Forma 1: ataque de Approve por sitio web de phishing

Un sitio de phishing imita la interfaz real; al conectar la wallet, el usuario firma una transacción de Approve:

Forma 2: ataque mediante firma Permit

El estándar EIP-2612 introduce la función permit, que permite autorizar mediante una firma (sin transacción on-chain):

Por qué el ataque Permit es peligroso:

Forma 3: protocolo hackeado a través de un Approve histórico

Un protocolo con un Approve histórico es hackeado:

Forma 4: Token Drainer malicioso

Sitios de phishing que, en una sola firma, solicitan múltiples aprobaciones a la vez:

P: ¿Es Permit más peligroso que Approve?

Sí, Permit es considerablemente más peligroso:

Dimensión Approve Permit
Va on-chain Sí No (solo firma)
Consume Gas Sí No
Claridad en la wallet Relativamente clara Poco intuitiva
Forma de revocar Transacción Revoke on-chain No se puede revocar (requiere modificar el nonce del contrato)
Alerta del usuario Alta Baja

Cualquier firma Permit debe revisarse con cuidado: token, cantidad y destinatario.

Cuatro: cómo revocar un Approve con Revoke

Herramientas de revocación más usadas:

Revoke.cash (la más popular, recomendada):

Etherscan Token Approval:

Solscan Approval (Solana):

Pasos para usar Revoke.cash:

1. Entrar a revoke.cash
2. Hacer clic en "Connect Wallet" (conectar MetaMask / Rabby)
3. Se cargan automáticamente todas las aprobaciones (agrupadas por token / protocolo)
4. Revisar la lista:
   - Nombre del token (USDC, USDT, WETH, etc.)
   - Entidad autorizada (dirección del contrato + nombre del protocolo conocido)
   - Cantidad autorizada (valor específico o Unlimited)
   - Nivel de riesgo (rojo = alto riesgo, verde = protocolo conocido)
5. Hacer clic en "Revoke" para revocar la aprobación sospechosa
6. MetaMask abre una ventana para firmar y pagar el Gas
7. Esperar la confirmación on-chain (5-30 segundos)

Costo de Gas al revocar:

Red Gas por revocación
Mainnet de Ethereum 5-30 dólares
Polygon menos de 0,01 dólares
Arbitrum / Optimism / Base 0,1-1 dólares
BNB Chain 0,05-0,30 dólares
Solana menos de 0,01 dólares

P: ¿Revocar un Approve requiere pagar Gas?

Sí. Revoke es una transacción on-chain y requiere pagar Gas. Pero:

Recomendaciones de optimización:

Cinco: proceso estándar para auditar Approve periódicamente

Frecuencia de auditoría:

Tipo de usuario Frecuencia recomendada
Usuario activo de DeFi (5+ interacciones semanales) Mensual
Usuario intermedio de DeFi (5-20 interacciones mensuales) Cada 3 meses
Usuario ocasional de DeFi (menos de 5 interacciones mensuales) Cada 6 meses

Pasos de la auditoría:

Paso 1: conectar la wallet a Revoke.cash

Paso 2: clasificar y filtrar las aprobaciones

Ordenar por nivel de riesgo:

Paso 3: revocar las aprobaciones innecesarias

Principios de revocación:

Paso 4: registrar las aprobaciones que se conservan

Anotar de cada aprobación conservada:

Paso 5: verificar después de cada auditoría

P: ¿Cómo saber si un protocolo es "conocido" antes de revocar?

Formas de comprobarlo:

  1. Nombre del protocolo: el nombre que muestra Revoke.cash (por ejemplo, "Uniswap V3 Router")
  2. Dirección del contrato: buscarla en Etherscan para ver si está verificada y si pertenece a un protocolo reconocido
  3. Página del protocolo en DefiLlama: revisar el TVL y el tiempo de operación
  4. Documentación oficial: la dirección del contrato publicada por el propio proyecto

Un contrato no identificable junto con una aprobación Unlimited equivale a alto riesgo, y debe revocarse de inmediato.

Seis: gestión de Approve en distintas cadenas

Mainnet de Ethereum y cadenas compatibles con EVM:

Cadena Solana:

Cadena de Bitcoin:

Familia Move (Sui / Aptos):

P: ¿Existe riesgo de Approve en Solana?

Sí. El riesgo de la "autorización por firma" en Solana es similar:

Phishing más común en Solana:

Los principios de protección son los mismos que en Ethereum.

Siete: mejores prácticas para optimizar el Approve

1. Usar cantidades específicas en cada Approve

Configurar el aviso de Approve en MetaMask:

2. Separar la wallet principal de la secundaria

3. Revocar aprobaciones de protocolos antiguos

Auditoría mensual:

4. Cuidado con las "firmas combinadas"

5. Usar herramientas de interpretación de firmas

P: ¿Se pueden revocar todos los Approve de una sola vez?

No existe una función de "revocar todo con un clic":

Algunas herramientas ofrecen una "cola" por lotes:

Ocho: caso especial: Approve de NFT

Los NFT también tienen su propio mecanismo de Approve:

Riesgos del Approve de NFT:

Caso real:

En mayo de 2024, un usuario firmó setApprovalForAll en un sitio que imitaba a OpenSea, autorizando a un contrato malicioso a gestionar su BAYC. Poco después, el BAYC fue transferido de inmediato a la dirección del atacante, con una pérdida de aproximadamente 120.000 dólares.

Revocación de Approve en NFT:

P: ¿Es obligatorio autorizar para vender un NFT en OpenSea o Blur?

Sí. Los principales marketplaces de NFT exigen autorización para poder vender:

Práctica segura:

Nueve: preguntas frecuentes

P: ¿Cuánto Gas mínimo consume un Approve?

Gas estándar de un Approve en la mainnet de Ethereum:

En L2, Polygon o BSC, un Approve suele costar menos de 1 dólar.

P: ¿Se puede reactivar un Approve ya revocado?

No se puede reactivar directamente. Tras la revocación equivale a "nunca haber sido aprobado", por lo que hay que volver a hacer Approve:

P: ¿Todos los tokens ERC20 requieren Approve?

Sí. Todos los tokens del estándar ERC20 siguen el mecanismo de Approve:

Excepciones:

P: ¿El Approve bloquea los tokens?

No. El Approve no bloquea los tokens:

El Approve funciona de forma parecida a un "límite de tarjeta de crédito": usted le da un cupo al comercio, pero el dinero sigue en su cuenta bancaria.

P: ¿Cómo se revoca una firma Permit?

Una firma Permit no se puede "revocar" directamente, pero hay métodos indirectos:

La clave de la seguridad frente a Permit está en la prevención: revise con cuidado cada firma Permit antes de aceptarla.

P: ¿El riesgo de Approve es igual en USDT y en USDC?

En general es similar, pero hay diferencias de detalle:

P: ¿Se puede ver todo el historial de Approve de una wallet?

Sí, es posible:

P: ¿La revocación de un Approve tiene efecto inmediato?

Sí. Una vez confirmado el Revoke on-chain, el efecto es inmediato:

P: ¿Se pueden revocar de una sola vez las aprobaciones de varias wallets?

No. Cada wallet es independiente:

Usuarios con varias wallets: deben auditar cada wallet por separado, todos los meses.

Fuentes de datos

Aviso de riesgo: este artículo es una recopilación independiente de terceros y no constituye asesoramiento de inversión. Approve es uno de los principales vectores de ataque en DeFi; auditar y revocar periódicamente es una práctica de seguridad básica. Todos los datos corresponden a abril de 2026.