Skip to content
Command line Whirlpool client
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src ignore "no wallycore" log Jul 20, 2019
.travis.yml enable travis ci Dec 6, 2018
LICENSE AGPL 3.0 license Jun 12, 2019 use TorSocks=auto Jul 9, 2019 cleanup Jul 12, 2019
pom.xml [maven-release-plugin] prepare for next development iteration Jul 20, 2019

Build Status


Command line client for Whirlpool by Samourai-Wallet.


You can setup whirlpool-client-cli in 2 ways:

  • commandline: run CLI with --init
  • remotely through API: run CLI with --listen, then open GUI

General usage

java -jar target/whirlpool-client-version-run.jar
[--listen[=8899]] [--authenticate]
[--debug] [--debug-client] [--scode=] [--tx0-max-outputs=] {args...}

Optional arguments:

  • listen: enable API for remote commands & GUI. Authentication on startup is optional, but you can authenticate on startup with --authenticate
  • mixs-target: number of mixs to achieve per UTXO

Tech arguments: you probably shouldn't use it

  • debug: display debug logs from cli
  • debug-client: display debug logs from whirlpool-client
  • scode: optional scode to use for tx0
  • tx0-max-outputs: tx0 outputs limit

List pools



java -jar target/whirlpool-client-version-run.jar --list-pools

Mix a wallet

You need a wallet holding funds to mix.

[--client-delay=5] [--tx0-delay=20]
[--auto-tx0=poolId] [--auto-mix] [--auto-aggregate-postmix]


java -jar target/whirlpool-client-version-run.jar
  • client-delay: delay (in seconds) between each connexion
  • tx0-delay: delay (in seconds) between each tx0 (from --auto-tx0)
  • auto-tx0: automatically run tx0 from deposit for specified pool when premix wallet is empty
  • auto-mix: automatically mix utxos detected in premix wallet
  • auto-aggregate-postmix: enable automatically post-mix wallet agregation to refill premix when empty

Expert usage

Dump pairing payload of current wallet



java -jar target/whirlpool-client-version-run.jar --dump-payload

Aggregate postmix / move funds

Move all postmix funds back to premix wallet and consolidate to a single UTXO. Only allowed on testnet for testing purpose.



java -jar target/whirlpool-client-version-run.jar --aggregate-postmix
  • aggregate-postmix: move funds back to premix-wallet. Or --aggregate-postmix=address to move funds to a specific address.

Advanced configuration


cli.torConfig.executable = /path/to/bin/tor
  • Use auto to use embedded tor, or detecting a local Tor install when your system is not supported.
  • Use local to detect a local tor install.
  • Use custom path to tor binary to use your own tor build.
cli.torConfig.onionServer = true
cli.torConfig.onionBackend = true

When tor enabled, connect to whirlpool server or wallet backend through:

  • true: Tor hidden services
  • false: clearnet over Tor


cli.pushtx = auto

Specify how to broadcast transactions (tx0, aggregate). * auto: by default, tx are broadcasted through Samourai service. * interactive: print raw tx and pause to let you broadcast it manually. * http://user:password@host:port: rpc connection to your own bitcoin node (connection is not encrypted, use on trusted network only).

API usage

whirlpool-client-cli can be managed with a REST API. See

ApiKey can be overriden with:


Build instructions

Build with maven:

cd whirlpool-client-cli
mvn clean install -Dmaven.test.skip=true


You can’t perform that action at this time.