zcli

a zcash wallet that works like you do

one binary. your ssh key is the wallet. no seed phrases, no interactive setup. works headless for agents, works in a terminal for humans.

install

curl -fsSL https://github.com/rotkonetworks/zcli/releases/latest/download/zcli-linux-amd64 -o zcli && chmod +x zcli && sudo mv zcli /usr/local/bin/
all platforms

linux x86_64

curl -fsSL https://github.com/rotkonetworks/zcli/releases/latest/download/zcli-linux-amd64 -o zcli && chmod +x zcli && sudo mv zcli /usr/local/bin/

linux arm64

curl -fsSL https://github.com/rotkonetworks/zcli/releases/latest/download/zcli-linux-arm64 -o zcli && chmod +x zcli && sudo mv zcli /usr/local/bin/

macOS apple silicon

curl -fsSL https://github.com/rotkonetworks/zcli/releases/latest/download/zcli-macos-arm64 -o zcli && chmod +x zcli && sudo mv zcli /usr/local/bin/

macOS intel

curl -fsSL https://github.com/rotkonetworks/zcli/releases/latest/download/zcli-macos-amd64 -o zcli && chmod +x zcli && sudo mv zcli /usr/local/bin/

cargo

cargo install zecli

source

git clone https://github.com/rotkonetworks/zcli
cd zcli && cargo build --release
cp target/release/zcli ~/.local/bin/
zcli — zcash wallet for agents & humansv0.5.0
Usage: zcli [OPTIONS] <COMMAND> Commands: address show wallet addresses balance show wallet balance shield shield transparent funds (t→z) send send zcash receive print receiving address sync scan chain for wallet notes export export wallet keys (requires confirmation) notes list all received notes history show transaction history (received + sent) board run board: sync loop + HTTP API serving notes as JSON scan scan QR code from webcam import-fvk import FVK from zigner QR (watch-only wallet) verify verify proofs: header chain, commitment proofs, nullifier proofs tree-info show orchard tree info at a height (for --position) merchant merchant payment acceptance + cold storage forwarding help print this message or the help of a subcommand Options: -i, --identity <IDENTITY> path to ed25519 ssh private key [default: ~/.ssh/id_ed25519] --mnemonic <MNEMONIC> use bip39 mnemonic instead of ssh key --endpoint <ENDPOINT> zidecar gRPC endpoint [default: https://zcash.rotko.net] --verify-endpoints <ENDPOINTS> lightwalletd endpoints for cross-verification [default: https://zec.rocks] --json machine-readable json output, no prompts/progress/qr --mainnet use mainnet (default) --testnet use testnet -h, --help print help
[(status)] [zcli(+Z)]ZCLI_IDENTITY · ZCLI_ENDPOINT · ZCLI_JSON

quick start

zcli address                                # show your addresses
zcli sync                                    # scan chain
zcli balance                                 # check funds
zcli send 0.01 u1...                         # send shielded

for agents

export ZCLI_IDENTITY=~/.ssh/id_ed25519
export ZCLI_ENDPOINT=https://zcash.rotko.net
zcli --json balance                          # machine-readable output
zcli --json send 0.01 u1...                  # no prompts, no progress bars
zcli --json notes                            # list UTXOs as JSON