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/
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
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