Uma aprovação de token é uma permissão de contrato inteligente que permite que um aplicativo descentralizado (também chamado de dapp) acesse e movimente um tipo específico de token de uma carteira. Sem uma aprovação, nenhum aplicativo pode tocar nos tokens de uma carteira com autocustódia, mesmo que a carteira esteja conectada à interface do aplicativo. A aprovação é o que preenche a lacuna entre conectar uma carteira e realmente permitir que um protocolo use os ativos dentro dela.
As aprovações de token são necessárias para quase toda interação DeFi: trocar tokens em uma exchange descentralizada, depositar em um protocolo de empréstimo, adicionar liquidez a um pool ou listar um NFT em um marketplace. Elas também são uma das mecânicas mais exploradas na segurança de criptomoedas. Os relatórios mensais de segurança cripto da MetaMask rastreiam essas ameaças em detalhes. Por exemplo, o Relatório de Segurança Cripto de Fevereiro de 2026 cobriu um aumento de 207% em exploits de "phishing de assinatura", também conhecido como phishing de aprovação. Entender o que as aprovações de token fazem, como elas persistem e como os invasores podem explorá-las é essencial para qualquer pessoa que use uma carteira com autocustódia.
Aviso: Este conteúdo é apenas para fins educacionais. Não é aconselhamento financeiro, não é uma solicitação e não se destina ao público do Reino Unido. Carteiras cripto e ativos digitais são arriscados e não são adequados para todos os usuários.
Como funcionam as aprovações de token
Aqui está um exemplo comum de aprovações de token: trocar USDC por ETH em uma exchange descentralizada. O contrato inteligente do aplicativo precisa de permissão para retirar o USDC da carteira e executar a negociação. Essa permissão é a aprovação de token.
No nível do contrato, o usuário chama uma função chamada approve() no contrato do token USDC. Essa função recebe duas entradas: o spender (o endereço do contrato inteligente que está sendo autorizado) e o amount (quantos tokens o spender pode movimentar). Assim que a transação de aprovação é confirmada na blockchain, o contrato spender pode chamar transferFrom() para mover até o valor aprovado daquele token da carteira do usuário — sem nenhuma confirmação adicional do usuário.
Há dois detalhes importantes sobre as aprovações de token que todos, especialmente iniciantes, devem conhecer. Primeiro, a aprovação é específica para um token e um spender. Aprovar uma exchange descentralizada (DEX) para gastar USDC não lhe dá acesso a ETH, BTC ou qualquer outro token. Segundo, a aprovação é uma transação na blockchain que tem custo de taxas de rede — é uma etapa separada da troca em si, razão pela qual as interações DeFi frequentemente exigem duas confirmações: uma para aprovar e outra para executar.
Aprovações limitadas vs. ilimitadas
O campo de valor em uma aprovação determina quantos tokens o spender pode acessar.
Uma aprovação limitada autoriza o spender a movimentar apenas um número específico de tokens — digamos, exatamente os 500 USDC necessários para uma troca específica. Depois que esses 500 USDC são transferidos, o limite é consumido. A próxima troca exigirá uma nova aprovação, o que significa outra transação na blockchain e outra taxa de rede.
Uma aprovação ilimitada autoriza o spender a movimentar o valor máximo possível daquele token (tecnicamente, 2^256 − 1, um número muito maior do que o fornecimento total de qualquer token). Isso significa que o contrato pode acessar o saldo total do usuário daquele token, agora e no futuro, sem nunca precisar de outra aprovação. A maioria dos aplicativos solicita aprovações ilimitadas por padrão porque reduz o atrito para o usuário — uma aprovação e todas as transações futuras com aquele token já estão pré-autorizadas.
A conveniência é real, mas o risco também. Uma aprovação ilimitada nunca expira. Se o contrato ao qual ela foi concedida for posteriormente explorado, atualizado de forma maliciosa, ou se o usuário assinou a aprovação em um site de phishing que imitava um aplicativo legítimo, o invasor pode drenar todos os tokens cobertos pela aprovação sem nenhuma interação adicional do usuário. A vítima pode nem perceber que a aprovação existe até que os tokens já tenham desaparecido.
Consideração
Aprovação de token limitada
Aprovação de token ilimitada
Valor autorizado
Específico (ex.: 500 USDC)
Máximo possível (saldo total, indefinidamente)
Persistência
Consumida após a transferência do valor especificado
Permanece ativa até ser revogada manualmente
Atrito para o usuário
Nova aprovação necessária por transação (taxas de rede adicionais)
Uma aprovação cobre todas as transações futuras
Risco se o contrato for explorado
Perda limitada ao valor aprovado
Saldo total do token em risco
Uso comum
Usuários preocupados com segurança, transações de alto valor
Padrão para a maioria dos aplicativos
Como funcionam as aprovações de token Permit2
Em novembro de 2022, a Uniswap Labs implantou um contrato chamado Permit2 para resolver o atrito e o risco das aprovações de token tradicionais. Em 2025, mais de 3,1 milhões de endereços na mainnet Ethereum tinham autorizado o contrato Permit2, e ele se tornou o sistema de aprovação mais amplamente integrado no DeFi, usado pela Uniswap, 1inch, CowSwap e muitos outros protocolos.
A ideia central: em vez de conceder uma aprovação separada na blockchain para o contrato inteligente de cada aplicativo, o usuário concede uma única aprovação ao contrato Permit2. A partir daí, cada interação individual com um aplicativo é autorizada por meio de uma assinatura offchain — uma mensagem assinada na carteira que especifica quais tokens, quantos, qual spender e um prazo após o qual a permissão expira.
As melhorias em relação às aprovações tradicionais são significativas. As assinaturas Permit2 incluem prazos, então permissões desatualizadas expiram automaticamente em vez de persistir para sempre. Nonces impedem que a mesma assinatura seja usada duas vezes. E o usuário assina uma aprovação por token em vez de uma por aplicativo, reduzindo o número total de transações de aprovação na blockchain e suas taxas de rede associadas.
A contrapartida é uma mudança na superfície de ataque. As aprovações tradicionais eram exploradas por meio de permissões dormentes na blockchain — contratos que tinham sido aprovados meses ou anos atrás e foram posteriormente comprometidos. As assinaturas Permit2 são exploradas por meio de phishing no momento da assinatura. Como as autorizações Permit2 usam assinaturas de dados tipados EIP-712, elas aparecem na carteira como um prompt de assinatura em vez de uma confirmação de transação. Um site malicioso pode apresentar o que parece ser uma solicitação rotineira de "assinar esta mensagem" que é, na verdade, uma assinatura Permit2 autorizando a transferência de todo o saldo de tokens do usuário. Nenhuma transação na blockchain. Nenhuma taxa de rede do lado do usuário. Apenas uma assinatura, e então o invasor chama transferFrom().
Como os drainers exploram as aprovações de token
Os wallet drainers são kits de ferramentas de phishing automatizados projetados para extrair aprovações de token — tanto tradicionais quanto Permit2 — das vítimas. Eles operam como drainer-as-a-service (DaaS): um desenvolvedor mantém os contratos inteligentes maliciosos, a infraestrutura de phishing e o pipeline de lavagem de fundos, e afiliados alugam o serviço em troca de uma parte dos fundos roubados (geralmente ficando com 75–95% do que drenam).
Os padrões de ataque de wallet drainer frequentemente seguem uma sequência consistente:
Etapa 1: Isca. A vítima chega a um site de phishing por meio de um resultado de pesquisa patrocinado, um link falso de airdrop, um servidor Discord comprometido ou uma interface de aplicativo clonada. O site parece um protocolo legítimo: mesma identidade visual, mesmo layout, frequentemente uma URL quase idêntica.
Etapa 2: Solicitação de assinatura. O site solicita que a carteira assine uma transação ou assinatura Permit2. O prompt pode parecer uma conexão padrão de aplicativo, uma troca de tokens ou uma reivindicação de airdrop. Na realidade, a assinatura autoriza o contrato do drainer a movimentar os tokens da vítima.
Etapa 3: Drenagem. O invasor chama transferFrom() de uma carteira separada, retirando os tokens aprovados. Kits de drainer sofisticados agrupam múltiplas transferências de tokens — ERC-20s, NFTs e autorizações Permit2 — em uma única multicall, esvaziando a carteira em segundos. Os fundos são roteados por exchanges descentralizadas e bridges cross-chain para obscurecer o rastro.
O detalhe crítico: da perspectiva da blockchain, cada etapa é uma transação válida e autorizada. A vítima assinou a aprovação. O contrato executou o que estava autorizado a fazer. Não há mecanismo no nível do protocolo para revertê-lo.
Algumas carteiras agora simulam transações e assinaturas antes que o usuário as confirme, sinalizando contratos drainer conhecidos e valores de aprovação suspeitos. A MetaMask faz isso por meio de sua integração com o Blockaid. Isso não elimina o risco — um contrato drainer novo pode ainda não estar em nenhum banco de dados de detecção — mas adiciona uma camada entre o prompt de phishing e a confirmação do usuário.
Como revisar e revogar aprovações de token
Revogar uma aprovação de token significa definir o limite para um spender específico de volta a zero. É uma transação na blockchain; tem custo de taxas de rede e deve ser confirmada na carteira, mas remove permanentemente a capacidade daquele contrato de movimentar o token especificado.
Três conceitos são importantes:
Quando revogar. Após terminar de usar um aplicativo e não planejar retornar. Após conceder uma aprovação ilimitada que não é mais necessária. Após qualquer interação que pareceu suspeita — mesmo que nada tenha sido perdido imediatamente. Como prática rotineira: revisões periódicas das aprovações ativas identificam permissões que já cumpriram seu propósito.
O que a revogação custa. Cada revogação é uma transação separada na blockchain com sua própria taxa de rede. Na mainnet Ethereum, isso normalmente custa alguns dólares; em redes layer 2, pode custar frações de centavo. O custo é pequeno em relação à perda potencial de uma aprovação comprometida, mas se acumula se dezenas de aprovações tiverem se acumulado ao longo de meses de atividade DeFi.
O que a revogação não resolve. Revogar uma aprovação impede transferências futuras sob aquela permissão. Não pode reverter uma transferência que já ocorreu. Se um drainer já chamou transferFrom(), os tokens se foram. A revogação é preventiva, não corretiva.
Algumas práticas reduzem a exposição sem eliminar a conveniência das interações DeFi.
Defina aprovações limitadas quando a opção existir. Por exemplo, a extensão MetaMask exibe o valor de aprovação solicitado e permite que os usuários personalizem o limite de gastos antes de confirmar. Definir o limite para o valor realmente necessário para a transação limita o prejuízo caso o contrato seja comprometido posteriormente.
Leia o prompt de assinatura. As assinaturas Permit2 exibem o nome do token, o valor, o endereço do spender e o prazo. Se um prompt de "assinar mensagem" mostrar detalhes de token, não é um login — é uma autorização. Se o valor corresponder ao saldo total do usuário em vez do tamanho esperado da transação, isso é um sinal de alerta.
Verifique o site antes de conectar. Sites drainer replicam interfaces de aplicativos legítimos. Salvar URLs confiáveis nos favoritos e navegar a partir deles — em vez de resultados de pesquisa, links de redes sociais ou mensagens diretas — elimina o mecanismo de isca mais comum.
Revise as aprovações periodicamente. As aprovações ativas se acumulam ao longo de meses de uso DeFi. Uma revisão trimestral usando o verificador de aprovações de um explorador de blocos ou o painel de limites de gastos identifica permissões que não servem mais a nenhum propósito.
Perguntas frequentes sobre aprovações de tokens
Não. Conectar uma carteira compartilha o endereço público e permite que o aplicativo leia os saldos de tokens. Isso não autoriza o aplicativo a movimentar nenhum token. Uma aprovação de token requer uma transação separada na blockchain (para aprovações legadas) ou uma mensagem Permit2 assinada — ambas aparecem como solicitações explícitas na carteira que o usuário deve confirmar.
Não. A função ERC-20 approve() e o Permit2 se aplicam apenas a tokens, não à moeda nativa da blockchain. ETH (e outras moedas nativas como MATIC ou BNB) só podem ser movidos mediante a assinatura de uma transação de transferência direta. No entanto, versões wrapped de moedas nativas (WETH, WMATIC) são tokens ERC-20 e podem ser drenadas por meio de aprovações.
O Permit2 resolve a maior fraqueza das aprovações tradicionais — permissões ilimitadas e inativas que persistem para sempre — adicionando prazos e nonces. Porém, ele introduz um risco diferente: assinaturas offchain que parecem inofensivas podem autorizar grandes transferências. Nenhum dos sistemas é categoricamente mais seguro. O Permit2 é mais seguro contra exploits de aprovações desatualizadas; as aprovações tradicionais são mais seguras contra phishing de assinaturas, pois exigem uma transação na blockchain que as carteiras exibem de forma mais destacada.
Uma aprovação ilimitada de token concede a um smart contract permissão para movimentar qualquer quantidade de um token específico da carteira, sem prazo de expiração. A maioria dos aplicativos solicita aprovações ilimitadas por padrão para reduzir o número de transações necessárias. O risco: se o contrato aprovado for comprometido, o invasor pode esvaziar todo o saldo daquele token na carteira sem nenhuma confirmação adicional. As aprovações ilimitadas permanecem ativas até que o usuário as revogue manualmente.
Assine Alpha e receba o alpha de mercado direto na sua caixa de entrada
Traduzido por IA. Pode conter erros. Por favor, verifique sempre as informações.
Avalie a tradução
Este artigo foi escrito por:
MetaMask
A MetaMask, anteriormente Consensys Software Inc, é a maior plataforma financeira self-custodial do mundo, oferecendo às pessoas um único lugar para guardar, gastar, economizar e fazer seu dinheiro crescer em ativos cripto e tradicionais. A empresa está construindo a plataforma de consumo onde isso acontece, reunindo pagamentos, poupança, investimentos e ativos digitais em uma experiência integrada e fluida. Tendo crescido a partir da carteira self-custodial mais amplamente utilizada do mundo, a MetaMask oferece aos usuários controle direto sobre seu dinheiro e ativos, com alcance em aproximadamente 190 países. A MetaMask desempenhou um papel fundamental no crescimento do Ethereum desde 2016. Hoje, a MetaMask está no centro da economia blockchain, construindo o sistema operacional para o Open Money e colocando as pessoas em total controle de suas vidas financeiras.