payjoin/rust-payjoin contains multiple crates implementing Payjoin as defined in BIP 77: Async Payjoin and BIP 78: Simple Payjoin, and associated OHTTP Relay and Payjoin Directory infrastructure.
Find the description of each crate below.
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.
A CLI tool which performs no-frills Payjoin. It is a reference implementation of the Payjoin Dev Kit which uses a Bitcoin Core wallet.
An Oblivious HTTP (OHTTP) Relay and a BIP77 Payjoin Directory combined in one binary.
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.
The language bindings which expose the Rust-based Payjoin implementation to various programming languages.
Currently supported languages:
- Dart
- Javascript
- Python
All crates in this repository should always compile with any combination of features on Rust 1.85.0.
See CONTRIBUTING.md.
MIT