11.1 Introduction: Why this matters for PMs
- Address types affect user cost, compatibility, and privacy.
- Multi-address watching affects operational cost, UX transparency, and security monitoring.
- Batching affects platform fee economics and liquidity flows.
- Webhooks affect reliability, responsiveness, and user notification systems.
11.2 Bitcoin address types: What you must know
There are multiple Bitcoin address formats, each designed at different points in Bitcoin’s evolution.11.3 Product decisions: Which address types to use?
Recommendation for serious Bitcoin platforms:- Default to Bech32 (Native SegWit) addresses, best fee optimization, broad compatibility now.
- Add Taproot support when targeting privacy-focused users or futureproof scripting applications.
- Accept all address types inbound (for maximum compatibility when receiving payments).
11.4 Multi-address watching: Tracking payments correctly
In Bitcoin, each payment is made to a specific address, not to a “named account” on a database. When you issue many addresses (one per user, one per invoice, etc.), your backend must watch these addresses to detect incoming Bitcoin transactions.11.5 Product UX behavior: How to handle watching and receiving
- Always auto-generate a new Bitcoin address per new payment. “Receive bitcoin” = fresh address every time.
- Show confirmation progress after a payment is detected. “Payment detected, 0/3 confirmations.”
- Allow users to label addresses (optional): “Salary from Kojo,” “Invoice #404.”
- Notify users early: Payment detected (0 confirmations), Payment finalized (3+ confirmations).
- Support payment recovery: If user says “I paid,” but you can’t detect it, allow manual investigation via address lookup (but design to minimize this).
11.6 Batching Bitcoin transactions: Critical for cost management
Problem: Bitcoin fees fluctuate wildly. Each transaction costs base fees per transaction + additional per input/output. Solution: Batching, sending multiple outputs (payments) in a single Bitcoin transaction.
Result:
- Drastically lower total fees.
- Faster settlement windows.
- Better liquidity and treasury management.
11.7 Product rules for batching
11.8 Webhooks: Real-time Bitcoin transaction monitoring
Once your backend detects a payment or transaction, you need to notify your app/frontend in real-time.11.9 Webhook product responsibilities
✅ Reliability: If the webhook delivery fails, retry automatically (with exponential backoff). ✅ Security: Sign all webhook payloads with a secret or use HMAC verification. ✅ Idempotency: Your receiving app should gracefully handle duplicate webhook events (e.g., if retries happen). ✅ Transparency: Allow API clients (external partners if any) to inspect webhook history via dashboard or API.11.10 Final reflection for PMs
Bitcoin is not a database. Bitcoin is a living financial network. If your product:- Watches Bitcoin addresses correctly,
- Rotates addresses for privacy,
- Batches transactions for fee efficiency,
- Triggers reliable webhooks for user events,
Module 11 complete
You now understand:- Bitcoin address types and product tradeoffs,
- How to structure address issuance and multi-address watching,
- Why batching Bitcoin transactions is survival for serious platforms,
- How to build a proper webhook-driven Bitcoin UX,
- How to minimize fees, maximize reliability, and protect user trust.