En el código abierto de Telegram Web K —la versión web en web.telegram.org/k—, el 30 de octubre apareció la cartera Gram en su totalidad: saldo, historial, envío y recepción, frase secreta, coleccionables, transferencias en chats y TON Connect. El 2 de noviembre la ocultaron: la constante WALLET_RELEASED está en false, y hasta que no se cambie manualmente, ningún elemento del menú, enlace o botón lleva a la cartera. En el sitio web.telegram.org/k la cartera aún no está disponible; allí se encuentra la compilación del 30 de octubre, generada cuatro horas y media antes del commit de la cartera. En la segunda versión web, Web A, la cartera ya está en la compilación en vivo: la muestra el flag del servidor wallet_available, el mismo que utilizan las aplicaciones para iOS y Android. Esto afecta a quienes usan Telegram desde el navegador.
Qué contiene el código de Web K
La cartera fue fusionada en un único commit el 30 de octubre a las 19:18 UTC: 284 archivos, 48.483 líneas añadidas, 375 eliminadas. La descripción del commit menciona a los clientes de iOS y Android como referencia. Esto es lo que incluye:
| Sección | Funcionalidad |
|---|---|
| Saldo | cantidad en Gram y en la divisa seleccionada |
| Historial | las páginas de operaciones se almacenan en caché |
| Envío | a un contacto, por nombre de usuario, a una dirección o dominio TON DNS, con comentario |
| Recepción | dirección, código QR, recarga |
| Frase secreta | copia de seguridad, exportación, verificación de palabras |
| Copia de seguridad de la clave cifrada | activación y desactivación; al desactivar, se puede cambiar la frase secreta |
| Cartera antigua | una segunda cartera en el dispositivo se guarda junto a la principal |
| Coleccionables | visualización y envío |
| Transferencias en chats | tarjeta separada, mientras la transferencia está en curso, muestra «enviando» |
| TON Connect | conexión de aplicaciones y respuesta a sus solicitudes; las solicitudes esperan mientras la cartera está cerrada |
Las transacciones y las claves no las calcula el propio cliente, sino el motor wallet-engine, una cartera multiplataforma de TON en Rust del desarrollador de TON Core. No está en npm: el paquete web se obtiene como un archivo de una versión en GitHub, actualmente la 0.0.7 del 30 de septiembre, y un script separado verifica el archivo con la suma de comprobación publicada. En esas mismas versiones se encuentran las compilaciones del motor para Android, Swift, macOS, Linux y Windows.
Entre la fusión y la ocultación, la cartera fue modificada tres veces, y las tres ediciones se refieren al menú de direcciones TON: dos commits de un colaborador externo, fusionados mediante el pull request #750, y uno del desarrollador principal de Web K. Ahora, al hacer clic en una dirección, el cliente busca al propietario en los perfiles ya cargados y en las tarjetas de cartera del autor del mensaje, del interlocutor y de su propia cuenta, luego consulta al servidor, y solo carga los perfiles restantes si el servidor responde que la cartera no está vinculada a nadie. El propietario se muestra como una línea con un avatar del tamaño del cliente para Android.
Qué hay en Web A
En la segunda versión web, telegram-tt, la cartera Gram apareció antes, con un commit del 12 de octubre titulado «Wallet: Introduce Gram Wallet» de 26.255 líneas. El 26 de octubre se le añadió una nueva pantalla de envío con efectos en WebGPU, y en commits separados, la verificación de enlaces TON Connect y operaciones donde la segunda parte es un canal o un regalo de Telegram.
La compilación en web.telegram.org/a —versión 12.0.48 del 26 de octubre— contiene la cartera: se carga como un módulo separado, y el cliente la muestra si el servidor ha enviado wallet_available en la configuración de la cuenta. En esa misma configuración se define la cantidad mínima de transferencia (wallet_transfer_min_nanos) y el número de transferencias diarias sin tarifa de gas (wallet_gasless_daily_transfers).
Qué hacer
- Necesita la cartera en el navegador ahora — pruebe web.telegram.org/a: allí podría estar ya disponible. La visualización la decide el mismo flag del servidor que en las aplicaciones móviles, por lo que la cartera no aparecerá en el navegador para una cuenta a la que el servidor no la haya activado.
- Usa Web K — la cartera no estará allí por ahora, ni en el menú, ni en la configuración, ni en la búsqueda de configuración. El enlace
t.me/sendgramsantes del lanzamiento se abre como un enlace de nombre de usuario normal, y una dirección TON en un mensaje aparece como texto simple. - Recibió una transferencia en un chat de Web K — la tarjeta de transferencia es visible, pero no se abre antes del lanzamiento: los detalles y el comentario cifrado se ven en la aplicación móvil.
- Antes de cerrar sesión en el navegador verifique si la frase secreta está guardada o si la copia de seguridad está activada. La versión web almacena las claves de la cartera en el dispositivo, y en el código de Web K la pantalla de cierre de sesión advierte sobre esto por separado (sección siguiente). Cómo encontrar y guardar la frase — en la ayuda.
Cómo se oculta la cartera hasta el lanzamiento
La ocultación se realizó en dos commits el 2 de noviembre. Primero, a las 14:31 UTC, se eliminó el elemento «Send Money» del menú del chat, del menú de transferencia de Gram y del menú de direcciones TON; el resto aún dependía del servidor. A las 15:23 UTC, el segundo commit cerró todo: en el archivo lib/wallet/release.ts apareció la constante WALLET_RELEASED = false. Según su descripción, no es una configuración: se cambiará en el código el día del lanzamiento.
Mientras sea false, están cerrados el elemento «Wallet» en el menú principal y en la configuración (el cliente ni siquiera solicita el saldo para esta línea), el resultado de la búsqueda en la configuración, el elemento en el menú de adjuntos, todos los botones «Send Money», la ventana de la cartera, los enlaces de la cartera y TON Connect, el menú de direcciones TON y las solicitudes de TON Connect. La cartera permanece abierta solo en el sandbox de ventanas emergentes, que está disponible en las compilaciones de depuración y vista previa y funciona con datos simulados, sin solicitudes al servidor.
Después del lanzamiento, la decisión la tomará el servidor, pero con un valor predeterminado diferente al de Web A: Web K ocultará la cartera solo si el flag wallet_available llega con el valor «no», mientras que Web A la mostrará solo si el flag llega con el valor «sí».
Claves en el navegador
La clave de la cartera de Telegram se puede guardar en una copia de seguridad cifrada. La activación y desactivación de la copia en Web K, según un comentario en el código, replica al cliente de iOS, y las líneas la describen así: la copia se divide en tres partes y se almacena en centros de datos en tres continentes, y solo se ensambla en los dispositivos del propietario. Si la copia se desactiva, la cartera solo podrá recuperarse con la frase secreta. Al desactivarla, el cliente sugiere cambiar la frase al mismo tiempo: la dirección y el saldo permanecen iguales, el cambio se registra en la red y tiene una comisión, y no se puede realizar con un saldo cero.
De ahí las advertencias al cerrar sesión. Web K tiene cuatro: las claves de la cartera solo están en este dispositivo y Telegram no tiene una copia; en el dispositivo hay claves de otra cartera antigua; el cambio de clave no ha sido confirmado y la nueva clave solo está aquí; y el caso general —si hay claves, al cerrar sesión se destruirán. En los tres primeros casos, la cartera solo se puede recuperar con la frase secreta; en el último, con la copia de seguridad de Telegram o la frase.
Cómo se verificó
- Código de Web K: commit de la cartera (30.10, 19:18 UTC, +48.483/−375, 284 archivos), ocultación de Send Money y ocultación de la cartera (02.11), archivo con la constante, líneas de la cartera en
src/lang.ts, dependencia@ton/wallet-engineenpackage.jsony su script de actualización. - Sitio web.telegram.org/k: la página se entregó con
Last-Modifiedel 30 de octubre a las 14:47 UTC — este es el commit de la compilación de las 14:46 UTC; las animaciones de la cartera del commit del 30 de octubre no están en el sitio, sus direcciones responden con una redirección. - Código y sitio de Web A: commit de la cartera (12.10), pantalla de envío (26.10); en la compilación en vivo 12.0.48 (
Last-Modified26 de octubre 18:09 UTC) — módulo de la cartera,openWalletModaly campos de configuraciónwallet_available,wallet_transfer_min_nanos,wallet_gasless_daily_transfers. - Motor: versiones de wallet-engine — 0.0.1 del 19 de agosto hasta 0.0.7 del 30 de septiembre.




