Thanks to visit codestin.com
Credit goes to github.com

Skip to content

JoinMarket (Bitcoin CoinJoin) modern alternative implementation

License

Notifications You must be signed in to change notification settings

m0wer/joinmarket-ng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

562 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JoinMarket NG Logo

JoinMarket NG

Modern implementation of JoinMarket - decentralized Bitcoin privacy through CoinJoin.

What It Is

  • CoinJoin: Mix your coins with others to break transaction history
  • Decentralized: No central coordinator - taker coordinates peer-to-peer
  • Earn or spend: Makers earn fees providing liquidity, takers pay fees for privacy

What It Isn't

  • Not a custodial mixer (you control your keys)
  • Not a centralized tumbler service
  • Not bulletproof - multiple rounds recommended for stronger privacy

Quick Start

Install (Linux/macOS):

curl -sSL https://raw.githubusercontent.com/m0wer/joinmarket-ng/master/install.sh | bash

Configure (~/.joinmarket-ng/config.toml):

[bitcoin]
backend_type = "descriptor_wallet"  # or "neutrino" for light client
rpc_url = "http://127.0.0.1:8332"
rpc_user = "your_user"
rpc_password = "your_password"

Create wallet:

jm-wallet generate

Run your first CoinJoin (as taker):

jm-wallet info                    # Get deposit address, fund it
jm-taker coinjoin --amount 1000000 --mixdepth 0 --destination INTERNAL

Or earn fees (as maker):

jm-maker start

Documentation

Document Description
INSTALL.md Full installation guide, backends, Tor setup
DOCS.md Protocol, architecture, security, development
maker/README.md Maker bot configuration and operation
taker/README.md Taker options, schedules, tumbler mode
directory_server/README.md Directory server setup
orderbook_watcher/README.md Orderbook monitoring

Why JoinMarket-NG?

This is a modern alternative to the reference implementation, fully compatible but with key improvements:

Cross-compatible: Makers running JoinMarket-NG are automatically discovered by takers using the legacy implementation, and vice versa. The wire protocol is 100% compatible, so you can seamlessly join the existing JoinMarket network.

  • No daemon - just run commands, no background services
  • Run maker + taker simultaneously - no suspicious gaps in offers
  • Light client support - Neutrino backend, no full node required
  • Modern codebase - Python 3.14+, full type hints, ~100% test coverage

See DOCS.md for detailed comparison.

Community

License

MIT License. See LICENSE.

About

JoinMarket (Bitcoin CoinJoin) modern alternative implementation

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •