Rand Protocol
Desktop

Rand Wallet for Linux

The desktop app: the shared wallet interface in the system webview, over the Rust core linked directly. It is the one client that proves a transfer on your own computer, and it can prove for your browser wallet too.

Version 0.8.0, 2026-10-12. Check the download against its SHA-256 before you open it.

Rand Wallet icon
Built with
Tauri · Rust core, shared interface
Distributed through
a .deb, an .rpm, an AppImage or the bare binary, from GitHub Releases
Requires
webkit2gtk 4.1; 8 GiB of memory to send
Sending
Proves on this computer
Download

Version 0.8.0

The files are attached to the v0.8.0 release on GitHub; the buttons here are links to them, and nothing is served from this site.

  1. Debian and Ubuntu: sudo apt install ./ followed by the .deb's name. Fedora and openSUSE: sudo dnf install ./ (or zypper install ./) followed by the .rpm's name. Both pull in webkit2gtk 4.1.
  2. AppImage: chmod +x the file and run it. Nothing is installed.
  3. The .tar.gz is the executable on its own, for a distribution none of those fit. It needs the distribution's webkit2gtk 4.1 package, and the INSTALL file inside says where the binary, the icon and the launcher entry go.
  4. It is the same interface the browser extension shows, in a native window.
Debian, Ubuntu (.deb)
x86_64 · 6.5 MB
Download
rand-wallet-0.8.0-linux-x86_64.deb
SHA-256 71329febbb1172189e4288346ada1bdecc8672f2ac9fe7397e33b4556a223f32
Fedora, openSUSE (.rpm)
x86_64 · 6.5 MB
Download
rand-wallet-0.8.0-linux-x86_64.rpm
SHA-256 f5d1c0a923e9f74888023f8d441cac5cdc199e2b30691193ca961d1792e3803f
AppImage
x86_64, any distribution · 80.9 MB
Download
rand-wallet-0.8.0-linux-x86_64.AppImage
SHA-256 47dfdbd45ce43fe3481878cf0bbd61b9223558699db800dc04cc281e51c9e076
Binary (.tar.gz)
x86_64, the bare executable · 6.4 MB
Download
rand-wallet-0.8.0-linux-x86_64.tar.gz
SHA-256 88a1d15209ff1a7188bb5ae095d7695270ea3565a0dad8d8fe08cab8edbcabd5
Debian, Ubuntu (.deb)
arm64 · 6.5 MB
Download
rand-wallet-0.8.0-linux-arm64.deb
SHA-256 0904195f56a63076d845cccee4a8a654a7496470407f3b8b480bba7eaa5cc780
Fedora, openSUSE (.rpm)
arm64 · 6.5 MB
Download
rand-wallet-0.8.0-linux-arm64.rpm
SHA-256 5b9313a944510d54ae5170e8ecb7399d62743ba16b5e6174332ae8260f5dcc53
AppImage
arm64, any distribution · 79.1 MB
Download
rand-wallet-0.8.0-linux-arm64.AppImage
SHA-256 fa861bd85b1dd92920bc4b3de3e20cf6c3cff529a10cc0c0740f5d4aa7a8c5d5
Binary (.tar.gz)
arm64, the bare executable · 6.3 MB
Download
rand-wallet-0.8.0-linux-arm64.tar.gz
SHA-256 5cdc5c18cd01786b7b04c7af8fc16c9f3db8316e7b86335a1bc7763ad9a6e8a4
Check what you downloaded
SHA256SUMS
# with SHA256SUMS downloaded into the same folder as the file
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# or print the sum of one file and compare it with the one above
shasum -a 256 rand-wallet-0.8.0-linux-x86_64.deb

A matching sum says the file is the one that was published. It does not say the file was built from the source: the builds are not reproducible bit for bit yet, so if that is what you need to know, build it yourself.

Sending

Proves on this computer

The desktop app is the one client in which a transfer is proved end to end on the machine you are holding. The wallet core is linked into the app as a Rust crate, so the prover runs natively and the only limit is the machine's memory: a bundle proof peaks at about 6.2 GB, and below 8 GiB of RAM the app declines to start one rather than be stopped half-way through.

A proof takes about a minute on a laptop CPU. The Send screen reports each step (selecting, witness, proving, submitting, confirming), and the auto-lock waits for a transfer in flight instead of dropping the key mid-proof.

The desktop app also proves for your other wallets. Settings → Prove for my other devices gives a pairing link that the browser extension or the local web wallet on the same machine pastes into its Settings → Prover.

Your keys

Where the key lives

The spend key is the wallet's one secret. There is no account and no server holding a copy: lose the key and nobody can restore it, so save it when the wallet shows it to you.

Spend key
Encrypted at rest in a password vault, the same one every other shell uses: AES-256-GCM under PBKDF2-SHA256 at 600,000 iterations. While unlocked, the plaintext key lives only in the app's own process memory.
Data
One wallet.json under ~/.config/RandWallet, readable by your user only. It holds the vault, the settings and the note store, a cache of public chain data that a rescan rebuilds.
Network
Only the RPC URL in Settings. Links open only randscan.org and randprotocol.org; the app is not allowed to open any other host.
Also

What the desktop app does not do

Bridge burns, staking, contract deploys and confidential calls are not in the app. Export the key file from Settings and use the rand command-line wallet from the full node repository for those; the same key works in both.

Build from source

Or build it yourself

  1. Install the libraries the app links against and the packaging tools (Debian and Ubuntu names below; other distributions carry equivalents), rustup and Node 22 or later.
  2. The first build compiles the prover and takes several minutes.

Toolchain: Rust 1.98.1, pinned in the repository, which rustup installs. The build guide covers every client from a clean machine. Source directories: desktop/, ui/, core/.

Rand Wallet for Linux
bash
sudo apt install build-essential libwebkit2gtk-4.1-dev libayatana-appindicator3-dev \
  librsvg2-dev patchelf rpm file
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # the release; core/vendor/fullnode @ v0.8.0 (c0878c3)
cargo install tauri-cli --version "^2.0.0" --locked   # once
scripts/release/build-desktop.sh   # AppImage, .deb, .rpm, .tar.gz → dist/release/
cd desktop/src-tauri && cargo tauri dev   # or run it from source
Every client

What it does, on every platform

Create a wallet
A spend key generated on the device, shown once for you to save, and the rand1… address derived from it. Import an existing key, or a wallet.key.json from the rand CLI; every client exports the same file.
Receive and send
Your balance is the set of notes only your key can open; the wallet scans the commitment tree to find them. A transfer of RAND or of any listed RPL token is one 4-in-4-out bundle authorised by a proof. Nobody learns the sender, the receiver, the amount or which asset moved.
Faucet
On a testnet with an open faucet, one tap mints 100 RAND into a note only you can open.
Disclose only what you choose
Copy your viewing key and open My history on RandScan to see every note you sent or received, or copy one payment's transaction key to disclose exactly that payment and nothing else. The explorer decrypts in your browser and never sends the key anywhere.

Viewing keys and transaction keys open on randscan.org.

Testnet notes

Before you send anything

Chain
The public endpoint serves chain 21, live since 12 Oct 2026 10:31 UTC (cut on fullnode v0.8.0). The wallet core vendors fullnode v0.8.0 (c0878c3) and refuses any other chain: chain 21 runs constraint set 9, so a 0.7.x wallet cannot send on it, and this release cannot send on chain 20. Keys and addresses carry over; a wallet that scanned chain 20 shows a different-chain banner once and rescans from chain 21's genesis. Bridge deposits and withdrawals keep a 0.1% fee in zUSD, which the wallet shows before you withdraw.
RPC endpoint
Settings → Network. Defaults to https://rpc.randprotocol.org; any rand-node RPC you can reach works, and a saved URL is checked before it is kept
Proving
A bundle proof peaks at about 6.2 GB of memory and takes about a minute on a laptop CPU
Status
Experimental testnet software. Not audited. RAND on the testnet carries no real value
Licence
GPL-3.0-only, like the full node crates every client links
Other clients

One wallet, every platform

The same key file, address format and rules everywhere: a wallet created here imports into any other client and into the rand CLI.