Pequeña y nativa: C++, sin runtime de JavaScript, de una estación de trabajo a una Raspberry Pi
Una billetera es un programa de seguridad. Debería ser lo bastante pequeña para poder auditarla, lo bastante rápida para olvidarte de ella y no tener piezas móviles que no sean suyas.

En esta página
C++ y Qt
AirNox Wallet está escrita en C++ con el framework Qt. La criptografía, el código de cada cadena, los constructores de transacciones y el análisis viven en un único núcleo nativo, compilado para cada plataforma. La interfaz también es nativa. No hay un navegador integrado que dibuje la billetera ni un motor de scripts que la ejecute.
Eso tiene tres consecuencias que se notan. La billetera arranca en un instante. En reposo apenas consume, y deja la máquina libre para el resto de su trabajo. Y no hay ningún runtime debajo que se actualice solo, cargue paquetes o ejecute código que descargó de algún sitio.
Lo que no lleva dentro
Sin runtime de JavaScript. Una gran parte de las vulneraciones de billeteras pasa por los ecosistemas de paquetes y por la inyección de scripts. Una billetera sin motor de scripts no es un objetivo para ellos.
Sin web view. La interfaz la dibuja Qt, no un componente de navegador. No hay ninguna página en la que inyectar nada.
Sin telemetría, sin analíticas, sin rastreadores. La billetera habla con los nodos de la blockchain y con los proveedores de intercambios y puentes que tú decidas usar. No habla con nosotros. Nada envía datos a casa, y no hay que crear ninguna cuenta.

Plataformas
La aplicación de escritorio funciona en Windows, Linux y macOS, con una compilación nativa para cada uno. El mismo código funciona en hardware de la clase Raspberry Pi, lo que hace de AirNox una buena opción para instalaciones embebidas: un terminal de casa de cambio, un quiosco, un puesto de firma en el back office. Una placa pequeña con una pantalla, un lector NFC USB y la billetera es un punto de operación completo y preparado para air gap, con las claves en un teléfono que toca el lector.
Un único núcleo de firma
La app del teléfono y la de escritorio comparten el mismo núcleo. El código que deriva las claves, construye una transacción y la decodifica para la pantalla es el mismo en los dos dispositivos, compilado para cada uno. Hay una sola implementación de cada cadena que auditar, no dos que tengan que coincidir, y una corrección en un lado es una corrección en ambos.
Por qué importa
Pequeña y nativa no es una preferencia de estilo. Cada dependencia es un lugar donde el error de otro se convierte en el tuyo. Cada runtime es una superficie de ataque. Cada llamada de red que no es estrictamente necesaria es una fuga de algo. Una billetera que es un único programa nativo, que solo habla con los nodos a los que tú la diriges, es una billetera sobre la que puedes razonar. Ese es el estándar que aplicamos a todo el producto, desde el firmador (signer) del teléfono hasta la ventana de tu escritorio.
La serie completa
- Da por hecho que la computadora está comprometida
- Mass Adoption Security: el firmador es un teléfono que ya tienes
- Tres formas de cruzar el air gap: códigos QR, Bluetooth LE y NFC
- Invisible en las ondas: un firmador que nadie puede localizar escaneando
- Nunca se confía en el transporte
- Lo que te muestra el teléfono: análisis de transacciones en el firmador
- El teléfono lleva su propio registro
- La bóveda en tu computadora: Argon2id y un perfil que resiste los intentos de adivinar
- dApps sin una billetera en el navegador
- Un servidor MCP con reglas: agentes de IA con límites
- Una billetera protegida para todo
- Pequeña y nativa: C++, sin runtime de JavaScript, de una estación de trabajo a una Raspberry Pi