Skip to content

Install JoinMarket NG

This is the recommended Linux and macOS path. It installs the command-line applications; configure a Bitcoin backend before creating or using a wallet.

Before You Begin

  • Linux or macOS, curl, and permission to install system packages. On macOS, install Homebrew first.
  • Python 3.11 or later. The installer checks this requirement and installs the supported build and verification dependencies where it can.
  • A Bitcoin backend. Use your own synced, wallet-enabled Bitcoin Core node when possible. A Neutrino service is the lightweight alternative.

Windows and source installs are in advanced installation. For a browser interface, see the separate JAM project.

Install

The first command is an HTTPS bootstrap, so it trusts GitHub and your TLS connection for this one download. The downloaded installer then verifies the signed release and saves an authenticated local updater for later use.

curl -sSL https://raw.githubusercontent.com/joinmarket-ng/joinmarket-ng/main/install.sh | bash
source ~/.joinmarket-ng/activate.sh

The installer offers to install missing dependencies and configure Tor. On Linux distributions without apt, install the dependencies it reports with your system package manager.

Continue

  1. Configure Bitcoin and Tor.
  2. Create or import a wallet.
  3. Read the taker guide or maker guide before participating in CoinJoins.

Configure Backend

Set up Bitcoin Core, Neutrino, and Tor.

Tor Notes

Before offering to configure Tor, the installer tries cookie authentication on 127.0.0.1:9051 as your current user, using the standard Linux cookie locations. If authentication succeeds, it keeps your existing Tor configuration without requiring sudo or restarting Tor. Otherwise, it follows the normal Tor setup checks. Custom control endpoints and cookie paths remain under manual control; use --skip-tor for those setups.

Tor requirements and manual configuration.

Neutrino Service

For the Neutrino setup path, start the service with Docker, then return to that guide for credentials and sync:

docker run -d \
  --name neutrino \
  --restart unless-stopped \
  -p 127.0.0.1:8334:8334 \
  -v neutrino-data:/data/neutrino \
  -e NETWORK=mainnet \
  -e PREFETCH_FILTERS=true \
  -e PREFETCH_LOOKBACK=105120 \
  ghcr.io/m0wer/neutrino-api:latest

Updating

Update an installation.

Supply-chain Security

Review the installer trust model.

Manual Bootstrap Verification (Optional)

Verify a bootstrap manually.

Manual Install from Source

Install from source.

Windows (Manual Install)

Install on Windows.

Troubleshooting

Troubleshoot installation and backend problems.

Tracking Wallet Sync Progress

Check sync progress before considering a rescan.

Uninstall

Remove software or a wallet safely.