Skip to content
Silent Payments For Developers

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

Please note that implementing the ability to send to Silent Payment addresses is the most important right now, and that Silent Payments were designed to make sending trivial!
The mention of a library below does not in any way indicate it has been reviewed or is ready for usage with real funds. Please review any chosen library carefully before using it.

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


  1. The silentpayments module was merged in July 2026 and shipped in libsecp256k1 v0.8.0. It currently only supports full-node scanning, not light-client scanning. ↩︎

  2. Silent Payments support for bitcoinjs-lib is still in open, unmerged PRs. ↩︎

  3. 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. ↩︎

  4. 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. ↩︎

  5. 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. ↩︎

  6. SPDK now includes the silentpayments crate (formerly rust-silentpayments). It is still quite new, so review it carefully before using it with mainnet funds. ↩︎

  7. 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. ↩︎

  8. 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. ↩︎

  9. 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. ↩︎

Last updated on