Zenith

Features

Zenith simplifies your interactions with your Zebra full node, providing an interface that allows you to:

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
G Full Sender Sender Receiver Receiver Orchard Orchard o2 Orchard Orchard->o2 Sapling Sapling s2 Sapling Sapling->s2 Transparent Transparent t2 Transparent

Medium

This policy allows funds to cross shielded pools, which does reveal the amount transferred.

Element Is Private?
Sender
Receiver
Amount
G Medium Sender Sender Receiver Receiver Orchard Orchard o2 Orchard Orchard->o2 s2 Sapling Orchard->s2 Sapling Sapling Sapling->o2 Sapling->s2 Transparent Transparent t2 Transparent

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
G Low Sender Sender Receiver Receiver Orchard Orchard o2 Orchard Orchard->o2 s2 Sapling Orchard->s2 t2 Transparent Orchard->t2 Sapling Sapling Sapling->o2 Sapling->s2 Sapling->t2 Transparent Transparent TEX TEX

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
G Low Sender Sender Receiver Receiver Orchard Orchard o2 Orchard Sapling Sapling s2 Sapling Transparent Transparent t2 Transparent Transparent->t2 TEX TEX Transparent->TEX

Zenith Installation

Code Repository

experimental-features = nix-command flakes

Configuration

You need a zenith.cfg file present in the ~/Zenith folder with the following fields:

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:

asciicast

Support

If you would have any questions or suggestions, please join us on our Support channel or submit an issue in our code repository