Swing Wallet Introduction


The developers will be monitoring this thread and replying to issues, so, let’s get this going!

All documentation below this line is in progress, and should be considered inaccurate/untested until I have time to finish it up. Everything above the below line will be removed once the below content is ready.

Please post any feedback or suggestions below, and I’ll update the OP as soon as I’m able.

Before following any instructions from anywhere, create a backup of your private keys! This is the single most important thing you’ll learn today.

0. About

The Swing wallet is developed by @vaklinov, and is Java based. It’s basically a front end to zend and zen-cli and comes packaged with them, it requires downloading the full blockchain before being able to see or make transactions. Swing wallet supports shielded transactions, but not wallet or private key encryption.

1. Getting Started


You can download the pre-built wallet complete with required zend and zen-cli binaries here. Just scroll down until you see the most recent version for your OS.


Extract the included folder to your desired destination. Many people like to extract it to ~/Builds/ or %HOMEPATH%/Builds/. This directory will henceforth be called %SWING_HOME%.

2. General Use


Swing wallet allows users to backup their coins using two methods:

  • Full wallet backup
  • Direct Private Key backup
Full wallet backup

The wallet.dat file contains the private keys to your current addresses, plus a small number of additional addresses for future use. It needs to be backed up regularly, typically after every 30-40 outgoing transactions , or after any shielded address is generated! To back it up you must first close the wallet, and then you may manually copy the file to a secure location.

The wallet.dat file is stored in the following locations:

  • Windows: %APPDATA%/Zen/
  • Linux : %APPDATA%/Roaming/Zen/
  • OS X : ~/Library/Application Support/Zen/
Direct Private Key backup


Reciving and Sending coins




3. Troubleshooting

0 network connections

This is indicative of a networking/firewall or similar issue which is currently outside of the scope of this post.

Wallet takes a long time to open

This is often caused by a wallet.dat file that’s grown very large.

  1. Export the private keys of any addresses that contain funds
  2. Change the name of the existing wallet file to something different
  3. Start Zen so it creates a new wallet file
  4. Import the keys.

Broken blockchain error

Reindexing the blockchain normally fixes this error.
After taking a backup of your wallet.dat, run %SWING_HOME%/app/zend --reindex from your Command Prompt or Terminal.

Reindexing is slow

If you have a backup of the blockchain at a known good point, you can restore that and not have to reindex, you’ll only have to resync from the most recent block in the backup.

To create a backup:

  • Copy the healthy blockchain from %SWING_HOME%/app/blocks/ to your backup location.

To restore a backup;

  • Copy the healthy blockchain back to %SWING_HOME%/app/blocks/.

4. Notable Files

  • Swing executable: %SWING_HOME%/ZENCashSwingWalletUI.exe
  • Wallet debug log: %SWING_HOME/app/debug.txt
  • Zen binaries: %SWING_HOME%/app/
    • zend
    • zen-cli
    • zen-tx
  • zend debug log:
    • Windows: %APPDATA%/Zen/debug.log
    • OS X: ~/Library/Application Support/Zen/debug.log

The following should likely be left alone, unless you really know what you’re doing:

  • Logging configuration file: %SWING_HOME%/rt/lib/logging.properties
  • Networking configuration file: %SWING_HOME%/rt/lib/net.properties

I have more questions!

Then checkout the documentation on Github. You’re also welcome to post a new topic with a question, or ask us on our Discord server!


In recent days an increasing number of users have reported problems with the ZENCash Desktop GUI Wallet that are of type “broken blockchain”. This started happening without an actual software change in the GUI or zend. Such problems have been known before (rarely occurred) and have been attributable to unclean zend shutdowns (e.g. PC reboot/sleep without quitting the wallet). This problem is being investigated but due to its sporadic nature may take time to pinpoint… once a fix is made available a new wallet release will be made. The workaround to do reindexing is not very convenient but still allows uses to recover from the problem… Most likely the problem is not in the GUI itself!

The ZEN private keys are located in the wallet.dat file in directory:
Windows: %APPDATA%/Zen/
Mac OS: ~/Library/Application Support/Zen/

To make sure your ZEN is not lost, the most important thing is to keep a backup copy of your wallet.dat file - it must never be lost! It may be copied manually when the GUI wallet/zend are not running. The wallet.dat needs to be backed up regularly (not just once - say after every 30-40 outgoing transactions) and it MUST also be backed up after creating a new Z address.

Once you make sure you have a wallet backup in a safe place, the broken-blockchain problem is most commonly solved by re-indexing the block-chain. For details of how to reindex, see the troubleshooting guide: https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/TroubleshootingGuide.md


My recommendation based on doing this many times is never delete an old wallet or backup file merely move it to a directory that’s out of the direct path. You can also rename it when you back it up so you can make it obvious when the backup was from or if it’s for a specific wallet or other things like that.

You can just change the name back to wallet.dat When you want to put it into use.

Furthermore, in some cases where the wallet file gets very big, what I have done is exported and saved the private keys of any of the addresses that contain funds in them.

That way in the future if the wallet file runs into any issues, I can create a new wallet file and import the private keys to it.

And for a specific recommendation if it takes a long time to open a wallet or having issues accessing shielded funds:

  1. Export the private keys of any addresses that contain funds
  2. Change the name of the existing wallet file to something different
  3. Start Zen so it creates a new wallet file
  4. Import the keys.


Will update the OP to include this information tonight.

u. Done.


The following step-by-step guide for Windows users (created by a third party) is handy: https://miningwithnvidia.com/2018/02/09/zencash-wallet-eof-reached-code-1/ to help with reindexing in case of encountering the common block-chain problem.