]> Untitled Git - bdk-cli/commit
Merge bitcoindevkit/bdk-cli#220: Add experimental silent payment transaction creation... master github/master
authormerge-script <withtvpeter@gmail.com>
Tue, 19 May 2026 18:15:42 +0000 (19:15 +0100)
committermerge-script <withtvpeter@gmail.com>
Tue, 19 May 2026 18:15:42 +0000 (19:15 +0100)
commit4a8e3ce24d64d66094c639e0d48015f2128fd2a6
treea645360bcfefea42a4cf83b94b72d8b58d4984c4
parentf80d92a549ea648b65595a445cf1c6c187b7b337
parentc57985475172fc610b3ce996338a43baef1c52d6
Merge bitcoindevkit/bdk-cli#220: Add experimental silent payment transaction creation support

c57985475172fc610b3ce996338a43baef1c52d6 feat(silentpayments): add experimental silent-payments sending support (nymius)

Pull request description:

  **Description**

  This PR adds experimental support for creating silent payment transactions through a new `CreateSpTx` command. The implementation integrates the `bdk_sp` crate to enable sending Bitcoin to silent payment addresses.

  Key changes:
  - Adds `bdk_sp` dependency as an optional feature
  - Implements `CreateSpTx` command with support for silent payment recipients
  - Includes parser for silent payment `address:amount` pairs
  - Returns signed transactions ready for broadcast (not PSBTs due to silent payment derivation constraints)

  **Notes to the reviewers**

  - This feature is marked as **EXPERIMENTAL** and includes warnings against mainnet use
  - The command returns signed transactions directly rather than PSBTs because silent payment script pubkey derivation cannot be performed securely in a trustless manner with standard PSBT workflows
  - RBF is disabled for silent payment transactions (sequence set to MAX)
  - The implementation handles both single key and extended key signers
  - Error handling uses temporary `.expect()` calls that should be addressed in future iterations

  **Changelog notice**

  **Added**: Experimental silent payment transaction creation via `CreateSpTx` command (feature-gated behind `sp` flag)

  **Checklists**

  **All Submissions**

  * [x] I've signed all my commits
  * [x] I followed the [conventional commit guidelines](https://www.conventionalcommits.org/en/v1.0.0/)
  * [x] I ran cargo fmt, clippy and test before committing

  **New Features**

  ~~* [ ] I've added tests for the new feature~~
  * [x] I've added docs for the new feature

ACKs for top commit:
  tvpeter:
    tACK c57985475172fc610b3ce996338a43baef1c52d6

Tree-SHA512: 0d5e2064b2eacab4fa2c0161bb1d9fd73c17401900c80a665a8ba3feb2025ddd6896efd0c30f7ceab361a88c397010965442bc9689df85383aaa9a0ec95fec0c
Cargo.lock
Cargo.toml
src/commands.rs
src/error.rs
src/handlers.rs
src/utils.rs