Rand Wallet
Una billetera shielded para RAND, una para cada plataforma. Crea una spend key y una dirección rand1…, encuentra tus notes escaneando la cadena con tu propia clave, genera las pruebas de las transferencias en el dispositivo que tienes en la mano o a través de un prover propio, solicita fondos al faucet de testnet y te entrega la viewing key y las claves por transacción con las que randscan.org abre las transacciones confidenciales. Nada sobre tu saldo ni sobre tus pagos es visible para nadie a quien no le hayas entregado una clave, y la billetera no es la excepción: no guarda ninguna cuenta, solo tus notes.
Regístrate o inicia sesión para crear una billetera en tu cuenta de la venta, donde la dirección se asigna directamente a tu asignación, o crea una aquí mismo, sin conexión y sin ninguna cuenta.
iOS
Próximamente en la tienda- Distribuido a través de
- TestFlight durante las pruebas y, después, la App Store
- Requiere
- iOS 16 o posterior
Android
Descargar 0.8.0- Distribuido a través de
- Google Play, primero en pruebas abiertas
- Requiere
- Android 8 (API 26) o posterior, arm64 o x86_64
Chrome
Descargar 0.8.0- Distribuido a través de
- la Chrome Web Store; también se instala en Edge y Brave
- Requiere
- Chrome 116 o posterior
Firefox
Descargar 0.8.0- Distribuido a través de
- addons.mozilla.org
- Requiere
- Firefox 140 o posterior
Windows
Descargar 0.8.0- Distribuido a través de
- un instalador .msi, desde GitHub Releases
- Requiere
- Windows 10 o posterior, con el entorno de ejecución WebView2; 8 GiB de memoria para enviar
macOS
Descargar 0.8.0- Distribuido a través de
- un .dmg, desde GitHub Releases
- Requiere
- 8 GiB de memoria para enviar; Xcode Command Line Tools para compilar
Linux
Descargar 0.8.0- Distribuido a través de
- un .deb, un .rpm, un AppImage o el binario sin empaquetar, desde GitHub Releases
- Requiere
- webkit2gtk 4.1; 8 GiB de memoria para enviar
Web
Ejecutar localmente- Distribuido a través de
- una copia del repositorio de clientes, servida en tu propia máquina
- Requiere
- Node 20 o posterior; un navegador actual
Versión 0.8.0, 2026-10-12. Cada descarga es un archivo de la versión v0.8.0 en GitHub, y la página de cada cliente muestra su SHA-256; la lista completa es SHA256SUMS. ¿Prefieres compilarla tú? Compílala desde el código fuente. La billetera no recopila ningún dato: política de privacidad · términos del servicio.
Crea una aquí, sin conexión
El generador de la derecha es el código de claves del propio full node, compilado a WebAssembly y cargado en esta página. Desactiva el Wi‑Fi cuando indique que está listo y seguirá funcionando: la spend key sale de la aleatoriedad de tu dispositivo, la dirección se deriva de ella al instante y no se envía nada a ninguna parte, porque no hay a dónde enviarlo.
La dirección es rand1 más 1.667 caracteres: la note key de tu billetera y la clave de encapsulación ML-KEM a la que un remitente sella una note, el formato que ejecutan las cadenas 18 y 19. (La cadena 11 probó con un hash de 54 caracteres de una clave de firma; se revirtió porque un remitente no puede sellar una note a un hash — la documentación guarda el registro.) Carga el archivo de claves en la CLI rand o en cualquier app de Rand Wallet y rand address imprime la misma dirección.
¿Quieres que la dirección conste en el registro para una distribución? La página de la dirección tiene el mismo generador más una cuenta donde guardarla: un correo electrónico y una contraseña, y solo se almacena la dirección.
¿Prefieres revisar primero el código? Es crates/randprotocol-zkvm/src/address.rs en el full node, y el envoltorio para el navegador es server/address-wasm en el repositorio de este sitio.
- Espera a que la insignia de arriba muestre Ready offline. Todo lo que la wallet necesita ya está en esta pestaña.
- Desactiva el Wi‑Fi o activa el modo avión. Mantén esta pestaña abierta.
- Genera. La clave de gasto proviene de la aleatoriedad de tu propio dispositivo y nunca sale de él.
- Descarga wallet.key.json y copia la dirección. Después, vuelve a conectarte.
Huella Léesela a quien vayas a enviársela, o compárenlas una junto a la otra: con 16 caracteres, que dos direcciones distintas coincidan por casualidad no ocurre.
¿Guardar a con la huella ? Compárala con la que le lea el titular antes de guardar.
Se guardan solo en este navegador; si borras los datos del sitio, desaparecen.
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
El archivo de claves es la wallet. Quien lo tenga puede gastar todas las notas que la dirección reciba en cualquier momento; sin él, nadie puede. Guárdalo en un lugar privado y fuera de este navegador (un gestor de contraseñas, una unidad cifrada) y solo entonces vuelve a conectarte. El mismo archivo se abre en la CLI rand (rand address imprime esta dirección) y en todas las apps de Rand Wallet. La dirección es pública por diseño: contiene la clave de nota y la clave de encapsulación ML-KEM con la que un remitente sella una nota para ella, y por eso tiene 1,667 caracteres; la clave de gasto es el único secreto. ¿Ya tienes una wallet? Su dirección es lo que imprime rand address; nada en este sitio pide nunca el archivo de claves ni la clave de gasto.
Todas las plataformas, una sola billetera
El mismo archivo de claves, el mismo formato de dirección y las mismas reglas en todas las plataformas. Una billetera creada en el teléfono se importa en el navegador y en la CLI rand, y viceversa.
Un núcleo, tus claves, tu prover
Cada cliente envuelve un único núcleo en Rust construido a partir de los propios crates del full node: la jerarquía de claves Poseidon2, los sobres ML-KEM-768 y el prover de zkVM son el código del nodo, compilado en un XCFramework para iOS, una biblioteca nativa para Android, WebAssembly para los navegadores y un crate enlazado en la aplicación de escritorio. El Swift, el Java y el JavaScript que hay encima son la billetera: el cliente RPC, el almacén de notes y las pantallas. Tu spend key se genera localmente a partir de la aleatoriedad del sistema operativo y se guarda cifrada en el dispositivo; lo que la billetera envía al endpoint RPC es lo que un bundle publica de todos modos: compromisos, nullifiers, sobres sellados y una prueba. Una prueba necesita unos 5,7 GB de memoria, así que la aplicación de escritorio y los teléfonos grandes generan las pruebas por sí mismos, y las billeteras del navegador emparejan un prover que tú ejecutas, el cual recibe la clave sellada solo para él.
Antes de enviar nada
- Cadena
- El endpoint público sirve la cadena 21, activa desde el 12 Oct 2026 10:31 UTC (generada a partir de fullnode v0.8.0). El núcleo de la wallet incorpora fullnode v0.8.0 (c0878c3) y rechaza cualquier otra cadena: la cadena 21 ejecuta el conjunto de restricciones 9, por lo que una wallet 0.7.x no puede enviar en ella, y esta versión no puede enviar en la cadena 20. Las claves y las direcciones se mantienen; una wallet que haya escaneado la cadena 20 muestra una vez un aviso de cadena distinta y vuelve a escanear desde el génesis de la cadena 21. Los depósitos y retiros del puente mantienen una comisión del 0,1 % en zUSD, que la wallet muestra antes de retirar.
- Endpoint RPC
- Settings → Network. Por defecto es https://rpc.randprotocol.org; sirve cualquier RPC de rand-node al que puedas acceder, y una URL guardada se comprueba antes de conservarla
- Generación de pruebas
- Una prueba de bundle alcanza un pico de unos 6,2 GB de memoria y tarda cerca de un minuto en la CPU de un portátil
- Estado
- Software experimental de testnet. Sin auditar. RAND en el testnet no tiene valor real
- Licencia
- GPL-3.0-only, como los crates del nodo completo que enlaza cada cliente
O compílalo tú mismo
El repositorio de clientes contiene el núcleo en Rust, la interfaz compartida, todas las aplicaciones y el empaquetado para cada tienda. El núcleo incorpora el full node en v0.6.7, la compilación que ejecutó la cadena 19, como submódulo. La guía de compilación recorre cada cliente desde una máquina limpia, y la página de cada cliente tiene sus propios pasos.
# Rust 1.98.1 (fijado; rustup lo instala). Xcode 16+ para iOS, JDK 17+ con SDK 36 y NDK 27 para Android, Node 22+ para las extensiones
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients # core/vendor/fullnode @ v0.6.7 (86941a1)
cd core && cargo test --release && cd .. # el núcleo, incluida una prueba real (~1 min)
core/scripts/build-wasm.sh # → extension/shared/core/ (instala wasm-bindgen-cli)
core/scripts/build-ios.sh # → ios/Frameworks/RandWalletCore.xcframework
core/scripts/build-android.sh # → android/app/src/main/jniLibs/ (requiere un NDK)
scripts/release/build-desktop.sh # la aplicación de escritorio: dmg / msi / AppImage, deb, rpm
web/wallet/serve.sh # la billetera web local en http://127.0.0.1:8787/
# Después: /clients/ios, /clients/android, /clients/chrome, /clients/firefox, /clients/macos …