Public Receiving¶
Public receiving means accepting bitcoin from people who may not contact you privately first. Examples include donations, tips, invoices, creator payments, open-source funding, or a payment link on a website.
This is difficult because a normal Bitcoin address should only be used once. If you publish one static address and keep receiving to it, you create address reuse, which is one of the easiest ways to lose privacy.
The Core Problem¶
A Bitcoin address is not like an email address. It should not be reused forever.
A Public Address Becomes Public Forever
If you put a Bitcoin address on a website, social profile, GitHub page, invoice, or poster, assume that address is now permanently connected to that context.
Anyone can watch it forever and see every payment it receives.
If that address is later connected to your real identity, every payment to that address is connected too.
What Public Address Reuse Reveals¶
If you reuse one public address, observers can learn:
- How many payments you received
- When people paid you
- How much you received in total
- Whether donations are increasing or decreasing
- When you later spend those funds
- Which other UTXOs become linked if you spend them together
This is not a guess or a weak heuristic. It is a direct public link.
Better Ways to Receive Publicly¶
-
BIP47 PayNyms
Share one reusable payment code. Senders create fresh addresses for you. Good wallet support, but the first connection normally needs a notification transaction.
-
Silent Payments
Share one Silent Payment address. Senders derive unique Taproot outputs without a notification transaction. Cleaner on-chain footprint, but harder wallet scanning.
-
Lightning + BOLT12
Useful for small tips and quick payments. For reusable public Lightning receiving, prefer BOLT12 offers when your wallet supports them, because they are designed for reusable payment requests with better receiver privacy.
-
BTCPay Server
If you run a shop, donation page, or project site, BTCPay Server can automatically create a fresh on-chain receiving address for each invoice. This avoids publishing one static Bitcoin address forever.
-
Separate Wallets
Keep public receiving separate from private savings. Do not mix public donations with personal funds unless you understand the privacy cost.
Which Public Receiving Method Should You Use?¶
| Situation | Better option |
|---|---|
| You want a public donation identity with good wallet support | BIP47 PayNym |
| You want no notification transaction and accept newer wallet trade-offs | Silent Payments |
| You receive small tips or casual payments | Lightning, preferably with BOLT12 offers when supported |
| You run a business with repeat customers | Fresh invoices, BTCPay Server, BIP47, or another payment processor that avoids address reuse |
| You only need one private payment | Generate a fresh normal address and give it privately |
Use the Simplest Tool That Avoids Address Reuse
You do not need the most advanced tool for every situation. The main rule is simple: do not publish a normal Bitcoin address and reuse it forever.
Keep Public and Private Funds Separate¶
Public receiving creates public context. If you receive donations to a public project, those funds are linked to that project. If you later spend those funds together with private savings, you may link your private wallet to the public project.
Good separation means:
- Use a dedicated wallet or account for public receiving
- Label every incoming payment
- Avoid spending public and private UTXOs together
- Avoid consolidating public donations into private savings
- Use coin control before spending
Why Mixing Public and Private Funds Is Risky
Imagine you receive donations for a public project. Later, you spend one donation UTXO together with a personal savings UTXO.
The Common Input Ownership Heuristic now suggests both UTXOs belong to the same person or wallet. That can connect your private savings to the public project.
Public Receiving Best Practices¶
-
Never Reuse a Normal Address
Do not publish a static
bc1...address for long-term receiving. -
Use a Payment Code
Prefer BIP47 or Silent Payments when you need a reusable public identifier.
-
Label Everything
Track where each payment came from so you do not accidentally mix contexts.
-
Separate Public Wallets
Use a separate wallet or account for public receiving.
-
Avoid Consolidation
Do not combine many public donations unless they are already meant to be linked.
-
Use Tor When Possible
Protect your network privacy when checking balances or spending.
Common Mistakes¶
This is the classic mistake. Everyone can see every payment to that address.
Public donations and private savings should not live in the same wallet unless you are very careful with coin control.
Searching your own public address on a block explorer from your home IP can link your interest in that address to your network identity.
A large sweep or consolidation can link many donors and your savings wallet together.
Key Takeaways¶
- Public receiving is different from private one-to-one receiving
- Never publish and reuse a normal Bitcoin address
- Use BIP47, Silent Payments, BOLT12 Lightning offers, BTCPay Server, or fresh invoices instead
- Keep public funds separate from private funds
- Label UTXOs and use coin control before spending