1 · Introduction
Dark Wallet is an open-source, privacy-centric multi-chain wallet. It supports native Bitcoin, EVM chains and upcoming zero-knowledge roll-ups, wrapping them inside a single UX.
2 · Installation
2.1 · Desktop builds
Grab the latest signed release from GitHub → darkwallet-vX.X.X-setup.exe
.
# Linux example wget https://github.com/dark-wallet/releases/download/vX.X.X/DarkWallet.AppImage chmod +x DarkWallet.AppImage ./DarkWallet.AppImage
2.2 · Mobile builds
Android APK is distributed via F-Droid to avoid geo-blocking.
iOS build is signed with a personal team certificate; add our public key to your device profile.
2.3 · Building from source
git clone https://github.com/dark-wallet/dark-wallet.git cd dark-wallet pnpm install pnpm build --filter desktop
3 · Configuration
First launch generates ~/.config/darkwallet/config.toml
.
Edit values or pass overrides via DARKWALLET_*
env vars.
Key | Description | Default |
---|---|---|
eth_rpc | Mainnet JSON-RPC endpoint | |
tor_port | SOCKS port for Tor routing | 9050 |
anon_lvl | Privacy/speed slider (0-100) | 70 |
auto_update | Enable in-app updater | true |
4 · CLI Reference
4.1 · Balance
$ dwctl balance --chain eth 0x12ab…cd34 ETH : 0.7421 USDC : 1 203.55
4.2 · Send
dwctl send --to 0xReceiver… --amount 0.01 --asset ETH --fast
5 · JavaScript API
import { DarkWallet } from "@dark/wallet"; const dw = await DarkWallet.create({ seed: process.env.SEED_PHRASE, rpc : "https://rpc.ankr.com/eth" }); await dw.send("0xReceiver…", "0.01", "ETH"); console.log("tx:", dw.lastTx);
6 · Security Best Practices
- Enable biometric unlock on desktop & mobile builds.
- Store an encrypted backup of your 24-word seed in two separate locations.
- Verify SHA-256 signatures of downloaded binaries before installing.
- Use a hardware key (Ledger / Trezor) for high-value transfers via the USB bridge.
7 · Troubleshooting
7.1 · Common runtime errors
ERR_MODULE_NOT_FOUND: update NodeJS & clear pnpm cache EHOSTUNREACH (Tor): check that tor_port is correct & Tor is running EACCES on keystore: ensure directory permissions = 700
7.2 · FAQ
“AppImage won’t start” — make sure your partition is mounted exec
or run via ./AppImage --appimage-extract
.
8 · Glossary
CoinJoin — collaborative transaction mixing technique that obfuscates inputs and outputs.
zk-Proof — cryptographic proof showing knowledge of a value without revealing it.
Tor — overlay network directing traffic through volunteer relays for anonymity.