Aprovação de NFT: Como Revogar Permissões | Ethereum IA
Entenda setApprovalForAll em NFTs ERC-721 e ERC-1155: alcance da permissão, como revisar e revogar, riscos de ordens assinadas e cuidados na carteira Ethereum.
Para revogar uma permissão ampla de NFT, é preciso desautorizar o operador no contrato da coleção, normalmente com setApprovalForAll(operador, false), e confirmar a mudança na rede correta. Desconectar a carteira do site não basta. A autorização permite movimentar os tokens daquele contrato pertencentes à sua conta, não todos os ativos da carteira. No ERC-721, também pode existir uma aprovação individual por tokenId, que exige revisão separada.
Este guia explica o alcance das permissões, como verificar o estado atual e o que a revogação não resolve. É conteúdo educativo, sem recomendação de investimento ou de marketplace.
O que é setApprovalForAll
Os padrões oficiais ERC-721 e ERC-1155 definem a função setApprovalForAll. Ela recebe dois parâmetros: o endereço do operador, que poderá agir em nome do proprietário, e um valor booleano, true para autorizar ou false para desautorizar.
O operador pode ser um contrato de marketplace, uma infraestrutura de transferência ou outro endereço. A autorização serve para que ele movimente tokens sem que o proprietário assine cada transferência individualmente. Isso facilita vendas e outras aplicações, mas cria uma permissão persistente.
A consulta isApprovedForAll(proprietário, operador) mostra se aquela autorização está ativa. O evento ApprovalForAll registra uma alteração no histórico; encontrar um evento antigo com true não prova que a permissão continua ativa hoje. Uma transação posterior pode ter revogado a autorização.
Para entender o token em si, consulte o guia de NFTs no Ethereum. Aqui, o foco é a permissão de transferência, não a escolha de uma coleção.
“For all” significa todos os NFTs da carteira?
Não: significa todos os tokens do proprietário dentro daquele contrato. A identidade relevante inclui rede, contrato do token, proprietário e operador. O nome comercial da coleção não é suficiente para identificar o alcance.
Imagine uma carteira com três NFTs no contrato A, dois no contrato B e saldo de ETH. Uma autorização setApprovalForAll no contrato A permite ao operador transferir os três NFTs de A. Por essa permissão isolada, ele não recebe autorização sobre B, sobre tokens ERC-20 ou sobre o ETH nativo.
O alcance também não fica limitado aos NFTs que você tinha no momento da aprovação. Enquanto a autorização continuar ativa, ela pode permitir movimentar outros tokens daquele contrato que cheguem depois à mesma conta. Aprovar uma coleção quando a carteira está vazia não elimina a exposição futura.
No ERC-1155, um contrato pode administrar vários tipos de token e quantidades por identificador. A autorização do operador abrange esses tipos dentro do contrato, não apenas o item mostrado na página do marketplace.
Esses limites descrevem os padrões. Contratos personalizados, contas inteligentes e transações que agrupam várias ações precisam de análise própria: um único pedido na carteira pode fazer mais que a aprovação destacada pela interface.
Aprovação individual, operador e ordem de venda
| Mecanismo | Alcance típico | Como revisar ou encerrar |
|---|---|---|
approve(endereço, tokenId) no ERC-721 | Um NFT específico | Consultar getApproved(tokenId); o proprietário pode aprovar o endereço zero para remover a aprovação individual |
setApprovalForAll(operador, true) no ERC-721 | NFTs do proprietário naquele contrato | Consultar isApprovedForAll; desautorizar o operador com false |
setApprovalForAll(operador, true) no ERC-1155 | Saldos dos tipos de token do proprietário naquele contrato | Consultar isApprovedForAll; desautorizar o operador com false |
| Ordem de venda assinada fora da blockchain | Condições e itens definidos pelo protocolo | Conferir validade e mecanismo de cancelamento do marketplace |
O ERC-1155 padrão não define a aprovação individual approve do ERC-721. Também não usa o limite numérico de gasto típico das aprovações ERC-20. Portanto, não espere encontrar uma caixa para limitar uma autorização de operador a “um NFT” ou “R$ 100”.
No ERC-721, uma transferência limpa a aprovação individual daquele token. Isso não equivale a revogar a autorização ampla de operador registrada para a conta. Da mesma forma, remover uma aprovação individual não elimina um setApprovalForAll ainda ativo.
Como revisar permissões sem assinar nada
Comece por uma consulta pública. Verificar permissões não exige fornecer seed phrase, chave privada ou assinar uma transação. Ferramentas podem oferecer conexão por conveniência, mas os dados on-chain podem ser consultados pelo endereço público.
- Identifique a rede. Ethereum mainnet, Base e Arbitrum mantêm estados independentes. A mesma aparência de endereço não torna as permissões iguais.
- Confirme o contrato do token. Compare o endereço completo com fontes oficiais independentes, não apenas nome, símbolo ou imagem. Veja o guia de verificação de contratos de tokens.
- Identifique cada operador. Registre o endereço completo e a finalidade conhecida. Um rótulo no explorador ajuda, mas não substitui a conferência.
- Consulte o estado atual. Para autorização ampla, procure
isApprovedForAllcom sua conta como proprietário. Para ERC-721, confira tambémgetApproveddos NFTs relevantes. - Confira cobertura da ferramenta. Uma lista de permissões ERC-20 não é inventário de NFTs. O Token Approval Checker do Etherscan é um exemplo de interface de revisão; confirme padrão e rede atendidos antes de interpretar resultados.
Funções de leitura em um explorador não alteram a blockchain. Já a aba de escrita solicita transações reais. Se você não entende a diferença ou não consegue confirmar o contrato, não improvise uma chamada manual.
Uma ferramenta pode depender de indexação e não listar tudo. Por isso, ausência em uma tela não prova inexistência de autorização. A consulta ao contrato correto é o ponto de verificação técnico, desde que sua implementação siga o padrão.
Como funciona a revogação
Para uma permissão ampla, a mudança esperada é setApprovalForAll com o mesmo operador e false, enviada ao contrato do NFT, na rede em que a autorização existe.
Antes de confirmar, revise:
- contrato de destino: deve ser o do token, não um endereço arbitrário apresentado como “central de segurança”;
- operador: deve corresponder à permissão que você quer remover;
- parâmetro de autorização: deve indicar desativação, não
true; - ações adicionais: não devem aparecer transferências ou novas autorizações inesperadas;
- taxa e rede: a transação precisa ser custeada conforme o funcionamento da rede e da carteira.
Na Ethereum mainnet, uma transação comum paga gas em ETH. A chamada padrão de revogação não exige enviar um valor de ETH ao operador; taxa de rede não é depósito para “liberar” NFTs. Carteiras com patrocínio de gas podem ter fluxos diferentes.
Depois, aguarde a confirmação e consulte novamente isApprovedForAll. O resultado esperado para aquela combinação de proprietário e operador é false. Salve o hash e confira o resultado no explorador. Uma transação revertida não conclui a mudança, mesmo que tenha consumido gas.
Para uma aprovação individual ERC-721, o proprietário pode usar approve com o endereço zero e o tokenId correto. Essa operação não substitui a revisão das autorizações amplas. Não copie parâmetros de tutoriais sem entender o contrato e o ativo envolvidos.
Por que desconectar ou revogar não cancela tudo
Desconectar a MetaMask de um site encerra a conexão da interface. Não apaga permissões on-chain nem invalida automaticamente mensagens assinadas.
Uma ordem de marketplace pode ser assinada fora da blockchain e executada depois. Revogar o operador necessário à transferência pode impedir sua execução por aquela via, mas não necessariamente cancela a ordem. Se você reaprovar o operador e a ordem continuar válida, ela pode voltar a ser executável, dependendo das regras do protocolo.
Por isso, trate como ações distintas:
- desconectar a interface;
- revogar a autorização de transferência;
- cancelar ordens e outras autorizações assinadas pelo mecanismo do protocolo.
O cancelamento também pode exigir uma transação. Remover um anúncio da tela não prova cancelamento criptográfico da ordem. A documentação do marketplace precisa explicar validade, prazo e cancelamento. Veja também os riscos de assinaturas e phishing, sem presumir que todos os protocolos usam o mesmo mecanismo.
Se a aprovação foi feita em um site suspeito
Pare de usar o site e não aceite ajuda por mensagem direta. Não forneça a frase de recuperação a uma suposta ferramenta de revogação. Preserve domínio, horário, rede, contrato, operador e hashes relevantes.
A revogação só produz efeito depois de incluída com sucesso na rede. Enquanto a permissão estiver ativa, um operador malicioso pode tentar transferir os tokens. Não há garantia de que uma revogação enviada a tempo será confirmada antes de uma transferência concorrente.
Se a chave privada ou seed phrase vazou, remover um operador não restaura a segurança da conta: quem controla a chave pode criar novas autorizações. Esse é um incidente diferente, tratado no guia de carteira Ethereum roubada. Revogação também não recupera NFTs já transferidos nem desfaz vendas concluídas.
Registros úteis para brasileiros
Guarde rede, endereço da conta, contrato do NFT, tokenId quando aplicável, operador, estado encontrado, data, hash da revogação e evidência da verificação posterior. Se houve venda ou transferência não reconhecida, preserve também ordens, comprovantes e comunicações.
Esses registros ajudam a reconstruir o incidente, mas não provam sozinhos a identidade civil de quem controla um endereço. O guia de comprovantes on-chain explica essa diferença.
Uma mudança técnica de permissão não deve ser confundida automaticamente com venda de NFT. O tratamento fiscal das operações relacionadas depende dos fatos e das regras aplicáveis ao período. Consulte a Receita Federal e profissional habilitado; este texto não estabelece isenção, tributação ou obrigação declaratória para seu caso.
Perguntas frequentes
Um marketplace legítimo pode pedir setApprovalForAll?
Sim. A função tem uso legítimo para transferências autorizadas. Isso não torna qualquer pedido seguro: domínio, contrato, operador e finalidade precisam ser verificados. Uma marca conhecida pode ser imitada por um site falso.
Revogar um operador revoga os outros?
Não. A autorização é específica por proprietário, operador e contrato, em determinada rede. Desautorizar um endereço não desautoriza automaticamente outros operadores ou outras coleções.
Uma carteira de hardware impede uma aprovação perigosa?
Não. Ela protege as chaves, mas pode assinar uma autorização prejudicial se o usuário a confirmar. A assinatura cega continua sendo um risco.
Posso guardar NFTs na mesma carteira usada para testar sites?
Isso concentra exposição. Separar carteiras por finalidade reduz o conjunto de ativos afetados por uma autorização ruim, mas não elimina risco nem substitui a leitura das transações.
Checklist final
- Identifiquei rede, contrato do token, proprietário e operador.
- Diferenciei aprovação individual, autorização ampla e ordem assinada.
- Consultei o estado atual, não apenas eventos antigos.
- A revogação desativa a permissão correta e não adiciona ações inesperadas.
- Confirmei o resultado depois da inclusão da transação.
- Revisei ordens ainda válidas separadamente.
- Guardei evidências e não tratei revogação como recuperação de ativos.
Aviso legal: Este conteúdo é exclusivamente informativo e educativo. Não constitui recomendação de investimento nem aconselhamento financeiro, jurídico, tributário ou técnico individualizado. NFTs, carteiras e contratos inteligentes envolvem riscos de fraude, falhas, erro operacional e perda total. Nenhuma ferramenta ou revogação garante segurança ou recuperação de ativos. Consulte fontes oficiais e profissionais qualificados para situações concretas.
Radar Brasil
Quer acompanhar Ethereum com contexto brasileiro?
Receba um resumo editorial sobre regulação, segurança, carteiras, staking e impostos no Brasil. Conteúdo educacional, sem recomendação individual de investimento.
Você pode cancelar quando quiser. Veja a Política de Privacidade.