Volver al blog
Solana

Cómo revocar permisos de tokens en Solana

S
Sol Slugs Team
Sol Incinerator

Actualización de rent verificada el 3 de septiembre de 2026: Todas las cifras fijas de rent o pago por cuenta que aparecen en este artículo anterior son ejemplos históricos basados en la configuración heredada de 6,960 lamports por byte, no una cotización actual. El tamaño de la cuenta, la fase de rent activa, los retiros anteriores, las comisiones de la operación y los costes de red pueden cambiar el resultado. Lee Reducción de rent de Solana en 2026 y utiliza la vista previa de la transacción en tiempo real para tu wallet.

La revocación de permisos es una práctica habitual en Ethereum, donde las aprobaciones ilimitadas de ERC-20 han vaciado muchas billeteras. Solana tiene un mecanismo equivalente, pero funciona de otra manera y conviene entender qué puede y qué no puede hacerte.

¿Cómo se revocan los permisos de tokens en Solana?

Conéctate a la herramienta de revocación. Analiza todas las cuentas de tokens que posees, muestra qué direcciones autorizaste para retirar tokens de ellas y elimina esas aprobaciones en un solo lote. No hay ninguna comisión —la revocación no recupera ningún depósito de renta, por lo que solo pagas la tarifa de red. Desde la CLI, es spl-token revoke <TOKEN_ACCOUNT_ADDRESS>.

Qué es realmente un delegado de Solana

Cuando apruebas algo en Solana, estás configurando un delegado en una cuenta de token específica. La instrucción Approve registra dos cosas en esa cuenta: la dirección del delegado y el importe delegado.

El delegado puede entonces transferir o quemar hasta ese importe desde esa cuenta concreta, sin volver a pedirte autorización. No puede acceder a tus otras cuentas de tokens, superar el importe delegado ni mover tu SOL.

Es una autoridad real y debe tomarse en serio: un delegado con una asignación sobre tu cuenta de token puede mover esos tokens. Sin embargo, su alcance potencial es considerablemente menor que el del equivalente de Ethereum por tres razones estructurales.

Por qué las aprobaciones de Solana tienen un alcance menor que las de Ethereum

Aprobación de EthereumDelegado de Solana
AlcanceTodos los tokens que tengas de ese contratoUna cuenta de token
ImporteCon frecuencia ilimitadoUn límite fijo que tú estableces
Varios a la vezSí, se acumulan por gastadorNo: un delegado por cuenta
Se elimina medianteUna transacción de revocación explícitaUna revocación, o el cierre de la cuenta

La tercera fila es la importante. En Ethereum, las aprobaciones se acumulan: puedes conceder asignaciones a una docena de contratos sobre el mismo token, y cada una persiste silenciosamente hasta que la revocas. Años de uso de DeFi dejan una larga lista de aprobaciones ilimitadas olvidadas, precisamente por eso las herramientas de revocación se volvieron esenciales allí.

En Solana, cada cuenta de token tiene como máximo un delegado. Configurar uno nuevo sobrescribe al anterior. No hay una lista acumulativa: una cuenta de token tiene un único delegado en un momento dado o no tiene ninguno.

Por eso Solana nunca desarrolló la misma cultura de herramientas de revocación que Ethereum. La exposición es real, pero está limitada y desaparece por sí sola durante el uso normal de la billetera.

De dónde provienen los delegados

La mayoría de los delegados de tus cuentas no son maliciosos: son cómo funcionan las características normales de Solana:

  • Listados de NFT en mercados. Listar un NFT normalmente lo delega al programa del mercado para que la venta pueda ejecutarse cuando aparezca un comprador. Por eso un NFT listado no puede quemarse hasta que canceles el listado: tu billetera ya no tiene autoridad unilateral sobre él.
  • Programas de staking y bóvedas. Depositar en un protocolo suele implicar el uso de un delegado en lugar de transferir la custodia.
  • NFT programables. Los pNFT se mantienen congelados con una autoridad delegada como parte del mecanismo de aplicación de regalías.
  • Aprobaciones maliciosas. El caso que realmente debe preocuparte: un sitio de phishing presenta una transacción que parece servir para reclamar algo, pero lo que firmas es un Approve que otorga a un delegado autoridad sobre tus tokens.

Lo único que una revocación no puede eliminar

Todo lo anterior se refiere al delegado a nivel de cuenta: un campo en tu propia cuenta de token que te pertenece y, por lo tanto, puedes eliminar.

Token-2022 introdujo una autoridad separada y más potente: un delegado permanente, configurado en la acuñación (mint) en lugar de en tu cuenta. Una acuñación con uno otorga a esa dirección autoridad para transferir y quemar sobre cada cuenta que tenga ese token, sin límite, y no hay nada que el titular pueda hacer al respecto. Es una propiedad del propio token, no un permiso que hayas concedido, por lo que la instrucción Revoke no lo modifica, ni tampoco ninguna herramienta.

Algunos tokens legítimos lo usan deliberadamente; por ejemplo, stablecoins reguladas que necesitan un mecanismo de recuperación. Pero esto significa que el alcance real de cualquier herramienta de revocación de Solana, incluida la nuestra, son las aprobaciones que concediste en tus propias cuentas.

Si la acuñación de un token tiene un delegado permanente, la única forma de eliminar esa exposición es dejar de tener el token. Revisa la acuñación en un explorador antes de asumir que una revocación sin delegados significa que nadie puede mover un saldo determinado.

Cómo comprobar qué tiene un delegado

Las billeteras no muestran esta información. Phantom y Solflare muestran tus saldos, no el campo del delegado que se encuentra en cada cuenta de token, por lo que una aprobación que concediste hace dos años resulta invisible en la interfaz que usas a diario.

Hay tres formas de verlo:

  • La herramienta de revocación. Conecta tu billetera y la herramienta analizará todas las cuentas de tokens de los programas Token de SPL y Token-2022, mostrando cada delegado, la acuñación a la que se aplica y el tamaño de la asignación. El análisis es de solo lectura: no requiere firma ni aprobación alguna para consultar los datos.
  • Un explorador de bloques. Busca la dirección de tu billetera, abre cada cuenta de token y revisa el campo del delegado. Este se muestra cuando hay uno configurado. Es práctico para una cuenta, pero tedioso para cien.
  • La CLI de spl-token. spl-token account-info <TOKEN_ACCOUNT_ADDRESS> informa el delegado y el importe delegado.

Si el delegado es un mercado que reconoces y el NFT está listado actualmente, es lo esperado: cancela el listado y el delegado se eliminará.

Observa la columna de asignación. Las aprobaciones suelen establecerla en el valor máximo posible, en lugar del importe realmente necesario, que la herramienta muestra como Ilimitado. Un listado legítimo suele delegar exactamente un NFT; una asignación ilimitada en un token del que posees una gran cantidad merece una segunda revisión.

Cómo revocar

Desde la herramienta, conéctate en sol-incinerator.com/revoke, revisa la lista y firma. Todo lo seleccionado se agrupa en la menor cantidad posible de transacciones, por lo que una billetera con treinta delegados obsoletos no requiere treinta firmas.

No hay ninguna comisión. La revocación no libera ningún depósito de renta, así que no hay nada de donde descontar una comisión: solo pagas la tarifa de transacción de la red.

Desde la CLI, contra una cuenta de token específica:

spl-token revoke <TOKEN_ACCOUNT_ADDRESS>

Esto invoca la instrucción Revoke del programa Token de SPL, que solo requiere la cuenta de token y tu firma como propietario. Elimina por completo el campo del delegado. No puede ejecutarse parcialmente y no afecta tu saldo.

Desde la interfaz de una billetera (UI), la vía habitual es indirecta: cancelar o retirar de la lista aquello que creó el delegado en primer lugar. Retirar un NFT del mercado donde lo listaste elimina el delegado de ese mercado como parte de la instrucción de cancelación.

Revocar el delegado de un mercado para un NFT listado equivale, en la práctica, a retirarlo de la lista: el mercado ya no podrá completar una venta. Ese es el comportamiento correcto, pero si quieres mantenerlo listado, no modifiques su delegado.

¿Por qué no puedo revocar una cuenta congelada?

Porque Solana no te lo permitirá. El programa Token de SPL rechaza de inmediato una revocación en una cuenta de token congelada y devuelve AccountFrozen — congelar una cuenta bloquea los cambios de autoridad, no solo las transferencias.

Esto es más importante de lo que parece, porque las cuentas congeladas y los delegados suelen ir de la mano. Los NFT programables se mantienen congelados con un delegado como parte de la aplicación de regalías, y muchos programas de staking congelan los activos que custodian. Por eso, los delegados que probablemente encuentres suelen ser precisamente los que no pueden eliminarse directamente.

La herramienta excluye estas cuentas de la lista porque, en la práctica, una cuenta congelada con un delegado suele funcionar según lo previsto —por ejemplo, un pNFT que aplica regalías o un activo que pusiste deliberadamente en staking— y no suele requerir ninguna acción de tu parte.

Si quieres eliminar uno, la cuenta debe ser descongelada primero. Desvincula, retira de la lista o completa la acción que la congeló; una vez descongelada, el delegado se revoca normalmente.

Quemar no es una solución alternativa. Una cuenta congelada rechaza las quemas por la misma razón que rechaza las revocaciones: el congelamiento bloquea la operación, no solo las transferencias. Por tanto, no puedes eliminar un delegado congelado destruyendo el activo mientras siga en la cuenta. Solo la autoridad de congelamiento puede descongelarla.

Hay una razón práctica por la que la herramienta no lo intenta de todos modos: las revocaciones se agrupan en la menor cantidad posible de transacciones, por lo que una cuenta congelada haría fallar a todos los demás delegados incluidos en su transacción. Excluirla permite que el resto se complete correctamente.

La versión completa: cerrar la cuenta

Esta es la parte que suele pasarse por alto. El delegado es un campo almacenado en la cuenta de token. Sin cuenta, no hay delegado.

Por lo tanto, si el token en cuestión es algo que de todos modos no quieres —un token de spam, una memecoin abandonada o un airdrop fraudulento que te indujo a firmar algo—, quemarlo y cerrar su cuenta elimina permanentemente al delegado como efecto secundario. Más que revocar el permiso, estás eliminando aquello a lo que se aplicaba. Y, a diferencia de una simple revocación, cerrar la cuenta devuelve el depósito de renta de ~0.00204 SOL que mantenía.

Por eso, la limpieza es la respuesta más completa para cualquier token que no tengas intención de conservar:

AcciónDelegado eliminadoToken conservadoSOL recuperado
RevocarNo
Quemar y cerrar la cuentaNo0.002 SOL

Revoca si quieres conservar el token. Quémalo y cierra la cuenta si no quieres conservarlo.

Si crees que firmaste una transacción maliciosa, revocar no basta por sí solo. Un delegado es solo una de las varias cosas que un atacante podría haber obtenido y, si tu frase semilla quedó expuesta, ninguna acción en la cadena servirá. Primero transfiere tus activos valiosos a una billetera nueva y luego ocúpate de la comprometida.

El modelo de amenaza realista

Para la mayoría, el resumen más honesto es este: revisa tus delegados si firmaste algo de lo que te arrepientes, retira de la lista todo lo que ya no quieras tener listado y elimina los tokens basura a los que suelen vincularse las aprobaciones maliciosas.

El diseño de Solana evita que acumules durante años aprobaciones ilimitadas como ocurre en una billetera de Ethereum. Lo que probablemente tengas son unos cientos de cuentas de tokens abandonadas, cada una con un depósito reembolsable que tiene valor real y cuya recuperación tarda aproximadamente un minuto.

Revocar delegados

Revocar delegados

Analiza tu billetera para encontrar y eliminar los delegados a nivel de cuenta que hayas autorizado. Sin comisiones: solo pagas la tarifa de red.

Probar ahora

Lecturas relacionadas

Preguntas frecuentes

¿Cómo se revocan los permisos de tokens en Solana?

Usa la instrucción Revoke del programa Token de SPL en la cuenta de token que tenga un delegado configurado. Solo requiere la cuenta de token y tu firma como propietario. Desde la línea de comandos, es spl-token revoke seguido de la dirección de la cuenta de token.

¿Qué es un delegado en una cuenta de token de Solana?

Un delegado es una dirección a la que autorizaste a transferir o quemar hasta un importe determinado desde una cuenta de token específica. Los mercados usan delegados para listar NFT, y los programas de staking los usan para realizar depósitos. Cada cuenta de token solo puede tener un delegado a la vez.

¿Las aprobaciones de Solana son tan arriesgadas como las de Ethereum?

Son más limitadas. Un delegado de Solana se aplica a una sola cuenta de token con un límite de importe fijo, y aprobar un delegado nuevo reemplaza al anterior en lugar de acumularlo. Las aprobaciones de Ethereum se aplican por contrato de token, suelen ser ilimitadas y se acumulan indefinidamente.

¿Cerrar una cuenta de token elimina su delegado?

Sí, por completo. El delegado es un campo almacenado en la propia cuenta de token, por lo que deja de existir junto con ella cuando se cierra. Quemar un token no deseado y cerrar su cuenta elimina cualquier delegado como efecto secundario.

¿Cómo sé si una cuenta de token tiene un delegado configurado?

Busca tu dirección en un explorador de bloques y revisa cada cuenta de token, donde se muestra el campo del delegado si hay uno configurado. La CLI de spl-token también lo informa, y cualquier billetera que muestre datos sin procesar de la cuenta mostrará el mismo campo.

¿Por qué no puedo revocar una cuenta de token congelada?

El programa Token de SPL rechaza una revocación en una cuenta congelada y devuelve el error AccountFrozen, porque el congelamiento bloquea los cambios de autoridad, no solo las transferencias. Los NFT programables y los activos en staking suelen estar congelados. La cuenta debe descongelarse antes de poder eliminar su delegado, y quemar no es una solución alternativa porque una cuenta congelada también rechaza las quemas.

¿Puede una revocación eliminar un delegado permanente de Token-2022?

No. Un delegado permanente se configura en la acuñación, no en tu cuenta de token, y obtiene autoridad para transferir y quemar en todas las cuentas que tengan ese token. Es una propiedad del propio token, por lo que ninguna instrucción de revocación puede eliminarlo. La única forma de evitar esa exposición es dejar de tener el token.

Cómo revocar permisos de tokens en Solana | Sol Incinerator