Home | Desktop Wallet

How to build the Desktop Wallet from source?

Desktop Wallet version 2.x

The official ARK Desktop Wallet is an open-source, cross-platform and MIT-licensed project maintained by the ARK Team & Community.

It is an Electron-based JavaScript app developed with Vue.js & Tailwind CSS using the Node v12 runtime.

The ARK Desktop Wallet’s source code can be found at the following link: https://github.com/ArkEcosystem/desktop-wallet



Ubuntu requires additional libraries for kernel device management and hardware wallet support.

  • libudev-dev
  • libusb-1.0-0-dev

These may be installed using apt-get:

sudo apt-get install libudev-dev libusb-1.0-0-dev


Windows additionally requires Python 2.7 and Visual Studio 2017.

They may be downloaded and installed via the links provided below:

Node 12

Node.js v12 is the supported runtime for the ARK Desktop Wallet.

Download and install the appropriate Node v12 package from: https://nodejs.org/dist/latest-v12.x

If npm is already installed, we may also run the following as an alternative:

npm install -g n
sudo n 12



The Yarn dependency manager is also required and may be installed globally using the following npm command:

npm install -g yarn



Below is a list of useful yarn commands for building, testing and packaging the ARK Desktop Wallet.

script reference
# view `package.json` for more commands and details

# Install dependencies
yarn install

# Run the application using hot-reloading
yarn dev

# Lint all JS/Vue files in `src` and `__tests__`
yarn lint

# Lint and fix all JS/Vue files in `src` and `__tests__`
yarn lint:fix

# Create a compressed package of the collected code
yarn pack

# Build the Electron app for production (using the Current OS)
yarn build

# Build the Electron app for production (Windows)
yarn build:win

# Build the Electron app for production (Mac)
yarn build:mac

# Build the Electron app for production (Linux)
yarn build:linux

# Run unit and end-to-end (e2e) tests
yarn test

# Run unit tests
yarn test:unit

# Run unit tests, then generate and display the coverage report
yarn test:unit:coverage

# Run unit tests, then watch for changes before re-running tests
yarn test:unit:watch

# Run end-to-end (e2e) tests without building the Electron app
yarn test:e2e

# Build the Electron app, then run end-to-end (e2e) tests
yarn test:e2e:full

hint: The most common command used to build from source to a live instance is: yarn install && yarn dev


If you discover a security vulnerability within this package, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.


This project exists thanks to all the people who contribute.


MIT © ARK Ecosystem

2020 © ARK.io | All rights reserved | An ARK.io Product