Zclassic-Zepio | ZEC Wallet

Zclassic-Zepio | ZEC Wallet

September 18, 2019 by admin
zepio zclassic wallet

Zepio is a Sapling-enabled shielded-address-first Zcash wallet, featuring cross-platform applications (macOS, Windows and Linux), built-in full node with support for mainnet and testnet, as well as dark and light themes.

Build Status Flow Coverage

Latest Documentation

Latest Release

Zepio Wallet

Stack Information

List of the main open source libraries and technologies used in building Zepio:

  • zcashd: Zcash node daemon
  • Electron: Desktop application builder
  • React: User interface view layer
  • Redux: Predictable application state container
  • Styled Components: Visual primitives for theming and styling applications
  • webpack: Application module bundler (and more)
  • Babel: ES7/JSX transpilling
  • ESLint: Code linting rules
  • Flow: JavaScript static type checker
  • Docz: Documentation builder

Installing and Running From Source

To run Zepio from source you’ll need to perform the following steps:

# Ensure you have Node LTS v8+
# https://nodejs.org/en/

# Clone Codebase
git clone git@github.com:ZcashFoundation/zepio.git

# Install Dependencies
# inside of the `zepio` folder
yarn install
# or
npm install

# Start Application
# webpack development server hosts the application on port
# 8080 and launches the Electron wrapper, which also hosts
# the `zcashd` node daemon process.
yarn start
# or
npm start

Building Application Locally

To build the application locally follow the instructions below:

# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn electron:distall

# Executables and binaries available under `/dist` folder

Flow Coverage (Static Type Checker)

For a deeper look on the static typing coverage of the application, please follow below:

# Make sure you are inside of the main `zepio` folder

# Generate Flow Coverage Report
# this can take a couple seconds
yarn flow:report

# Browser should open with the file `index.html` opened
# Files are also available at `zepio/flow-coverage/source`

Component Library (Docz)

To see Zepio’s React component library, please visit https://zepio-components.now.sh. We’re always looking for folks to help keep the styleguide updated.

To run the component library locally, run the following:

# Make sure you are inside of the main `zepio` folder

# Run Docz Development Script
yarn docz:dev

# Visit

To build the component library locally, run the following:

# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn docz:build

# Check `/.docz/dist` folder for built static assets


To run the application’s tests, please run the below:

# Make sure you are inside of the main `zepio` folder

# For Unit Tests: Run Jest Unit Test Suite
yarn test:unit

# For E2E (end-to-end) Tests: Run Jest E2E Suite
yarn e2e:serve
# on another terminal window
yarn test e2e


In order to contribute and submit PRs to improve the Zepio codebase, please check our CONTRIBUTING guide.


MIT © Zcash Foundation 2019 zfnd.org


Type Name Latest commit message Commit time
__mocks__ test(unit): add electron-store mock 6 months ago
__tests__ test(e2e): fix status-pill content assert 4 months ago
app feat(loading-screen): improve status message 4 months ago
bin feat(zcashd): upgrade to 2.0.4 6 months ago
build-assets chore: update zec-wallet icon 8 months ago
config feat(loading-screen): improve status message 4 months ago
flow-custom-typedefs chore: settings copy and styles 7 months ago
public fix(app-name): rename to “Zepio” 6 months ago
scripts feat(release): change binaries filenames 5 months ago
services fix(rpc): log calls and error and add an ECONNREFUSED handler 4 months ago
utils fix(script): fix clean-store script 5 months ago
.babelrc hotfix: add electron-compiler 9 months ago
.env.example feature: setup dotenv 9 months ago
.eslintignore type(libs): add custom typedefs 8 months ago
.eslintrc lint(import): add import/no-default-export rule 8 months ago
.flowconfig type(styled): add theme as default prop in interpolations 7 months ago
.gitignore feature: setup dotenv 9 months ago
CODE_OF_CONDUCT.md docs: adding code of conduct 10 months ago
CONTRIBUTING.md chore(docs): updating and improving documentation 5 months ago
DEVELOPMENT_WORKFLOW.md chore(docs): updating and improving documentation 5 months ago
LICENSE.md chore(docs): updating and improving documentation 5 months ago
README.md chore(packagejson): adding bitrise badge 5 months ago
coverage.json type(libs): add new typedefs 8 months ago
doczrc.js chore(docs): updating and improving documentation 5 months ago
yarn.lock feat(codesign): add codesign script 5 months ago


Getting Started with Zepio Wallet


Zepio‘s Dashboard is the entry point of the application. This is where a user can get an overview of the latest state and updates to the wallet. More specifically, a user is faced with the following when inside of the Dashboard:

  • Overview of the balance of coins available for spending (shielded and transparent).
  • Balance of any unconfirmed transactions.
  • Overview of the USD-denominated value of the funds.
  • Chronological list of the most recent transactions performed within the wallet.
  • Details of a specific transaction.
  • Network base chain (mainnet or testnet).
  • Full node daemon status (built-in or custom).
  • Network synchronization status pill (readysyncingerror).


The Send view provides an easy way to send ZEC to any other Zcash address. To the right is an overview of the transaction being created, and to the right you will find a smart form. To begin, select a source address to send ZEC from — the selector shows all available addresses and their respective funds.

Next, select a ZEC amount that you wish to send. Use the arrow to the right of the input if you wish to send all of the funds available in that address.

The next field is the Zcash address the funds are being sent to. It’s a smart input, so all addresses pasted are checked for validity. You will see either VALID or INVALID to the right of the input — you won’t be able to submit a transaction to an address that does not validate. If sending to a shielded address, the user will also be shown a memo field that accepts either HEX or ASCII formatting.

It is advised to use the default fee of 0.0001 ZEC to refrain from having your transactions distinguished from the rest. That being said, if you’d like to send a transaction with a specific transaction fee, just use the Show Additional Options toggler. Low, medium, and high amounts are proposed, but you are also able to enter a custom ZEC value.

After submitting the transaction, you will be presented with a modal detailing the information and requesting final confirmation to propagate the transaction through the full node.


The Receive view provides information about all addresses in the wallet. For complete privacy on your transactions, make sure to use shielded addresses (start with zs). Transparent addresses, which provide no privacy capabilities, are available inside Show Other Address Types. You are able to generate as many addresses as needed, both shielded and transparent addresses.

Clicking on the address item itself will present you with a QR code and more details about the address, such as address and available funds. Along with the copy address buttons, you are just 1 to 2 clicks away from receiving funds.


The Transactions view showcases all of the transactions that you have performed with the wallet. It’s structured in chronological order for easier finding and tracking of transactions. The transaction item displays the time at which the transaction took place, whether it is a sending or receiving transaction, the ZEC and USD values sent, and the address being sent to/from. For shielded transactions you may see (Shielded) instead.

By clicking in any of the transaction list items, you will be prompted with a Transaction Details modal.

Transaction Details

Transaction Details modal shows you more information pertinent to the transaction. You will be able to see the exact date/time the transaction took place, the value of ZEC (and USD) being sent/received, as well as the transaction ID. By clicking on the transaction ID, you will be taken to a Zcash Block Explorer. Do note that if you perform shielded-to-shielded transactions, the details in the Block Explorer will be rather limited and non-existent. Additionally, you can also see the number of confirmations for that specific transactions.


The Settings view provides options to further configure Zepio for your own specific wants and needs. The following actions are possible inside of the Settings view:

  • Change between mainnet and testnet Zcash chains.
  • Toggle between Light and Dark Zepio themes.
  • Import and export address-specific private keys.
  • Backup wallet.dat file.


The Console view displays the information from the built-in zcashd full node. It provides further insights into the status of the embedded node such as block height, network solution rate, and number of connections. It also details the longevity of the running node process.

In case you run into any synchronization issues, the Console is a good place to start getting more details.

Please note that if you are running your own zcashd full node, Zepio will not display the Console view.

  • zelcashZelCash (ZEL) $ 0.040733 2.08%
  • snowgemSnowGem (XSG) $ 0.060265 0.28%
  • ycashYcash (YEC) $ 0.140394 2.32%
  • bitcoinzBitcoinZ (BTCZ) $ 0.000070 23.41%
  • hushHush (HUSH) $ 0.052007 2.77%
  • bitcoin-privateBitcoin Private (BTCP) $ 0.086943 23.74%
  • bithereumBithereum (BTH) $ 0.004160 0%