Como revogar aprovações de tokens no Ethereum e em outras redes EVM
Aprenda passo a passo como revogar aprovações no Ethereum e em outras redes EVM, quais aprovações são arriscadas, quanto custa revogar e o que isso não consegue desfazer.
Para revogar aprovações de tokens no Ethereum ou em outra rede EVM, conecte sua carteira a um verificador de aprovações confiável (como o Revoke.cash ou a ferramenta de aprovações de tokens de um explorador de blocos), selecione a rede, revise quais contratos podem gastar seus tokens e envie uma transação de revogação para os que você não usa mais ou não reconhece. Cada revogação é uma transação on-chain que define o limite como zero e custa uma pequena taxa de gas.
As aprovações são um dos riscos mais negligenciados da autocustódia. Toda vez que você negocia em uma corretora descentralizada ou usa um app DeFi, provavelmente concede a um contrato permissão para movimentar seus tokens. Essas permissões ficam ativas indefinidamente. Se esse contrato for explorado depois, ou se você tiver aprovado um contrato malicioso, seus tokens podem ser levados sem nenhuma nova assinatura sua.
Como funcionam as aprovações de tokens
Os tokens ERC-20, padrão da maioria dos tokens no Ethereum, incluem uma função approve. Quando você aprova um contrato, define um limite (allowance): o valor máximo daquele token que o contrato pode transferir do seu endereço.
Muitos apps pedem um limite ilimitado para que você não precise aprovar de novo a cada negociação. É prático, mas significa que o contrato pode movimentar todo o seu saldo daquele token a qualquer momento, agora ou no futuro.
NFTs funcionam de forma parecida. A função setApprovalForAll dá a um operador permissão para movimentar todos os NFTs de uma coleção que você possui, e é por isso que os drainers de NFT miram nela.
Existe também um padrão mais recente: as assinaturas permit. Alguns tokens e sistemas (incluindo o Permit2 da Uniswap) permitem conceder um limite assinando uma mensagem off-chain em vez de enviar uma transação. Essas assinaturas parecem inofensivas, mas podem autorizar transferências. Nosso artigo sobre ice phishing e assinaturas permit aborda esse risco.
Passo a passo: como revogar aprovações
- 1Abra uma ferramenta confiável diretamente. Digite o endereço você mesmo ou use um favorito. Opções conhecidas incluem o Revoke.cash e o verificador de aprovações de tokens do Etherscan e de outros exploradores. Existem sites falsos de “revoke”, então nunca siga links de mensagens diretas ou anúncios.
- 2Conecte sua carteira ou cole seu endereço. Colar um endereço permite ver as aprovações sem conectar. Você só precisa conectar para enviar transações de revogação.
- 3Escolha a rede. As aprovações são por rede. Verifique o Ethereum e depois cada rede que você usa, como Arbitrum, Optimism, Base, Polygon ou BNB Smart Chain.
- 4Revise a lista. Para cada aprovação, você verá o token, o contrato autorizado a gastar, o valor do limite e, muitas vezes, quando ela foi concedida.
- 5Identifique o que revogar. Priorize limites ilimitados, contratos que você não reconhece, apps que não usa mais e qualquer contrato envolvido em um exploit conhecido.
- 6Clique em revogar e confirme na carteira. Leia o pedido da carteira: deve ser uma chamada
approvedefinindo o limite como zero (ou uma chamadasetApprovalForAlldefinida como false, no caso de NFTs). - 7Repita em cada rede. Depois, atualize para confirmar que as aprovações sumiram.
Quais aprovações revogar primeiro
| Tipo de aprovação | Nível de risco | Ação |
|---|---|---|
| Limite ilimitado para contrato desconhecido | Alto | Revogar imediatamente |
setApprovalForAll em uma coleção de NFT valiosa | Alto | Revogar, a menos que esteja listando ativamente |
| Limite ilimitado para um app que você não usa mais | Médio | Revogar |
| Limite restrito para um app confiável que você usa com frequência | Baixo | Manter ou reduzir |
| Aprovação para um contrato envolvido em um exploit | Alto | Revogar imediatamente |
O que a revogação não consegue fazer
Revogar é prevenção, não cura. Isso não vai:
- Devolver tokens que já foram transferidos.
- Proteger você se sua frase-semente ou chave privada tiver sido roubada. Nesse caso, o atacante pode assinar qualquer coisa; mova os ativos restantes para uma carteira nova, como descrito em o que fazer imediatamente se sua carteira for comprometida.
- Cancelar de forma confiável assinaturas permit off-chain que você já tenha dado. Elas seguem suas próprias regras de expiração e nonce, então, se você assinou um permit suspeito, a resposta mais segura é mover os tokens afetados para uma carteira nova.
Reduza o risco das aprovações daqui em diante
- Defina limites personalizados. Muitas carteiras permitem editar o valor no pedido de aprovação. Aprove só o que pretende gastar.
- Use uma carteira separada para experimentos. Mantenha uma carteira descartável para apps novos, mints e airdrops, e guarde os fundos de longo prazo em uma carteira que nunca se conecta a sites desconhecidos.
- Leia todo pedido de assinatura. Se um site pedir para você assinar uma mensagem que você não entende, pare.
- Revise as aprovações regularmente. A cada poucos meses e depois de experimentar qualquer app novo.
- Verifique também os sites conectados. Conexão e aprovação são coisas diferentes; veja permissões da carteira e sites conectados.
Erros comuns
- Usar uma ferramenta de revogação falsa encontrada por meio de um anúncio de busca ou de uma resposta nas redes sociais.
- Revogar no Ethereum, mas esquecer a mesma carteira nas redes de camada 2.
- Supor que desconectar um site na carteira remove as aprovações dele. Não remove.
- Ignorar tokens de baixo valor; os atacantes costumam levar tudo o que conseguem.
Conclusão
Aprovações de tokens são permissões permanentes que duram muito além do momento em que você as concedeu. Verificá-las é gratuito, revogá-las é barato, e fazer isso regularmente fecha um dos caminhos mais comuns usados pelos drainers. Torne isso parte da sua rotina, aprove só o que precisa e mantenha suas principais reservas em uma carteira que raramente assina alguma coisa.
Perguntas frequentes
O que é uma aprovação de token?
Uma aprovação de token é uma permissão que você dá a um contrato inteligente para movimentar um token específico da sua carteira, até um valor definido. Corretoras descentralizadas e outros apps DeFi precisam de aprovações para funcionar. A permissão continua ativa até você revogá-la ou até o limite ser usado por completo, mesmo que você nunca mais visite o app.
Revogar uma aprovação custa gas?
Sim. Revogar é uma transação on-chain que define o limite como zero, então você paga uma taxa de rede normal. Na mainnet do Ethereum ela pode ser perceptível; em redes de camada 2 costuma ser barata. Visualizar suas aprovações é gratuito.
Revogar uma aprovação devolve meus tokens roubados?
Não. Revogar só impede transferências futuras por aquele contrato. Tokens que já foram levados não podem ser recuperados com a revogação. Se sua frase-semente ou chave privada foi exposta, revogar não basta; mova os fundos restantes para uma carteira nova.
Com que frequência devo verificar minhas aprovações de tokens?
Um bom hábito é revisá-las a cada poucos meses e depois de qualquer sessão em que você tenha interagido com um app novo ou desconhecido. Verifique também imediatamente se suspeitar que assinou algo malicioso.
