Rand Protocol
Billeteras

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.

Icono de Rand Wallet

iOS

Próximamente en la tienda
Móvil · Swift · SwiftUI
Distribuido a través de
TestFlight durante las pruebas y, después, la App Store
Requiere
iOS 16 o posterior
Ficha de la tienda pendiente. Hasta que supere la revisión, compílala desde el código fuente.
Rand Wallet para iOS

Android

Descargar 0.8.0
Móvil · Java
Distribuido a través de
Google Play, primero en pruebas abiertas
Requiere
Android 8 (API 26) o posterior, arm64 o x86_64
Descargar para Android
Ficha de Google Play pendiente.
Rand Wallet para Android

Chrome

Descargar 0.8.0
Extensión del navegador · JavaScript · Manifest V3
Distribuido a través de
la Chrome Web Store; también se instala en Edge y Brave
Requiere
Chrome 116 o posterior
Descargar para Chrome
Ficha de Chrome Web Store pendiente.
Rand Wallet para Chrome

Firefox

Descargar 0.8.0
Extensión del navegador · JavaScript · Manifest V3
Distribuido a través de
addons.mozilla.org
Requiere
Firefox 140 o posterior
Descargar para Firefox
Ficha de Firefox Add-ons pendiente.
Rand Wallet para Firefox

Windows

Descargar 0.8.0
Escritorio · Tauri · núcleo en Rust, interfaz compartida
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
Escritorio · Tauri · núcleo en Rust, interfaz compartida
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
Escritorio · Tauri · núcleo en Rust, interfaz compartida
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
Web · JavaScript · núcleo WebAssembly
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
Se sirve desde tu propia copia local del repositorio, no está alojada en ningún sitio.
Rand Wallet en la web

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.

Crear una billetera

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.

Crea una wallet en este navegador
Cargando el código de claves…
  1. Espera a que la insignia de arriba muestre Ready offline. Todo lo que la wallet necesita ya está en esta pestaña.
  2. Desactiva el Wi‑Fi o activa el modo avión. Mantén esta pestaña abierta.
  3. Genera. La clave de gasto proviene de la aleatoriedad de tu propio dispositivo y nunca sale de él.
  4. Descarga wallet.key.json y copia la dirección. Después, vuelve a conectarte.

Todos los clientes

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.

Crear una wallet
Una clave de gasto generada en el dispositivo, mostrada una sola vez para que la guardes, y la dirección rand1… derivada de ella. Importa una clave existente, o un wallet.key.json de la CLI rand; todos los clientes exportan el mismo archivo.
Recibir y enviar
Tu saldo es el conjunto de notas que solo tu clave puede abrir; la wallet escanea el árbol de compromisos para encontrarlas. Una transferencia de RAND o de cualquier token RPL listado es un único bundle de 4 entradas y 4 salidas autorizado por una prueba. Nadie llega a saber quién envía, quién recibe, el importe ni qué activo se movió.
Faucet
En un testnet con faucet abierto, un toque acuña 100 RAND en una nota que solo tú puedes abrir.
Divulga solo lo que elijas
Copia tu clave de visualización y abre My history en RandScan para ver todas las notas que enviaste o recibiste, o copia la clave de transacción de un pago para divulgar exactamente ese pago y nada más. El explorador descifra en tu navegador y nunca envía la clave a ninguna parte.
Cómo funciona

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.

Notes de testnet

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
Compilar desde el código fuente

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.

Código fuente
randprotocol/clients
GPL-3.0-only
Compila el núcleo y luego un cliente
bash
# 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 …