Skip to content

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.

    Learn about BIP47 →

  • Silent Payments


    Share one Silent Payment address. Senders derive unique Taproot outputs without a notification transaction. Cleaner on-chain footprint, but harder wallet scanning.

    Learn about Silent Payments →

  • 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.

    Lightning 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:

  1. Use a dedicated wallet or account for public receiving
  2. Label every incoming payment
  3. Avoid spending public and private UTXOs together
  4. Avoid consolidating public donations into private savings
  5. 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

  1. Public receiving is different from private one-to-one receiving
  2. Never publish and reuse a normal Bitcoin address
  3. Use BIP47, Silent Payments, BOLT12 Lightning offers, BTCPay Server, or fresh invoices instead
  4. Keep public funds separate from private funds
  5. Label UTXOs and use coin control before spending

References