Receiving donations with bitcoin

From Bitcoin Wiki
Revision as of 09:46, 1 July 2021 by CypherpunkDev (talk | contribs) (Add section on open source, self-hosted donations processors)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Permissionless donations are a popular and important use-case for bitcoin.

Bitcoin's properties make it well suited for this:

  • Censorship resistant. Nobody can stop or seize transactions being sent or received of any amount.
  • Anonymous/pseudonymous. No real life ID is required to use bitcoin. When used correctly, donations can be sent and received with complete privacy. In contrast with PayPal where both parties can see each other's full name and address.[1]
  • Accessible worldwide. Anybody can use bitcoin as long as they have access to the internet, including people who don't have bank accounts or otherwise have access to financial infrastructure.
  • Potentially transparent. If set up this way, all donations can be publicly seen, which may be useful for accountability. Donations can also be completely private if desired.
  • Division of control. Bitcoin's Multisignature feature allows several people can be custodians together. This could potentially make it harder for one person to embezzle funds.
  • Good uptimes. Bitcoin works 24 hours a day.
  • Quick setup. You can start accepting bitcoins instantaneously, without setting up merchant accounts, buying credit card processing hardware, etc, because bitcoin wallets are software that you simply download and install.

Setting up bitcoin donations guide

Newb bitcoin users can just download and install Electrum (or another lightweight wallet) and follow the instructions to create a bitcoin wallet. Intermediate or expert users should consider using a Full node wallet.

Once they have set up the wallet, users can obtain a bitcoin receive address and simply publish it somewhere on the internet; for example their website, twitter profile, forum signature, github README page, graffitied on walls, etc, perhaps along with promotional graphics. The wallet software can be used to monitor donations and spend them if enough have collected.

If the donations are particularly small, users should read the page on How to cheaply consolidate coins to reduce miner fees.

Divided control wallets using multisignature

In some situations Bitcoin's multisignature contracts may be useful. They work by creating a wallet divided amongst N people where a minimum of M of the must agree to actually spend the money. These M-of-N multisignatures wallets could help against embezzlement if that is a problem. They can also increase security as one person being hacked or infected with malware doesn't result in lost coins, and if one or two people lose interest the project's donations do not become stuck. People may be more willing to donate to a project if they know the funds are much less likely to go straight into someone's pocket.

Electrum can create multisig wallets. See also: Multisignature#Multisignature_Wallets

Improving censorship-resistance and privacy by avoiding address-reuse

Publishing a single donation address is an example of address reuse.

Regulated bitcoin exchanges might one day be required by law to block transfers to your donation address, but this becomes impossible if you give a brand new address to each donator.

The transfers to and from that single address are visible to everybody. Anybody can put the bitcoin address into a blockchain explorer and see every single transaction to and from the donation address. So privacy is completely ruined.

Because of this address reuse is best avoided. An easy way to do that is to set up an instance of the BTCPay open source payment processor. Another way is to code a simple solution yourself which gives a brand new address to each visitor, optionally when they click a `generate new address` button along with a recaptcha to prevent it getting crawled. When avoiding address reuse be aware of the possibility of Mystery shopper payments as a privacy attack.

Using centralized payment processors

Some centralized payment processors offer a donations-receiving service. Some of them can convert immediately to USD or another fiat currency. A big downside is this loses many of the advantages of bitcoin from above like censorship resistance and anonymity because the payment processor may block payments, but they may still be appropriate in some situations.

See also: Why Your Business Should Use a Full Node to Accept Bitcoin, written for businesses but much of it applies to donations too.

Using open source, self-hosted payment processors

A better solution is to use open source payment processor running on your own server.

Example open source payments / donations processors include BTCPay, CypherpunkPay, LnMe, One-Time-Address, or SatSale.

Examples of real-life use

One of the very first uses of bitcoin was by Wikileaks to accept donations after Paypal and Visa imposed a worldwide blockade. [2]. Their website has a 'generate new bitcoin address' button for improved privacy.

Thepiratebay torrent site accepts bitcoin donations too, as do some torrent uploaders.

Tails OS (The Amnesic Incognito Live System) project accepts bitcoin donations, as does GIMP (GNU Image Manipulation Project) and Rasterbator (wall art generator).

Sci-hub is a website that allows firewall-free access to scientific papers. It used to accept donations via centralized payment processors such as PayPal. Now it only accepts Bitcoin, presumably to avoid banking blockades or government seizure.

Sometimes gamers, streamer and tournament organizers accept bitcoin, for example for prize money.

Within the bitcoin community itself, donation addresses are sometimes used to fund projects. For example the coinjoin bounty which uses Raw Transactions to create a multisig address. Most users should not attempt to use raw transaction this but should use wallet software instead in line with this tutorial.


Also this runescape streamer received 20btc in January 2019

References