Apenas para fins educacionais; não constitui recomendação de investimento. Investimentos podem causar perdas.
Resposta direta
Autorização de carteira, ou aprovação de token, é a allowance on-chain do proprietário para um único spender. approve(spender, amount) registra o valor ERC-20 e transferFrom pode usá-lo dentro do saldo restante. Não entrega chave privada nem outros tokens. A aprovação muda estado; assinatura de login costuma ser off-chain. ERC-2612 permit é dado assinado que cria allowance sem gás pago pelo proprietário, mas continua sendo autorização. ETH não usa allowance ERC-20. Confira token, spender, valor, duração e rede; conectar o site não é permissão de gasto.
A conclusão desta revisão não prova que um ativo, transação ou sistema seja seguro.
Como funciona
- O usuário envia approve ao contrato; 0 significa nenhum restante e um valor enorme aparece como ilimitado.
- O spender usa transferFrom depois; o contrato verifica saldo e allowance, transfere e normalmente reduz o valor.
- A alteração é uma transição on-chain; trocar valores positivos pode competir no mempool, então use zero primeiro confirmado quando necessário.
- ERC-2612 permit é mensagem assinada: verifique token, chain ID, nonce, prazo, spender e valor, pois terceiros podem enviá-la.
- Aprove apenas spender verificado e valor necessário, simule a chamada e confira receipt, eventos, saldo e allowance. Revogue com 0 na rede certa; não desfaz transferências confirmadas.
Exemplo
Alice tem 100 USDC e aprova um router verificado por 40. Ele pode gastar no máximo 40 USDC, não ETH nem outro token; após 15 restam 25. Uma aprovação ilimitada também cobre depósitos futuros, então verifique o contrato, use valor finito e envie approve(router, 0) quando terminar.
Riscos
- Spender malicioso ou atualizado pode usar todos os tokens da allowance.
- A aprovação ilimitada expõe depósitos futuros.
- Rede, contrato, endereço, decimais ou calldata incorretos podem ocultar risco.
- Alteração ou revogação pendente pode competir com transferFrom; zero não reverte transferência executada.
- Assinaturas permit podem ser enviadas depois; desconectar o site não as invalida.
- Tokens não padrão, com taxa, rebasing, pausados ou callback podem agir diferente; confira estado final.
Equívocos comuns
- “Conectar a carteira concede acesso.” A autoridade vem de aprovação, permit ou transação confirmada.
- “Assinatura sem gás é inofensiva.” Um relayer pode enviá-la depois.
- “Desconectar o site revoga a aprovação.” Conexão e allowance on-chain são separadas.
- “Ilimitado permite retirar tudo imediatamente.” Ainda são necessários chamada, saldo e implementação compatíveis, mas não há limite.
- “Simulação bem-sucedida prova segurança.” Verifique rede, calldata, destinatário, código, receipt e saldos.
Tópicos relacionados
- Tokens ERC-20
- Corrida de aprovação ERC-20
- Nonce e prazo do ERC-2612
- Risco de assinatura Permit2
- Simulação de transação
Fontes
- ERC-20: Token Standard - Ethereum Improvement Proposals (acessado em: 2026-08-22)
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (acessado em: 2026-08-22)
- Ethereum security and scam prevention - Ethereum.org (acessado em: 2026-08-22)