Zenith

Features
Zenith simplifies your interactions with your Zebra full node, providing an interface that allows you to:
- Create and manage multiple wallets.
- Create and manage multiple accounts and addresses per wallet.
- View your Zcash balance and see your transactions and shielded memos.
- Send Zcash transactions to Unified Addresses, Sapling addresses, transparent addresses and TEX addresses.
- View the value of your ZEC balance in the currency of your choice.
- Generate and accept Payment URIs.
- Generate and import Unified Viewing Keys.
- Importing existing wallets from a seed phrase.
Zenith also has a Text User Interface (TUI) for users that may not have access to a graphical desktop environment.
For more advanced use cases, Zenith includes a RPC server that allows programmatic access to the wallet and the Zcash blockchain.
Zenith is an open source application written in Haskell, generously supported by Zcash Community Grants and is available in our code repository.
Zenith Privacy Levels
Starting on version 0.7.0.0-beta, Zenith offers their users a set of policies to manage the information they want to disclose in their transactions in a simple way.
We have four levels, Full
, Medium
, Low
and None
.
Full
This policy only allows sending funds within a shielded pool. It does not allow for transfer across shielded pools.
Element | Is Private? |
---|---|
Sender | |
Receiver | |
Amount |
Medium
This policy allows funds to cross shielded pools, which does reveal the amount transferred.
Element | Is Private? |
---|---|
Sender | |
Receiver | |
Amount |
Low
This policy allows funds to be transferred outside of the shielded pools into the transparent pool. This reveals the amounts as well as the receiver of the funds.
Per ZIP-320, this policy will not allow sending of funds to a TEX address to avoid loss of funds.
Element | Is Private? |
---|---|
Sender | |
Receiver | |
Amount |
None
This is the only policy that allows the spending of transparent notes in the wallet. This policy only allows transparent receivers, including TEX addresses per ZIP-320.
Element | Is Private? |
---|---|
Sender | |
Receiver | |
Amount |
Zenith Installation
- Install the Nix Package Manager.
- Enable nix flakes by adding the following to
~/.config/nix/nix.conf
:
experimental-features = nix-command flakes
Install Zenith on your profile:
GUI:
nix profile install git+https://code.vergara.tech/Vergara_Tech/zenith?ref=master#gui --impure
Console and RPC server:
nix profile install git+https://code.vergara.tech/Vergara_Tech/zenith?ref=master
Configuration
You need a zenith.cfg
file present in the ~/Zenith
folder with the following fields:
nodeUser
: The user that the RPC server will use for authentication.nodePwd
: The password the RPC server will use for authentication.nodePort
: The port the RPC server will use. Default is8234
.dbFileName
: The name of the wallet’s database. Default iszenith.db
.zebraHost
: The host where Zebra is running. Zebra must be configured to not use cookie authentication. The default islocalhost
.zebraPort
: The port where Zebra’s RPC server is available. The default is8232
.currencyCode
: The currency code for ZEC exchange rate (usd
,eur
,gbp
, etc). The default isusd
.logLevel
: The verbosity of logs (error
,warn
,info
ordebug
). The default iserror
.
Usage
Note: This is beta software under active development. We recommend you always back up your seed phrase and keep it safe. Zenith runs on the network Zebra is running, to use the testnet you need to configure your Zebra node to run on testnet.
Graphical User Interface
To start in graphic mode, use zenithgui
Zenith will attempt to connect to the node and start up, the app will guide you through the creation of the first wallet.
We recommend you back up your wallet seed by clicking the menu and the Backup Wallet
button.
Demo
Text User Interface
To start in text mode, use zenith tui
.
Zenith will attempt to connect to the node and start up, the app will guide you through the creation of the first wallet.
We recommend you back up your wallet seed by pressing the W
key to display the Wallet menu, and then the S
key to display your seed.
Zenith displays the different actions and their hotkeys highlighted in green:
RPC Server
The Zenith RPC server is distributed as a separate binary, zenithserver
:
$ zenithserver
Zenith RPC Server 0.10.0.0-beta
------------------------------
Connected to TestNet Zebra v2.3.0 on port 18232
The available RPC methods are described in detail in the Zenith OpenRPC spec.
For a demo of interacting with the RPC server, see the screencast below:
Support
If you would have any questions or suggestions, please join us on our Support channel or submit an issue in our code repository