Rust-Payjoin

Supercharged payment batching to save fees and preserve privacy

Crates Crates CI Status Rustc Version 1.85.0+ Chat on Discord

Project Homepage

## About `payjoin/rust-payjoin` contains multiple crates implementing Payjoin as defined in [BIP 77: Async Payjoin](https://github.com/bitcoin/bips/blob/master/bip-0077.md) and [BIP 78: Simple Payjoin](https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki), and associated OHTTP Relay and Payjoin Directory infrastructure. Find the description of each crate below. ### [`payjoin`](https://github.com/payjoin/rust-payjoin/tree/master/payjoin) The main Payjoin Dev Kit library which provides tools for implementing both Async and Simple Payjoin. `payjoin` implements Payjoin session persistence support and IO utilities for interacting with OHTTP relays in Async Payjoin integrations. **Disclaimer: This crate has not been reviewed by independent Rust and Bitcoin security professionals (yet). Use at your own risk.** ### [`payjoin-cli`](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-cli) A CLI tool which performs no-frills Payjoin. It is a reference implementation of the Payjoin Dev Kit which uses a Bitcoin Core wallet. ### [`payjoin-mailroom`](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-mailroom) A combined [Oblivious HTTP (OHTTP)](https://en.wikipedia.org/wiki/Oblivious_HTTP) Relay and BIP77 Payjoin Directory in one binary. ### [`payjoin-test-utils`](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-test-utils) The test utilities library which provides commonly used testing fixtures such as a local OHTTP relay and Payjoin directory, bitcoind node and wallets, and official test vectors. ### [`payjoin-ffi`](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-ffi) The language bindings which expose the Rust-based Payjoin implementation to [various programming languages](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-ffi#supported-target-languages-and-platforms). ## Minimum Supported Rust Version (MSRV) All crates in this repository should always compile with any combination of features on Rust **1.85.0**. ## Contributing See [`CONTRIBUTING.md`](.github/CONTRIBUTING.md). ## License MIT