Rand Protocol
ウォレット

Rand Wallet

プラットフォームごとに用意された、RAND 用のシールドウォレットです。spend key と rand1… アドレスを作成し、ご自身の鍵でチェーンをスキャンしてノートを見つけ、お手元のデバイス上で、またはご自身のプルーバーを通じて送金の証明を生成し、testnet の faucet に資金を請求します。さらに、randscan.org が機密トランザクションを開くために使う viewing key と、トランザクションごとの鍵も提供します。鍵を渡していない相手には、残高も支払いも一切見えません。ウォレット自体も例外ではありません。ウォレットはアカウントを持たず、保持するのはノートだけです。

サインアップまたはサインインすると、セールアカウント上にウォレットを作成できます。アドレスはそのまま割り当て分に紐付けられます。アカウントなしで、オフラインのままここで作成することもできます。

Rand Wallet のアイコン

iOS

ストア公開予定
モバイル · Swift · SwiftUI
配布元
テスト期間中は TestFlight、その後は App Store
動作要件
iOS 16 以降
ストアへの掲載は保留中です。審査が完了するまでは、ソースからビルドしてください。
Rand Wallet for iOS

Android

0.8.0 をダウンロード
モバイル · Java
配布元
Google Play(まずオープンテスト)
動作要件
Android 8(API 26)以降、arm64 または x86_64
Android 向けにダウンロード
Google Play への掲載は保留中です。
Rand Wallet for Android

Chrome

0.8.0 をダウンロード
ブラウザ拡張機能 · JavaScript · Manifest V3
配布元
Chrome Web Store。Edge と Brave にもインストールできます
動作要件
Chrome 116 以降
Chrome 向けにダウンロード
Chrome Web Store への掲載は保留中です。
Rand Wallet for Chrome

Firefox

0.8.0 をダウンロード
ブラウザ拡張機能 · JavaScript · Manifest V3
配布元
addons.mozilla.org
動作要件
Firefox 140 以降
Firefox 向けにダウンロード
Firefox アドオン への掲載は保留中です。
Firefox 向け Rand Wallet

Windows

0.8.0 をダウンロード
デスクトップ · Tauri · Rust core, shared interface
配布元
GitHub Releases の .msi インストーラー
動作要件
Windows 10 以降(WebView2 ランタイムが必要)。送金には 8 GiB のメモリが必要

macOS

0.8.0 をダウンロード
デスクトップ · Tauri · Rust コア、共通インターフェース
配布元
GitHub Releases の .dmg
動作要件
送信には 8 GiB のメモリ、ビルドには Xcode Command Line Tools

Linux

0.8.0 をダウンロード
デスクトップ · Tauri · Rust コア、共通インターフェース
配布元
GitHub Releases の .deb、.rpm、AppImage、または単体のバイナリ
動作要件
webkit2gtk 4.1、送信には 8 GiB のメモリ

Web

ローカルで実行
Web · JavaScript · WebAssembly コア
配布元
clients リポジトリのチェックアウトを、お使いのマシンで配信します
動作要件
Node 20 以降、最新のブラウザ
ご自身のチェックアウトから配信されます。どこかにホストされているわけではありません。
Web 版 Rand Wallet

バージョン 0.8.0、2026-10-12。ダウンロードはすべて GitHub 上の v0.8.0 リリースのファイルで、各クライアントのページに SHA-256 が記載されています。全一覧は SHA256SUMS にあります。ご自身でコンパイルする場合は、ソースからビルドしてください。ウォレットはデータを一切収集しません。プライバシーポリシー · 利用規約

ウォレットを作成

ここでオフラインのまま作成

右側のジェネレーターは、フルノード自身の鍵コードを WebAssembly にコンパイルして、このページに読み込んだものです。準備完了と表示されたら Wi‑Fi をオフにしても、そのまま動作します。spend key はお使いのデバイスの乱数から生成され、アドレスはその場で導出され、何も送信されません。送信先そのものが存在しないのです。

アドレスは rand1 に 1,667 文字が続く形式です。ウォレットのノート鍵と、送信者がノートを封印する宛先となる ML-KEM のカプセル化鍵で構成され、チェーン 18 と 19 が採用している形式です。(チェーン 11 では署名鍵の 54 文字のハッシュを試しましたが、送信者はハッシュに対してノートを封印できないため、元に戻しました。経緯はドキュメントに記録されています。)鍵ファイルを rand CLI または任意の Rand Wallet アプリに読み込み、rand address を実行すると、同じアドレスが表示されます。

配布のためにアドレスを登録しておきたい場合は、アドレスのページに同じジェネレーターがあり、保存先のアカウントも用意されています。必要なのはメールアドレスとパスワードで、保存されるのはアドレスのみです。

先にコードを確認したい場合は、フルノードの crates/randprotocol-zkvm/src/address.rs がそれにあたります。ブラウザ向けのラッパーは、このサイトのリポジトリにある server/address-wasm です。

このブラウザでウォレットを作成する
キーコードを読み込んでいます…
  1. 上のバッジがオフラインで使用可能と表示されるまで待ちます。ウォレットに必要なものはすべて、このタブの中に揃います。
  2. Wi‑Fi をオフにするか、機内モードにします。このタブは開いたままにしてください。
  3. 生成します。花費キーはお使いのデバイス自身の乱数から作られ、デバイスの外に出ることはありません。
  4. wallet.key.json をダウンロードし、アドレスをコピーします。その後、再接続します。

すべてのクライアント

すべてのプラットフォームで、ひとつのウォレット

どのプラットフォームでも、同じ鍵ファイル、同じアドレス形式、同じルールです。スマートフォンで作成したウォレットは、ブラウザや rand CLI にインポートでき、その逆も可能です。

ウォレットの作成
デバイス上でスペンドキーを生成し、保存用に一度だけ表示します。そこから導出された rand1… アドレスも作成されます。既存のキーや、rand CLI の wallet.key.json もインポートできます。すべてのクライアントが同じファイルをエクスポートします。
受け取りと送金
残高とは、お客様のキーだけが開けるノートの集合です。ウォレットはコミットメントツリーをスキャンしてそれらを見つけます。RAND または掲載されている RPL トークンの送金は、証明で承認される 4 入力 4 出力のバンドル 1 つで行われます。送り手、受け手、金額、どの資産が動いたかは、誰にも知られません。
ファウセット
ファウセットが開放されている testnet では、1 回のタップで 100 RAND が、お客様だけが開けるノートにミントされます。
開示は選んだものだけ
ビューイングキーをコピーして RandScan の「My history」を開くと、送受信したすべてのノートを確認できます。あるいは、1 件の支払いのトランザクションキーをコピーすれば、その支払いだけを開示できます。エクスプローラーはブラウザ内で復号し、キーをどこにも送信しません。
仕組み

ひとつのコア、あなたの鍵、あなたのプルーバー

すべてのクライアントは、フルノード自身のクレートから構築された単一の Rust コアをラップしています。Poseidon2 の鍵階層、ML-KEM-768 のエンベロープ、zkVM のプルーバーはいずれもノートのコードそのものであり、iOS 向けには XCFramework、Android 向けにはネイティブライブラリ、ブラウザ向けには WebAssembly、デスクトップアプリにはリンクされたクレートとしてコンパイルされます。その上にある Swift、Java、JavaScript がウォレット本体で、RPC クライアント、ノートストア、画面を担います。spend key はオペレーティングシステムの乱数からローカルで生成され、暗号化されたままデバイスに保管されます。ウォレットが RPC エンドポイントに送るのは、バンドルがいずれにせよ公開する内容、つまりコミットメント、ヌリファイア、封印されたエンベロープ、証明だけです。証明には約 5.7 GB のメモリが必要なため、デスクトップアプリと大型のスマートフォンは自分で証明を生成し、ブラウザ版ウォレットはご自身で運用するプルーバーとペアリングします。そのプルーバーには、そのプルーバー宛てにのみ封印された鍵が渡されます。

testnet のノート

送金する前に

チェーン
公開エンドポイントは、2026年10月12日 10:31 UTC から稼働している chain 21 を提供しています(fullnode v0.8.0 でカットされたものです)。ウォレットコアは fullnode v0.8.0 (c0878c3) をベンダリングしており、それ以外のチェーンは拒否します。chain 21 は制約セット 9 で動作するため、0.7.x のウォレットでは送金できず、このリリースでは chain 20 で送金できません。鍵とアドレスは引き継がれます。chain 20 をスキャンしていたウォレットは、別チェーンのバナーを一度だけ表示し、chain 21 のジェネシスから再スキャンします。ブリッジの入金と出金には zUSD で 0.1% の手数料がかかり、ウォレットは出金の前にその額を表示します。
RPC エンドポイント
設定 → ネットワーク。既定は https://rpc.randprotocol.org です。到達できる rand-node の RPC であればどれでも使え、保存された URL は保持される前に検証されます
証明
バンドル証明はメモリのピークが約 6.2 GB に達し、ノート PC の CPU では 1 分ほどかかります
ステータス
実験的な testnet 向けソフトウェアです。監査は受けていません。testnet 上の RAND に実際の価値はありません
ライセンス
GPL-3.0-only。すべてのクライアントがリンクするフルノードのクレートと同じです
ソースからビルド

ご自身でビルドする

クライアントのリポジトリには、Rust コア、共有インターフェース、すべてのアプリ、各ストア向けのパッケージングが含まれています。コアはサブモジュールとして、チェーン 19 が動かしたビルドである v0.6.7 のフルノードをベンダリングしています。ビルドガイドでは、まっさらなマシンからすべてのクライアントを順に説明しており、各クライアントのページにも個別の手順があります。

ソース
randprotocol/clients
GPL-3.0-only
コアをビルドし、次にクライアントをビルドする
bash
# Rust 1.98.1(固定。rustup がインストールします)。iOS には Xcode 16 以上、Android には SDK 36 と NDK 27 を備えた JDK 17 以上、拡張機能には Node 22 以上
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 ..       # 実際の証明を含むコア(約 1 分)

core/scripts/build-wasm.sh                     # → extension/shared/core/   (wasm-bindgen-cli をインストールします)
core/scripts/build-ios.sh                      # → ios/Frameworks/RandWalletCore.xcframework
core/scripts/build-android.sh                  # → android/app/src/main/jniLibs/(NDK が必要)
scripts/release/build-desktop.sh               # デスクトップアプリ:dmg / msi / AppImage、deb、rpm
web/wallet/serve.sh                            # http://127.0.0.1:8787/ のローカル Web ウォレット

# その後:/clients/ios、/clients/android、/clients/chrome、/clients/firefox、/clients/macos …