Volt
Volt Wallet
Install / Use
/learn @Zero-1729/VoltREADME
Volt
A modern descriptor-based Financial Freedom Bitcoin Wallet aimed at restoring sovereignty to Global Bitcoiners.
<img src="./assets/app_showcase.png" width=720>What are descriptors? Read more.
Features
- Descriptor-based HD wallet (
wpkh(KEY),pkh(KEY),sh(wpkh(KEY)),tr(KEY)) - Watch Only support
- Partially Signed Bitcoin Transactions (PSBTs) and Fee Bumping (RBF)
- Lightning Network support (BOLT11 & LNURL)
- Internal Wallet Lightning Swaps (Onchain ↔️ Lightning)
- Multi-lingual (English & Arabic)
Official Socials
<img src='./assets/x-voltbtc.png' width=512> <img src='./assets/nostr-voltbtc.png' width=512>
Download Beta
:warning: Warning: Volt is still in Beta, do not use it for large amounts of Bitcoin.
Android
IOS
- IOS Beta Test flight coming soon.
Supported BIPs
- BIP21 URI Scheme
- BIP32 Hierarchical Deterministic Wallets
- BIP39 Mnemonic code for generating deterministic keys
- BIP44 Multi-Account Hierarchy for Deterministic Wallets
- BIP49 Derivation scheme for P2WPKH-nested-in-P2SH based accounts
- BIP70 Payment Protocol
- BIP84 Derivation scheme for P2WPKH based accounts
- BIP86 Derivation scheme for PTR based accounts
- BIP173 Base32 address format for native v0-16 witness outputs
- BIP174 Partially Signed Bitcoin Transactions
Supported Bitcoin Tech
Lightning Implementation Overview
<img src='./assets/breezsdk_greenlight.png' width=720>Translation
For details on contributing to the app translation, please see the translation guide
Build
Note: Please ensure the version of Node and NPM you are using are >= the minimum LTS Node and NPM versions specified in the package.json file. The recommended Node and NPM versions are LTS versions (i.e. even-numbered releases). Run
node --version && npm --versionto get the versions of Node and NPM on your system if unsure.
Clone the repo locally and install the required npm dependencies:
$ git clone https://github.com/Zero-1729/volt
cd volt
yarn install
To run the wallet locally on, and build for, Android or IOS you'll need Android Studio and Xcode installed, respectively.
Breez SDK And Greenlight Credentials
Note: If any part of the original
.crtor.pemfiles are cut out, you will get the Breez SDK errorGeneric: transport error. See documentation here for more info.
Setup Environment file
Create a copy of the env.example
cp env.example .env
This command creates a .env file in the project root volt/. Then fill it with the appropriate info.
Read and Convert the .crt and .pem Files
You can read and convert the contents of your client-key.pem and client.crt files as binary/byte data, in their entirety without taking out any parts (e.g. BEGIN CERTIFICATE / END CERTIFICATE / BEGIN PRIVATE KEY / END PRIVATE KEY) to hex strings and add them to the .env file as GL_CUSTOM_NOBODY_KEY and GL_CUSTOM_NOBODY_CERT, respectively.
To run the app locally, you'll need to add the Breez SDK Greenlight credentials to the .env file:
# Contents of the '.env' file
# ...
GL_CUSTOM_NOBODY_KEY=YOUR_HEX_STRING
GL_CUSTOM_NOBODY_CERT=YOUR_HEX
Development
To run the wallet locally on your system, run the following in the project root (volt/):
This will start the Metro Bundler, which is the tool responsible for bundling the app's JavaScript code and assets into a single file that can be run on the device.
$ yarn run start
Note on Tailwind
Due to the way Tailwind works, you'll need to run the following command to build the Tailwind CSS file:
This builds the Tailwind styles in watch mode. You'll need to run this command in a separate terminal window to keep the Tailwind styles updated before running the app.
$ yarn run dev:tailwind
Running on Android (Virtual) Device
- Download and run the latest (stable) version of Android Studio.
- Launch Android Studio, and Open the project's android folder (
volt/android). - Open the
build.gradlefile in the current folder (volt/android), it'll take some time for Android Studio to set up. - Navigate to
AVD Managerunder theToolssections of the menu, and click "Create Virtual Device..." to create a virtual device. - Launch the newly created virtual device by clicking the
Playin theActionssection of the menu.
After setting up the virtual device, run the following in the project root (volt/) to launch the emulator:
The command builds the app and installs it on the virtual device or a connected Android device (if detected). Once launched, the app would take time loading the dependencies.
$ yarn run android
Running on IOS
To run the app using XCode's IOS emulator, you'll need to install the CocoaPod dependencies:
$ cd ios
$ yarn pod install
After installing the dependencies, to launch the app on the IOS emulator you'll need to navigate to the project root (volt) and run:
Note: If you have issues running the command above, you can also open Xcode and open the
ios/volt.xcworkspacefile and build/run the app from there.
yarn run ios
Responsible Disclosure
Email Zero-1729@protonmail.com with the title "volt: bug/vulnerability report" to disclose any critical bugs or vulnerabilities.
MIT © Zero-1729
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
