BIP329 Overview
What is BIP329?
Bitcoin Improvement Proposal 329 defines a standardized format for wallet labels, enabling:- Portability - Move labels between wallets
- Backup - Export labels separately from wallet
- Privacy - Keep labels separate from blockchain
- Interoperability - Share labels across wallet software
- Organization - Maintain transaction context
Label Types
SatSigner supports all BIP329 label types:Label Management
Creating Labels
Address Labels
Transaction Labels
UTXO Labels
Label Hierarchy
Label inheritance follows specificity:Label Export/Import
Export Formats
SatSigner supports three BIP329 export formats:JSONL (Recommended)
JSON Lines format - one JSON object per line:- Streamable
- Easy to process line-by-line
- Human readable
- Append-friendly
JSON
Standard JSON array:- Standard format
- Easy to parse
- Tool-friendly
CSV
Comma-separated values:- Spreadsheet compatible
- Excel/Sheets friendly
- Simple format
Exporting Labels
Importing Labels
Cross-Wallet Compatibility
SatSigner’s BIP329 implementation is compatible with: Supported Wallets:- Sparrow Wallet
- Bitcoin Core (with patch)
- BlueWallet
- Electrum (custom format)
- Specter Desktop
- Nunchuk
Label Organization
Using Tags
Organize labels with tags:Label Templates
Create consistent labels:Label Search
Advanced Features
Spendable Flag
Mark UTXOs as frozen (unspendable):Metadata Fields
Label Analytics
Best Practices
Labeling Strategy
- Label Immediately - Label transactions as they occur
- Be Consistent - Use consistent naming conventions
- Be Descriptive - Include context and purpose
- Use Tags - Organize with hashtags
- Review Regularly - Update labels as needed
- Backup Labels - Export regularly
- Document System - Maintain labeling guidelines
Label Format Guidelines
Good Labels:Privacy Considerations
Remember:- Labels are stored locally only
- Never included on blockchain
- Can contain sensitive information
- Export files should be encrypted
- Backup securely
Tax and Accounting
Tax Lot Tracking
Report Generation
Troubleshooting
Labels Not Importing
Problem: Imported labels not applying Solutions:- Verify format matches (JSONL vs JSON vs CSV)
- Check for syntax errors in file
- Ensure references match account data
- Try alternative format
- Check for encoding issues (UTF-8)
Labels Not Cascading
Problem: Child items not inheriting labels Cause: Child item already has label Remember: Label inheritance only applies to unlabeled itemsMissing Labels After Sync
Problem: Labels disappeared after sync Cause: Labels stored separately from blockchain data Solution:- Labels persist through syncs
- Check if using correct account
- Restore from backup if needed