Secure identity + payments wallet for the BSV ecosystem, built with Tauri and React. This project is open for contributors who want to improve the wallet experience, security, and developer tooling.
- Offer a trustworthy BSV wallet that speaks modern protocols (BRC-100, Wallet Wire) and handles identity, permissions, and simple recovery by design.
- Provide an approachable codebase for contributors: Tauri for native, Vite + React + MUI on the frontend, Rust for the glue.
- Make it easy for app developers to integrate—JSON API over TCP/3321 today, Wallet Wire on TCP/3301 coming up.
- Prereqs: Node 18+, Rust toolchain, Tauri CLI (
npm i -g @tauri-apps/cliif needed). - Install:
npm i - Run dev:
npm run tauri dev - Log in: Generate or paste your private key or seed phrase. Simple as that.
- Build prod:
npm run build(frontend) ornpm run tauri build(native bundle).
If you hit macOS build issues for Rollup, install npm i -g @rollup/rollup-darwin-x64.
src/— React app (routes underpages, shared UI undercomponents, theme incomponents/Theme.tsx, context inWalletContext.tsxandUserContext.tsx).src-tauri/— Tauri host, TLS helper, updater, and native integrations.public/— Static assets for the Vite app.scripts/— Dev helpers (toolbox links, versioning).docs/— Static docs site.binaries-site/distributes binaries, deployed with CARS.- CI/CD with GitHub Actions.
- Type check & lint:
npm run lint - Frontend build:
npm run build - Native run:
npm run tauri dev - Native build:
npm run tauri build - Format:
npm run format
We love thoughtful contributions. A great PR usually:
- Opens an issue (or comments on one) describing the change and risk areas.
- Keeps scope tight (one concern per PR).
- Includes tests or manual test notes.
- Documents any config/env changes.
- Screenshots for UI tweaks.
Please file bugs with clear repro steps and platform info. For security-related findings, contact us privately first.
- Stick to the User Wallet palette and typography (see
components/Theme.tsx). - Prefer accessible components and keyboard-friendly interactions.
- Add concise comments only where logic isn’t obvious.
- TypeScript strictness: favor explicit types for public APIs.
- Avoid silent catches; surface actionable errors to the UI/toast where relevant.
- Keep modules cohesive; extract helpers over adding one-off inline lambdas.
- Open a GitHub issue for bugs or feature requests.
- For wallet behavior questions, include logs and platform (macOS/Windows/Linux) plus steps to reproduce.
- Wallet Wire support on TCP/3301
- Better permissions that don't annoy users
- Consider the ability to port / log-in with WAB-based accounts.
The license for the code in this repository is the Open BSV License.
