O WalletConnect é um protocolo de mensageria que transporta mensagens criptografadas entre um dApp e uma carteira, permitindo que o dApp solicite assinaturas sem nunca tocar na sua chave privada. Escanear o QR code dele cria um pareamento; aprovar a proposta de sessão do dApp cria então uma sessão que lista as chains e os métodos que ele pode solicitar — permissão para pedir, não permissão para agir; toda movimentação de ativos ainda exige a sua assinatura. Desconectar encerra a sessão localmente, mas não revoga aprovações de token onchain. Na WATS, as sessões são aprovadas no WATS Mobile App.
O Que o WalletConnect Realmente É (e o Que Ele Não É)
O WalletConnect é um protocolo de mensageria. Sua única função é transportar mensagens entre um dApp e uma carteira, para que os dois conversem sem que o dApp jamais toque na sua chave privada. Quando um site exibe um QR code e diz conectar carteira, esse código normalmente é um convite de pareamento do WalletConnect.
Ele não é uma carteira, um custodiante nem uma blockchain: não guarda fundos e não assina nada. Também não é uma extensão de navegador, que injeta um provider diretamente na página. É mais conhecido pelo caso entre dispositivos — em 2026, ainda a forma mais comum de uma carteira de celular conversar com um dApp de desktop — mas é igualmente o caminho padrão no mesmo dispositivo, abrindo por deep link um dApp do navegador móvel dentro do app de carteira no mesmo celular.
O Que Acontece Quando Você Escaneia Aquele QR Code
O QR code codifica uma URI de pareamento: um identificador de tópico, um identificador de protocolo de relay e uma chave simétrica. Essa chave é transportada literalmente, e não derivada pela carteira — por isso uma URI de pareamento vazada ou capturada em screenshot é sensível. Os dois lados passam então a trocar mensagens criptografadas no tópico de pareamento.
O pareamento é apenas o handshake. A sessão que carrega cada solicitação de assinatura roda em um tópico separado, sob uma chave própria que o dApp e a carteira negociam diretamente por meio de uma troca X25519 expandida com HKDF. A chave de pareamento protege as mensagens do nível de pareamento, nunca suas solicitações de transação.
O relay é a parte que as pessoas entendem errado: ele roteia apenas texto cifrado e metadados, e não consegue ler os payloads, alterá-los ou assinar em seu nome. Se ele cair, sua sessão para de funcionar, mas seus fundos permanecem intactos — suas chaves nunca saíram do seu dispositivo. O dApp então envia uma proposta de sessão e sua carteira a exibe como uma tela de aprovação; tudo depois disso depende do que você aprovar. O passo a passo, clique a clique, está no nosso guia sobre como conectar uma carteira a um dApp.
Sessões, Namespaces e Permissões: O Que um dApp Pode Pedir
Uma proposta de sessão é estruturada, não livre. Ela lista namespaces: as chains, os métodos e os eventos que o dApp quer — a mainnet do Ethereum, uma L2 ou a Solana; assinatura de transações e assinaturas de dados tipados; eventos de troca de chain e de troca de contas.
Atenção à direção: o dApp solicita chains, métodos e eventos, enquanto as contas em si são escolhidas na sua carteira e devolvidas na aprovação. A divisão da v2 também importa. Namespaces obrigatórios são tudo ou nada — atendidos por completo ou a proposta é rejeitada de imediato — mas, em 2026, esse é o caminho legado, descontinuado e desencorajado em favor dos namespaces opcionais, que uma carteira pode aprovar parcialmente. Uma boa carteira mostra os dois, para você saber o que é negociável.
Aprovar uma sessão faz duas coisas: compartilha seus endereços públicos das chains aprovadas e concede ao dApp permissão para enviar solicitações dos métodos aprovados. Permissão para pedir não é permissão para agir.
Solicitações de Assinatura: Por Que uma Conexão Não É uma Aprovação
Uma vez que a sessão existe, cada ação relevante chega como uma solicitação separada que você precisa aprovar explicitamente: um swap vira uma solicitação de transação, um login vira uma solicitação de assinatura de mensagem, um anúncio em marketplace vira uma assinatura de dados tipados.
Essa é a fronteira de segurança que importa. Um dApp conectado não consegue mover seus ativos silenciosamente: isso exige uma assinatura, e uma assinatura exige seu dispositivo e sua aprovação. O que ele consegue fazer é apresentar uma solicitação enganosa cujas consequências não são óbvias na tela.
Duas categorias merecem desconfiança extra: a aprovação de token, que dá a um contrato permissão contínua para gastar um token muito depois de a sessão acabar, e a assinatura offchain — aquela sem custo de gas — que pode autorizar uma ordem ou um permit que um contrato resgata depois. Nenhuma das duas parece dramática.
Onde o WalletConnect Dá Errado: Sessões Esquecidas, QR Codes Falsos e Assinatura às Cegas
Sessões esquecidas. As sessões têm prazo de validade, mas as pessoas acumulam dezenas de conexões ativas com sites que usaram uma única vez. Cada uma é um canal que pode enviar uma solicitação à sua carteira a qualquer momento — mais superfície para uma aprovação mal lida.
QR codes falsos ou trocados. Um atacante que controla uma página — um domínio parecido, um frontend sequestrado — pode exibir a URI de pareamento dele em vez da verdadeira. Você conecta com sucesso, mas a ele. Essa é a armadilha da nossa análise sobre como funcionam os wallet drainers: a conexão dá certo, e o estrago chega na solicitação de assinatura que vem em seguida.
Assinatura às cegas. Se sua carteira não consegue decodificar uma solicitação e mostra dados brutos, você está confiando na descrição que o próprio site faz da transação dele. Encare isso como motivo para parar, não como formalidade.
Como Revisar e Revogar Sessões Ativas (e Por Que as Aprovações São Outra Coisa)
Toda carteira compatível com WalletConnect mantém uma lista de sessões ativas, geralmente em conexões ou apps conectados. Leia essa lista como um inventário: cada item nomeia o dApp e as chains e contas que ele consegue ver.
Desconectar não custa nada: sua carteira publica uma mensagem de exclusão de sessão pelo relay e remove a sessão do próprio estado — sem transação, sem gas, sem registro onchain. Ainda assim, trate o encerramento como melhor esforço: se o par estiver offline ou o relay inacessível, o dApp pode continuar tratando a sessão como ativa até a entrega ou a expiração.
O ponto que confunde as pessoas: desconectar uma sessão não revoga uma aprovação de token. As permissões de sessão vivem no estado local da sua carteira; as aprovações de token vivem onchain, concedidas por uma transação que você assinou. Encerrar a sessão impede novas solicitações, mas deixa a allowance intacta — revogá-la é um passo onchain separado, explicado no nosso tutorial sobre como revogar aprovações de token. Faça as duas coisas.
Como a WATS Lida com Conexões a dApps
Na WATS, as sessões do WalletConnect são tratadas pelo WATS Mobile App: ele escaneia o QR code e exibe cada proposta e cada solicitação de assinatura para aprovação no seu celular. A custódia funciona da mesma forma em todos os produtos WATS, incluindo a WATS Hot Wallet — você guarda suas chaves e a WATS nunca guarda chave alguma, então nenhum dApp conectado consegue mover fundos sem a sua assinatura.
O que muda é a camada de taxas. Cada ação — transferências, swaps, staking — é cobrada em um único token, o ATS, em vez do gas nativo da chain: em EVM por meio de um paymaster ERC-4337; em Solana e TON, por meio de um fee-payer/relayer equivalente. Como o ATS é um OFT da LayerZero, um único saldo cobre os três ecossistemas. O ATS arrecadado é queimado, partindo de 100.000.000 rumo a um piso de 30.000.000. A WATS é a primeira e única carteira a combinar taxas em token único com ERC-4337 + OFT, cobradas em vez do gas nativo, com essa queima.
Perguntas frequentes
Conectar uma carteira via WalletConnect dá a um dApp acesso aos meus fundos?
Não. Uma sessão permite que o dApp veja seus endereços públicos das chains aprovadas e envie solicitações a você. Qualquer ação que movimente ativos exige uma assinatura que você aprova no seu próprio dispositivo, então a conexão sozinha não consegue gastar nada. Na WATS, essas propostas e solicitações de assinatura são exibidas para aprovação no WATS Mobile App e, como a WATS nunca guarda chave alguma, nenhum dApp conectado consegue mover fundos sem a sua assinatura.
Desconectar uma sessão do WalletConnect revoga as aprovações de token?
Não, são coisas separadas. A sessão vive no estado local da sua carteira e termina sem gas no momento em que você a desconecta ali. Já a aprovação de token vive no contrato do token, onchain, e continua ativa até você enviar uma transação de revogação.
O servidor de relay do WalletConnect consegue ler minhas transações ou roubar minhas chaves?
Não. No WalletConnect v2, a sessão que carrega suas solicitações de transação e de assinatura é criptografada com uma chave que o dApp e sua carteira negociam diretamente entre si por meio de uma troca X25519 — essa chave nunca é exposta ao relay. A chave simétrica transportada na URI de pareamento protege apenas as mensagens do nível de pareamento. O relay roteia texto cifrado e metadados, e sua chave privada nunca sai da sua carteira em nenhum ponto do fluxo.

