Skip to content

Latest commit

 

History

3,416 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volt

code style: prettier

⚠️ Warning: Volt is still in Beta, and very unstable, please do not use it for large amounts of Bitcoin or amounts you do not want to lose.

A modern descriptor-based Financial Freedom Bitcoin Wallet aimed at restoring sovereignty to Global Bitcoiners.

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) (Broken, will be fixed in v0.6 release)
  • Multi-lingual (English & Arabic)

Official Socials

Download Beta

⚠️ Warning: Volt is still in Beta, do not use it for large amounts of Bitcoin.

Android

  • Android APK coming soon.

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 (Spark)

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 --version to 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.

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.

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

Android

# Using npm
npm run android
 
# OR using Yarn
yarn android

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.gradle file in the current folder (volt/android), it'll take some time for Android Studio to set up.
  • Navigate to AVD Manager under the Tools sections of the menu, and click "Create Virtual Device..." to create a virtual device.
  • Launch the newly created virtual device by clicking the Play in the Actions section of the menu.

iOS

For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).

The first time you create a new project, run the Ruby bundler to install CocoaPods itself:

bundle install

Then, and every time you update your native dependencies, run:

bundle exec pod install

For more information, please visit CocoaPods Getting Started guide.

# Using npm
npm run ios
 
# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.

This is one way to run your app — you can also build it directly from Android Studio or Xcode.

Responsible Disclosure

Email Zero-1729@protonmail.com with the title "volt: bug/vulnerability report" to disclose any critical bugs or vulnerabilities.


MIT © Zero-1729

About

Volt Wallet

Resources

Contributing

Security policy

Stars

60 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages