Silent Payments For Developers
For the developers among you, this page is a simple page to point you in the right direction for where to look into for integration on both the wallet and scanning side.
Want to contribute? Check out the Silent Payments Development Tracker
Wallet libraries
| Library | Language | Sending | Receiving | BIP375 | BIP376 | Used by |
|---|---|---|---|---|---|---|
| bitcoin-core/secp256k1 1 | C | - | - | Bitcoin Core | ||
| bitcoinjs/bitcoinjs-lib 2 | JavaScript | - | - | - | ||
| BDK SP 3 | Rust | - | ||||
| BlueWallet/SilentPayments 4 | TypeScript | - | - | BlueWallet | ||
| cake-tech/bitcoin_base | Dart | - | - | Cake Wallet | ||
| cake-tech/sp_scanner | Dart | - | - | - | Cake Wallet | |
| sparrowwallet/drongo | Java | Sparrow Wallet, Frigate | ||||
| go-bip352 | Go | - | - | BlindBit Desktop, BlindBit Oracle | ||
| silent-pay 5 | TypeScript | - | - | - | ||
| shakesco/silent | JavaScript | - | - | Shakesco | ||
| spdk 6 | Rust | - | - | Dana Wallet |
Scanning back-ends
The following indexer implementations provide the server-side scanning infrastructure that light wallets rely on. See the Silent Payments Indexer Server Spec for the common API, and How Silent Payment Wallets Scan for the privacy trade-offs between tweak servers and remote scanners.
| Server | Type | State | Index Size7 | Links |
|---|---|---|---|---|
| Bindex-rs | Tweak Server | WIP | ~8.3 GB | romanz/bindex-rs |
| BlindBit Oracle v2 | Tweak Server | stable | ~109 GB8 | setavenger/blindbit-oracle |
| Electrs (Cake fork) | Tweak Server | stable | ~1.6 TB9 | cake-tech/blockstream-electrs |
| Frigate | Remote Scanner | stable | ~18 GB | sparrowwallet/frigate |
Additional Resources
- Silent Payments Working Group
- BitBox Blog
- BIP352 reference implementation and test vectors
- BIP392: Silent Payment Output Script Descriptors
- Bitcoin Core Silent Payments tracking issue
- Silent Payments Dev Hub
-
The
silentpaymentsmodule was merged in July 2026 and shipped in libsecp256k1 v0.8.0. It currently only supports full-node scanning, not light-client scanning. ↩︎ -
Silent Payments support for bitcoinjs-lib is still in open, unmerged PRs. ↩︎
-
BDK SP is an experimental project from the BDK team and is not yet recommended for use on mainnet. Its PSBT support currently uses proprietary PSBT fields rather than the standardized BIP376 ones. ↩︎
-
Receiving support was added to the library in September 2026 and only scans unlabeled addresses so far. The BlueWallet app itself still only supports sending. ↩︎
-
This library is currently in an experimental stage and hasn’t seen development since late 2025. It has not undergone extensive testing and may contain bugs or unexpected behavior. Mainnet use is strictly NOT recommended. ↩︎
-
SPDK now includes the
silentpaymentscrate (formerly rust-silentpayments). It is still quite new, so review it carefully before using it with mainnet funds. ↩︎ -
Index sizes are approximate and vary with hardware and pruning configuration. Tweak servers store the tweak data for every eligible transaction and serve it to anyone; remote scanners like Frigate store additional per-output data so they can do the full scan on the server side using the client’s scan key. ↩︎
-
Measured on a production BlindBit Oracle v2 instance in September 2026. The v2 API is a rewrite that isn’t compatible with the original v1 API that some wallets still use. ↩︎
-
Measured on Cake’s production server in September 2026. Cake’s tweak index runs as part of a full Blockstream Esplora/electrs index, so most of this is the standard Esplora index; the Silent Payments tweak data itself is only ~33 GB of the total. ↩︎