Rand Wallet
Un portefeuille blindé pour RAND, un pour chaque plateforme. Il crée une clé de dépense et une adresse rand1…, retrouve vos notes en parcourant la chaîne avec votre propre clé, prouve les transferts sur l'appareil que vous tenez en main ou via un prover que vous gérez vous-même, demande des fonds au faucet du testnet, et vous remet la clé de visualisation et les clés par transaction avec lesquelles randscan.org ouvre les transactions confidentielles. Rien de votre solde ni de vos paiements n'est visible de quiconque à qui vous n'avez pas remis de clé — et le portefeuille ne fait pas exception : il ne détient aucun compte, seulement vos notes.
Inscrivez-vous ou connectez-vous pour créer un portefeuille sur votre compte de vente, où l'adresse est directement rattachée à votre allocation — ou créez-en un ici même, hors ligne, sans aucun compte.
iOS
Bientôt sur la boutique- Distribué via
- TestFlight pendant la phase de test, puis l'App Store
- Prérequis
- iOS 16 ou version ultérieure
Android
Télécharger 0.8.0- Distribué via
- Google Play, d'abord en test ouvert
- Prérequis
- Android 8 (API 26) ou version ultérieure, arm64 ou x86_64
Chrome
Télécharger 0.8.0- Distribué via
- le Chrome Web Store ; s'installe aussi dans Edge et Brave
- Prérequis
- Chrome 116 ou version ultérieure
Firefox
Télécharger 0.8.0- Distribué via
- addons.mozilla.org
- Prérequis
- Firefox 140 ou version ultérieure
Windows
Télécharger 0.8.0- Distribué via
- un installateur .msi, depuis GitHub Releases
- Prérequis
- Windows 10 ou version ultérieure, avec le runtime WebView2 ; 8 GiB de mémoire pour envoyer
macOS
Télécharger 0.8.0- Distribué via
- un .dmg, depuis GitHub Releases
- Prérequis
- 8 GiB de mémoire pour envoyer ; Xcode Command Line Tools pour compiler
Linux
Télécharger 0.8.0- Distribué via
- un .deb, un .rpm, une AppImage ou le binaire seul, depuis GitHub Releases
- Prérequis
- webkit2gtk 4.1 ; 8 GiB de mémoire pour envoyer
Web
Exécuter en local- Distribué via
- une copie du dépôt clients, servie sur votre propre machine
- Prérequis
- Node 20 ou ultérieur ; un navigateur récent
Version 0.8.0, 2026-10-12. Chaque téléchargement est un fichier de la version v0.8.0 sur GitHub, et la page de chaque client affiche son SHA-256 ; la liste complète est dans SHA256SUMS. Vous préférez le compiler vous-même ? Compilez-le depuis les sources. Le portefeuille ne collecte aucune donnée : politique de confidentialité · conditions d'utilisation.
Créez-en un ici, hors ligne
Le générateur à droite est le code de clés du nœud complet lui-même, compilé en WebAssembly et chargé dans cette page. Coupez le Wi‑Fi dès qu'il indique être prêt et il fonctionne toujours : la clé de dépense provient de l'aléa de votre appareil, l'adresse en est dérivée sur place, et rien n'est envoyé nulle part — il n'y a nulle part où cela pourrait aller.
L'adresse est rand1 suivi de 1 667 caractères : la clé de note de votre portefeuille et la clé d'encapsulation ML-KEM à laquelle un expéditeur scelle une note, la forme qu'utilisent les chaînes 18 et 19. (La chaîne 11 a essayé un hachage de 54 caractères d'une clé de signature ; cela a été annulé, car un expéditeur ne peut pas sceller une note à un hachage — la documentation en conserve la trace.) Chargez le fichier de clés dans la CLI rand ou dans n'importe quelle application Rand Wallet, et rand address affiche la même adresse.
Vous voulez que l'adresse soit enregistrée en vue d'une distribution ? La page Adresse propose le même générateur, avec un compte où l'enregistrer : un e-mail et un mot de passe, et seule l'adresse est conservée.
Vous préférez d'abord vérifier le code ? Il s'agit de crates/randprotocol-zkvm/src/address.rs dans le nœud complet, et l'enveloppe pour navigateur est server/address-wasm dans le dépôt de ce site.
- Attendez que le badge ci-dessus indique Prêt hors ligne. Tout ce dont le wallet a besoin se trouve alors dans cet onglet.
- Désactivez le Wi‑Fi ou activez le mode avion. Gardez cet onglet ouvert.
- Générez. La clé de dépense provient de l'aléa propre à votre appareil et ne le quitte jamais.
- Téléchargez wallet.key.json et copiez l'adresse. Puis reconnectez-vous.
Empreinte Lisez-la à voix haute à la personne qui vous enverra des fonds, ou comparez-les côte à côte : avec 16 caractères, deux adresses différentes ne peuvent pas coïncider par hasard.
Enregistrer avec l'empreinte ? Comparez-la à celle que le titulaire vous lit avant d'enregistrer.
Enregistrés dans ce navigateur uniquement ; effacer les données du site les supprime.
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Le fichier de clé est le wallet. Quiconque le détient peut dépenser toutes les notes que l'adresse recevra un jour ; sans lui, personne ne le peut. Conservez-le dans un endroit privé, hors de ce navigateur — un gestionnaire de mots de passe, un disque chiffré — et ne vous reconnectez qu'ensuite. Le même fichier s'ouvre dans la CLI rand (rand address affiche cette adresse) et dans toutes les applications Rand Wallet. L'adresse est publique par conception : elle contient la clé de note et la clé d'encapsulation ML-KEM vers lesquelles un expéditeur scelle une note, ce qui explique ses 1 667 caractères ; la clé de dépense est le seul secret. Vous avez déjà un wallet ? Son adresse est ce qu'affiche rand address — rien sur ce site ne demande jamais le fichier de clé ni la clé de dépense.
Toutes les plateformes, un seul portefeuille
Le même fichier de clés, le même format d'adresse et les mêmes règles sur chaque plateforme. Un portefeuille créé sur le téléphone s'importe dans le navigateur et dans la CLI rand, et inversement.
Un cœur, vos clés, votre prover
Chaque client encapsule un même cœur Rust construit à partir des crates du nœud complet : la hiérarchie de clés Poseidon2, les enveloppes ML-KEM-768 et le prover zkVM sont le code du nœud, compilé en XCFramework pour iOS, en bibliothèque native pour Android, en WebAssembly pour les navigateurs et en crate lié dans l'application de bureau. Le Swift, le Java et le JavaScript au-dessus constituent le portefeuille : le client RPC, le magasin de notes et les écrans. Votre clé de dépense est générée localement à partir de l'aléa du système d'exploitation et conservée chiffrée sur l'appareil ; ce que le portefeuille envoie au point de terminaison RPC est ce qu'un bundle publie de toute façon — engagements, nullifiers, enveloppes scellées et une preuve. Une preuve demande environ 5,7 GB de mémoire : l'application de bureau et les grands téléphones prouvent donc par eux-mêmes, et les portefeuilles de navigateur appairent un prover que vous exploitez, qui reçoit la clé scellée pour lui seul.
Avant d'envoyer quoi que ce soit
- Chaîne
- Le point d'accès public sert la chain 21, en service depuis le 12 Oct 2026 10:31 UTC (issue de fullnode v0.8.0). Le cœur du portefeuille intègre fullnode v0.8.0 (c0878c3) et refuse toute autre chaîne : la chain 21 exécute le constraint set 9, de sorte qu'un portefeuille 0.7.x ne peut pas y envoyer de transactions, et cette version ne peut pas en envoyer sur la chain 20. Les clés et les adresses sont conservées ; un portefeuille qui scannait la chain 20 affiche une seule fois une bannière de chaîne différente, puis relance l'analyse depuis le bloc de genèse de la chain 21. Les dépôts et retraits via le bridge appliquent des frais de 0,1 % en zUSD, que le portefeuille affiche avant le retrait.
- Point d'accès RPC
- Settings → Network. Par défaut https://rpc.randprotocol.org ; tout RPC rand-node que vous pouvez joindre convient, et une URL enregistrée est vérifiée avant d'être conservée
- Génération de preuves
- Une preuve de bundle atteint environ 6,2 GB de mémoire au pic et prend environ une minute sur un CPU de portable
- Statut
- Logiciel testnet expérimental. Non audité. Le RAND sur le testnet n'a aucune valeur réelle
- Licence
- GPL-3.0-only, comme les crates du nœud complet que chaque client lie
Ou compilez-le vous-même
Le dépôt des clients contient le cœur Rust, l'interface partagée, chaque application et le packaging pour chaque boutique. Le cœur intègre le nœud complet en v0.6.7, la version qu'exécutait la chaîne 19, en tant que sous-module. Le guide de compilation passe en revue chaque client à partir d'une machine vierge, et la page de chaque client détaille ses propres étapes.
# Rust 1.98.1 (version figée ; rustup l'installe). Xcode 16+ pour iOS, JDK 17+ avec SDK 36 et NDK 27 pour Android, Node 22+ pour les extensions
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 .. # le cœur, y compris une vraie preuve (~1 min)
core/scripts/build-wasm.sh # → extension/shared/core/ (installe wasm-bindgen-cli)
core/scripts/build-ios.sh # → ios/Frameworks/RandWalletCore.xcframework
core/scripts/build-android.sh # → android/app/src/main/jniLibs/ (nécessite un NDK)
scripts/release/build-desktop.sh # l'application de bureau : dmg / msi / AppImage, deb, rpm
web/wallet/serve.sh # le portefeuille web local à http://127.0.0.1:8787/
# Ensuite : /clients/ios, /clients/android, /clients/chrome, /clients/firefox, /clients/macos …