Need help with bitshares-ui?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

505 Stars 557 Forks MIT License 9.4K Commits 437 Opened issues


Fully featured Graphical User Interface / Reference Wallet for the BitShares Blockchain

Services available


Need anything else?

Contributors list



This is a light wallet that connects to a BitShares API provided by the witness_node executable.

It stores all keys locally in the browser, never exposing your keys to anyone as it signs transactions locally before transmitting them to the API server which then broadcasts them to the blockchain network. The wallet is encrypted with a password of your choosing and encrypted in a browser database.

Getting started

BitShares-UI depends node Node.js, and version 8+ is required.

On Ubuntu and OSX, the easiest way to install Node is to use the Node Version Manager.

To install NVM for Linux/OSX, simply copy paste the following in a terminal:

curl -o- | bash
nvm install v9
nvm use v9

Once you have Node installed, you can clone the repo:

git clone
cd bitshares-ui

Before launching the GUI you will need to install the npm packages:

npm install

Running the dev server

The dev server uses Express in combination with Webpack.

Once all the packages have been installed you can start the development server by running:

npm start

Once the compilation is done the GUI will be available in your browser at:

. Hot Reloading is enabled so the browser will live update as you edit the source files.


By default bitshares-ui connects to the live BitShares network, but it's very easy to switch it to the testnet run by Xeroc. To do so, open the UI in a browser, go to Settings, then under Access, select the Public Testnet Server in the dropdown menu. You should also change the faucet if you need to create an account, the testnet faucet address is

The UI will reload and connect to the testnet, where you can use the faucet to create an account and receive an initial sum of test BTS.



If you'd like to host your own wallet somewhere, you should create a production build and host it using NGINX or Apache. In order to create a prod bundle, simply run the following command:

npm run build

This will create a bundle in the ./build/dist folder that can be hosted with the web server of your choice.

Installable wallets

We use Electron to provide installable wallets, available for Windows, OSX and Linux Debian platforms such as Ubuntu. First, make sure your local python version is 2.7.x, as a dependency requires this.

On Linux you will need to install the following packages to handle icon generation:

sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils

For building, each architecture has it's own script that you can use to build your native binary:


npm run package-deb

npm run package-win

npm run package-mac

This will compile the UI with some special modifications for use with Electron, generate installable binaries with Electron and copy the result to the root



Clone this repository, run

docker-compose up
and visit localhost:8080

Contributing & Coding style guideline


Code of Conduct

This repository has a Code of Conduct that should be followed by everyone. Please read

Please keep comments constructive and clean


The BitShares UI is integrated with BrowserStack ( to allow manual compatibility testing across devices and browser versions. In the future we will switch to a automated Selenium testing framework. image

Release Branches

Development is processed through two week milestones. There are three branches that forms the current release process.


All PRs should be pushed to the

branch. At the end of each milestone this branch is pushed to
. New commits are automatically deployed to this branch and published for review.

Available for browsing on

Staging (Current Release Candidate)

At the end of each milestone,

branch is pushed to staging and forms the Release Candidate. The date of the RC forms the name, ie. 190214-RC*.

Application breaking issues and bugs should be submitted to the issue tracker and PRs should be pushed to


Available for browsing on

Master (stable)

When all issues to the current RC are fixed,

branch is released to the stable

Available for browsing on, which is the official reference wallet for Bitshares.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.