Payjoin Dev Kit Library v0.8.1 Released
Payjoin implementation in Rust is 'a kit to payjoin anywhere.'
- "Receiver error handling has been overhauled and tested with other independent payjoin compatible software."
- "Wallets who enjoy persistent internet connectivity should reach out to evaluate an integration. It works."
- "Seeking review of the code that verifies there is no overpayment. Contributions are welcome!"
What's new
- Receiver error handling overhaul.
- `send` and `receive` feature walkthrough docs.
- Test receiver support with BlueWallet.
- Bitcoin-0.30.0 support
Development status
Sender (beta)
- ✅Basic logic
- ✅Most checks implemented
- ✅Documentation
- ✅Unit test with official test vectors passes
- ❌Many unit tests
- ✅Fee contribution support
- ✅Example client using bitcoind
- ✅Tested and works with BTCPayServer
- ❌Tested and works with JoinMarket
- ✅Minimum fee rate enforcement
- ❌Independent review
- ✅Independent testing
Receiver (beta)
- ✅Basic logic
- ✅Most checks implemented
- ✅Documentation
- ✅Unit test with official test vectors passes
- ❌Many unit tests
- ✅Fee contribution support
- ✅Example server using bitcoind
- ✅Tested and works with BTCPayServer
- ✅Tested and works with WasabiWallet
- ✅Tested and works with Blue Wallet
- ✅Tested and works with Sparrow
- ✅Minimum fee rate enforcement
- ❌Discount support
- ❌Independent review
- ❌Independent testing
Code quality
- ✅Idiomatic Rust code
- ✅Newtypes
- ✅Panic-free error handling
- ✅No
unsafe
code or well-tested/analyzed/proven/...unsafe
code - ✅Warning-free
- ✅CI
- ✅Integration tests
- ❌Fuzzing
- ❌Coverage measurement
Disclaimer: "Use at your own risk. This crate has not yet been reviewed by independent Rust and Bitcoin security professionals."