No código aberto do Telegram Web K — a versão web em web.telegram.org/k — a carteira Gram apareceu por completo em 30 de outubro: com saldo, histórico, envio e recebimento, frase secreta, itens colecionáveis, transferências em chats e TON Connect. Em 2 de novembro, ela foi escondida: a constante WALLET_RELEASED está definida como false, e enquanto não for alterada manualmente, nenhum item de menu, link ou botão levará à carteira. No site web.telegram.org/k, a carteira ainda não está disponível — a build lá é de 30 de outubro, compilada quatro horas e meia antes do commit da carteira. Na segunda versão web, Web A, a carteira já está na build de produção: ela é exibida pelo server flag wallet_available, o mesmo usado pelos aplicativos para iOS e Android. Isso afeta aqueles que usam o Telegram pelo navegador.
O que está no código do Web K
A carteira foi incorporada em um único commit em 30 de outubro às 19:18 UTC: 284 arquivos, 48.483 linhas adicionadas, 375 removidas. A descrição do commit menciona os clientes para iOS e Android como referência. O que ela contém:
| Seção | Funcionalidade |
|---|---|
| Saldo | valor em Gram e na moeda selecionada |
| Histórico | páginas de operações são armazenadas em cache |
| Envio | para contato, por username, para endereço ou domínio TON DNS, com comentário |
| Recebimento | endereço, QR-code, recarga |
| Frase secreta | backup, exportação, verificação de palavras |
| Backup de chave criptografada | ativação e desativação; ao desativar, é possível girar para uma nova frase secreta |
| Carteira antiga | uma segunda carteira no dispositivo fica ao lado da principal |
| Itens colecionáveis | visualização e envio |
| Transferências em chats | cartão separado, enquanto a transferência está em andamento — "enviando" |
| TON Connect | conexão de aplicativos e respostas às suas solicitações; solicitações aguardam enquanto a carteira está fechada |
As transações e chaves não são calculadas pelo próprio cliente, mas pelo motor wallet-engine — uma carteira TON multiplataforma em Rust do desenvolvedor TON Core. Não está no npm: o pacote web é obtido como um arquivo de um release no GitHub, atualmente 0.0.7 de 30 de setembro, e um script separado verifica o arquivo com a soma de verificação publicada. Nas mesmas releases estão as builds do motor para Android, Swift, macOS, Linux e Windows.
Entre a incorporação e o ocultamento, a carteira foi corrigida três vezes, e todas as três correções são sobre o menu de endereço TON: dois commits de um colaborador externo, incorporados pela pull request #750, e um do desenvolvedor líder do Web K. Agora, ao clicar em um endereço, o cliente procura o proprietário nos perfis já carregados e nos cartões da carteira do autor da mensagem, do interlocutor e da sua própria conta, depois pergunta ao servidor, e os perfis restantes são carregados apenas se o servidor responder que a carteira não está vinculada a ninguém. O proprietário é exibido como uma linha com avatar nas dimensões do cliente para Android.
O que há no Web A
Na segunda versão web, telegram-tt, a carteira Gram apareceu antes — com o commit de 12 de outubro "Wallet: Introduce Gram Wallet" com 26.255 linhas. Em 26 de outubro, uma nova tela de envio com efeitos em WebGPU foi adicionada, e em commits separados — a verificação de links TON Connect e operações onde a segunda parte é um canal ou presente do Telegram.
A build em web.telegram.org/a — versão 12.0.48 de 26 de outubro — contém a carteira: ela é carregada como um módulo separado, e o cliente a exibe se o servidor enviar wallet_available no config da conta. O mesmo config define o valor mínimo de transferência (wallet_transfer_min_nanos) e o número de transferências diárias sem taxa de gás (wallet_gasless_daily_transfers).
O que fazer
- Precisa da carteira no navegador agora — experimente web.telegram.org/a: lá ela pode já estar disponível. A exibição é decidida pelo mesmo server flag que nos aplicativos de telefone, então a carteira não estará no navegador para uma conta para a qual o servidor não a ativou.
- Usa o Web K — a carteira ainda não estará lá, nem no menu, nem nas configurações, nem na busca por configurações. O link
t.me/sendgramsantes do lançamento abre como um link de username comum, e o endereço TON na mensagem — como texto simples. - Recebeu uma transferência em um chat do Web K — o cartão de transferência é visível, mas não abre antes do lançamento: veja os detalhes e o comentário criptografado no aplicativo do telefone.
- Antes de sair da conta no navegador verifique se a frase secreta está anotada ou se o backup está ativado. A versão web armazena as chaves da carteira no dispositivo, e no código do Web K a tela de saída avisa sobre isso separadamente (seção abaixo). Como encontrar e salvar a frase — na ajuda.
Como a carteira está escondida até o lançamento
O ocultamento levou dois commits em 2 de novembro. Primeiro, às 14:31 UTC, o item "Send Money" foi removido do menu de chat, do menu de transferência de Gram e do menu de endereço TON, o restante ainda dependia do servidor. Às 15:23 UTC, o segundo commit fechou tudo: no arquivo lib/wallet/release.ts apareceu a constante WALLET_RELEASED = false. De acordo com sua descrição, isso não é uma configuração: ela será alterada no código no dia do lançamento.
Enquanto ela for false, o item "Wallet" no menu principal e nas configurações (o cliente nem mesmo solicita o saldo para esta linha), o resultado da busca nas configurações, o item no menu de anexos, todos os botões "Send Money", a janela da carteira, os links da carteira e TON Connect, o menu de endereço TON e as solicitações TON Connect estão fechados. A carteira permanece aberta apenas na popup sandbox — que está presente em builds de depuração e prévias e funciona com dados simulados, sem solicitações ao servidor.
Após o lançamento, o servidor decidirá, mas com um padrão diferente do Web A: o Web K esconderá a carteira apenas se o flag wallet_available vier com o valor "não", e o Web A a mostrará apenas se o flag vier com o valor "sim".
Chaves no navegador
A chave da carteira Telegram pode ser mantida em um backup criptografado. A ativação e desativação do backup no Web K, de acordo com o comentário no código, replica o cliente para iOS, e as linhas a descrevem assim: o backup é dividido em três partes e armazenado em data centers em três continentes, sendo montado apenas nos dispositivos do proprietário. Se o backup for desativado, a carteira só poderá ser restaurada pela frase secreta. Ao desativar, o cliente sugere girar a frase ao mesmo tempo: o endereço e o saldo permanecem os mesmos, a alteração é registrada na rede e custa uma taxa, e não pode ser feita com saldo zero.
Daí os avisos ao sair da conta. O Web K tem quatro: as chaves da carteira estão apenas neste dispositivo e o Telegram não tem cópias; as chaves de outra carteira antiga estão no dispositivo; a alteração da chave não foi confirmada, e a nova chave está apenas aqui; e o caso geral — se as chaves existirem, a saída as destruirá. Nos três primeiros casos, a carteira pode ser recuperada apenas pela frase secreta, no último — pelo backup do Telegram ou pela frase.
Como foi verificado
- Código do Web K: commit da carteira (30.10, 19:18 UTC, +48.483/−375, 284 arquivos), ocultamento de Send Money e ocultamento da carteira (02.11), arquivo com a constante, linhas da carteira em
src/lang.ts, dependência@ton/wallet-engineempackage.jsone seu script de atualização. - Site web.telegram.org/k: página entregue com
Last-Modified30 de outubro 14:47 UTC — este é o commit da build 14:46 UTC; as animações da carteira do commit de 30 de outubro não estão no site, seus endereços respondem com redirecionamento. - Código e site do Web A: commit da carteira (12.10), tela de envio (26.10); na build de produção 12.0.48 (
Last-Modified26 de outubro 18:09 UTC) — módulo da carteira,openWalletModale campos de configuraçãowallet_available,wallet_transfer_min_nanos,wallet_gasless_daily_transfers. - Motor: releases do wallet-engine — 0.0.1 de 19 de agosto a 0.0.7 de 30 de setembro.




