Flutter/Dart SDK - This guide uses our Dart package for mobile and Flutter
applications. For JavaScript/Node.js, see the JavaScript
SDK.
Built With
Special thanks to Cake
Wallet for
their excellent Bitcoin base library.
Installation
Add to yourpubspec.yaml:
Integration Workflow
1
Generate silent payment address
Create a reusable address for receiving payments
2
Create taproot destination
Generate unique address for each payment
3
Scan blockchain for funds
Detect incoming transactions
4
Spend received funds
Derive private keys and transfer Bitcoin
Step 1: Generate Silent Payment Address
- From Private Keys
- From Mnemonic (Wallets)
Best for: Apps where users control their own keys
Step 2: Create Taproot Destination
Generate a one-time taproot address for the payment:Required inputs:
- UTXO transaction hash and output index
- UTXO private key
- Amount in satoshis (1 BTC = 100,000,000 sats)
- Recipient’s scan and spend public keys
Step 3: Scan for Incoming Funds
Check if a transaction belongs to you:scannedAddress matches the taproot output → funds are yours! 🎉
What you need for scanning
What you need for scanning
Required data:
- Transaction input’s
txidandoutput_index - Sender’s public key from the output
- Script and amount from the taproot address
Step 4: Spend the Funds
Once confirmed, derive the private key to spend:Complete
Your Flutter app now supports Bitcoin silent payments with:- ✅ Reusable static addresses
- ✅ Transaction privacy
- ✅ No notification fees
- ✅ Cross-platform compatibility
Additional Resources
JavaScript SDK
Node.js implementation for backend services
BIP-352 Specification
Complete technical specification