Rand Protocol
Wallet

Rand Wallet

Un wallet shielded per RAND, uno per ogni piattaforma. Crea una spend key e un indirizzo rand1…, trova le tue note scansionando la catena con la tua chiave, genera le prove dei trasferimenti sul dispositivo che hai in mano o tramite un prover tuo, richiede fondi al faucet di testnet e ti fornisce la viewing key e le chiavi per singola transazione con cui randscan.org apre le transazioni riservate. Nulla del tuo saldo o dei tuoi pagamenti è visibile a chi non abbia ricevuto una chiave da te — e il wallet non fa eccezione: non detiene alcun account, solo le tue note.

Registrati o accedi per creare un wallet sul tuo account della vendita, dove l'indirizzo finisce direttamente sulla tua allocazione — oppure creane uno qui, offline, senza alcun account.

Icona di Rand Wallet

iOS

In arrivo sullo store
Mobile · Swift · SwiftUI
Distribuito tramite
TestFlight durante la fase di test, poi l'App Store
Requisiti
iOS 16 o successivo
Scheda sullo store in attesa. Finché non supera la revisione, compilalo dai sorgenti.
Rand Wallet per iOS

Android

Scarica 0.8.0
Mobile · Java
Distribuito tramite
Google Play, prima in test aperto
Requisiti
Android 8 (API 26) o successivo, arm64 o x86_64
Scarica per Android
Scheda su Google Play in attesa.
Rand Wallet per Android

Chrome

Scarica 0.8.0
Estensione del browser · JavaScript · Manifest V3
Distribuito tramite
il Chrome Web Store; si installa anche in Edge e Brave
Requisiti
Chrome 116 o successivo
Scarica per Chrome
Scheda su Chrome Web Store in attesa.
Rand Wallet per Chrome

Firefox

Scarica 0.8.0
Estensione del browser · JavaScript · Manifest V3
Distribuito tramite
addons.mozilla.org
Requisiti
Firefox 140 o successivo
Scarica per Firefox
Scheda su Firefox Add-ons in attesa.
Rand Wallet per Firefox

Windows

Scarica 0.8.0
Desktop · Tauri · core Rust, interfaccia condivisa
Distribuito tramite
un programma di installazione .msi, da GitHub Releases
Requisiti
Windows 10 o successivo, con il runtime WebView2; 8 GiB di memoria per inviare

macOS

Scarica 0.8.0
Desktop · Tauri · core Rust, interfaccia condivisa
Distribuito tramite
un .dmg, da GitHub Releases
Requisiti
8 GiB di memoria per inviare; Xcode Command Line Tools per compilare

Linux

Scarica 0.8.0
Desktop · Tauri · core Rust, interfaccia condivisa
Distribuito tramite
un .deb, un .rpm, un AppImage o il binario nudo, da GitHub Releases
Requisiti
webkit2gtk 4.1; 8 GiB di memoria per inviare

Web

Esegui in locale
Web · JavaScript · core WebAssembly
Distribuito tramite
un checkout del repository clients, servito sulla tua macchina
Requisiti
Node 20 o successivo; un browser aggiornato
Servito dal tuo checkout locale, non ospitato altrove.
Rand Wallet sul web

Versione 0.8.0, 2026-10-12. Ogni download è un file della release v0.8.0 su GitHub, e la pagina di ciascun client riporta il relativo SHA-256; l'elenco completo è in SHA256SUMS. Preferisci compilarlo? Compilalo dai sorgenti. Il wallet non raccoglie dati: informativa sulla privacy · termini di servizio.

Crea un wallet

Creane uno qui, offline

Il generatore a destra è il codice delle chiavi del full node, compilato in WebAssembly e caricato in questa pagina. Disattiva il Wi‑Fi quando indica di essere pronto e continuerà a funzionare: la spend key nasce dalla casualità del tuo dispositivo, l'indirizzo ne viene derivato al momento e nulla viene inviato altrove — non c'è un altrove in cui possa andare.

L'indirizzo è rand1 più 1.667 caratteri: la chiave delle note del tuo wallet e la chiave di incapsulamento ML-KEM a cui il mittente sigilla una nota, la forma in uso sulle chain 18 e 19. (La chain 11 aveva provato con un hash di 54 caratteri di una chiave di firma; è stata ripristinata perché un mittente non può sigillare una nota a un hash — la documentazione ne conserva la cronaca.) Carica il file della chiave nella CLI rand o in una qualsiasi app Rand Wallet e rand address stampa lo stesso indirizzo.

Vuoi l'indirizzo registrato per una distribuzione? La pagina dell'indirizzo offre lo stesso generatore più un account in cui salvarlo: un'email e una password, e viene conservato solo l'indirizzo.

Preferisci verificare prima il codice? Si trova in crates/randprotocol-zkvm/src/address.rs nel full node, mentre il wrapper per il browser è server/address-wasm nel repository di questo sito.

Crea un wallet in questo browser
Caricamento del codice delle chiavi…
  1. Attendi che il badge qui sopra indichi Ready offline. Tutto ciò che serve al wallet è allora in questa scheda.
  2. Disattiva il Wi‑Fi oppure attiva la modalità aereo. Tieni aperta questa scheda.
  3. Genera. La chiave di spesa deriva dalla casualità del tuo dispositivo e non lo lascia mai.
  4. Scarica wallet.key.json e copia l'indirizzo. Poi riconnettiti.

Ogni client

Ogni piattaforma, un solo wallet

Lo stesso file della chiave, lo stesso formato di indirizzo e le stesse regole su ogni piattaforma. Un wallet creato sul telefono si importa nel browser e nella CLI rand, e viceversa.

Crea un wallet
Una chiave di spesa generata sul dispositivo, mostrata una sola volta perché tu la salvi, e l'indirizzo rand1… che ne deriva. Importa una chiave esistente, o un wallet.key.json dalla CLI rand; ogni client esporta lo stesso file.
Ricevi e invia
Il tuo saldo è l'insieme delle note che solo la tua chiave può aprire; il wallet scansiona il commitment tree per trovarle. Un trasferimento di RAND o di qualsiasi token RPL in elenco è un unico bundle 4-in-4-out autorizzato da una prova. Nessuno viene a sapere il mittente, il destinatario, l'importo o quale asset si è mosso.
Faucet
Su una testnet con un faucet aperto, un tocco conia 100 RAND in una nota che solo tu puoi aprire.
Rivela solo ciò che scegli
Copia la tua viewing key e apri La mia cronologia su RandScan per vedere ogni nota che hai inviato o ricevuto, oppure copia la transaction key di un singolo pagamento per rivelare esattamente quel pagamento e nient'altro. L'explorer decifra nel tuo browser e non invia mai la chiave da nessuna parte.
Come funziona

Un solo core, le tue chiavi, il tuo prover

Ogni client incapsula un unico core in Rust costruito a partire dai crate del full node: la gerarchia di chiavi Poseidon2, le envelope ML-KEM-768 e il prover zkVM sono il codice del nodo, compilato in un XCFramework per iOS, in una libreria nativa per Android, in WebAssembly per i browser e in un crate collegato nell'app desktop. Lo Swift, il Java e il JavaScript sopra di esso sono il wallet: il client RPC, l'archivio delle note e le schermate. La tua spend key viene generata in locale dalla casualità del sistema operativo e conservata cifrata sul dispositivo; ciò che il wallet invia all'endpoint RPC è ciò che un bundle pubblica comunque — commitment, nullifier, envelope sigillate e una prova. Una prova richiede circa 5,7 GB di memoria, quindi l'app desktop e i telefoni di fascia alta generano le prove da sé, mentre i wallet nel browser si associano a un prover che gestisci tu, il quale riceve la chiave sigillata solo per sé.

Note di testnet

Prima di inviare qualsiasi cosa

Chain
L'endpoint pubblico serve la chain 21, attiva dal 12 ottobre 2026, 10:31 UTC (creata su fullnode v0.8.0). Il core del wallet incorpora fullnode v0.8.0 (c0878c3) e rifiuta qualsiasi altra chain: la chain 21 esegue il constraint set 9, quindi un wallet 0.7.x non può inviare su di essa, e questa release non può inviare sulla chain 20. Chiavi e indirizzi restano validi; un wallet che ha scansionato la chain 20 mostra una sola volta un banner di chain diversa e riesegue la scansione dal genesis della chain 21. I depositi e i prelievi tramite bridge mantengono una commissione dello 0,1% in zUSD, che il wallet mostra prima del prelievo.
Endpoint RPC
Impostazioni → Rete. Per impostazione predefinita https://rpc.randprotocol.org; funziona qualsiasi RPC di rand-node raggiungibile, e un URL salvato viene verificato prima di essere conservato
Generazione delle prove
La prova di un bundle raggiunge un picco di circa 6,2 GB di memoria e richiede circa un minuto su una CPU di un portatile
Stato
Software testnet sperimentale. Non sottoposto ad audit. RAND sulla testnet non ha alcun valore reale
Licenza
GPL-3.0-only, come i crate del full node a cui si collega ogni client
Compila dai sorgenti

Oppure compilalo tu

Il repository dei client contiene il core in Rust, l'interfaccia condivisa, ogni app e il packaging per ciascuno store. Il core include il full node alla v0.6.7, la build su cui girava la chain 19, come submodule. La guida alla compilazione percorre ogni client partendo da una macchina pulita, e la pagina di ciascun client ha i propri passaggi.

Sorgente
randprotocol/clients
GPL-3.0-only
Compila il core, poi un client
bash
# Rust 1.98.1 (versione fissata; la installa rustup). Xcode 16+ per iOS, JDK 17+ con SDK 36 e NDK 27 per Android, Node 22+ per le estensioni
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 ..       # il core, inclusa una prova reale (~1 min)

core/scripts/build-wasm.sh                     # → extension/shared/core/   (installa wasm-bindgen-cli)
core/scripts/build-ios.sh                      # → ios/Frameworks/RandWalletCore.xcframework
core/scripts/build-android.sh                  # → android/app/src/main/jniLibs/ (richiede un NDK)
scripts/release/build-desktop.sh               # l'app desktop: dmg / msi / AppImage, deb, rpm
web/wallet/serve.sh                            # il wallet web locale su http://127.0.0.1:8787/

# Poi: /clients/ios, /clients/android, /clients/chrome, /clients/firefox, /clients/macos …