How to accept Bitcoin Donations - privately, securely and without middleman

Posted in Guides by pavlenex on 4/25/2019

If you're a non-profit, charity, content creator, developer or just a regular Joe trying to accept Bitcoin donations, you're at the right place.

Accepting censorship-resistant donations is one of the greatest use-cases for Bitcoin, however, very few people do it in a truly private and decentralized way.

Displaying a static address or a QR code on your webpage may look like a walk in the park, however having a single address is a notoriously poor privacy practice. Re-using a single address is simply bad, not only for receiving part but for the sender as well. Since privacy likes company, by re-using the address (opens new window) you're weakening privacy for a large number of participants in the blockchain. Most Bitcoiners care about privacy and your chances of accumulating BTC are higher if it does not invade the privacy of the network participants.

In this article, we will focus on how to use BTCPay Server, a decentralized, fully open-source, cryptocurrency payment processor to accept Bitcoin donations. By using BTCPay, you're avoiding address-reuse (opens new window) and involvement of a third-party.

Furthermore, if you self-host BTCPay Server, you're running a full node (opens new window), which means transaction information is not leaked to a third-party and every consensus rule is validated. Don't trust - verify.

Most importantly, there will be no fees of any sort, since you'll be operating as your own payment processor. Funds go straight from donor to your wallet.

This article provides an overview and examples of ways in which individuals, businesses or non-profit organizations can use BTCPay to accept donations. Not sure yet which feature is best for you? No need to decide now, BTCPay comes equipped with all the following features. Try them all out for yourself. For exact step by step instructions on how to use a particular feature, check the installation links and videos in each section.

If you would like to learn how to deploy BTCPay, check out our deployment documentation. (opens new window) For a general overview and features take a look at our website (opens new window).

# Donation Button

The most common way to accept tips and donations, regardless of the CMS powering your website, is a tipping (pay) button. Create and customize a tipping button according to the look of your website. Easily embed it into an HTML page.

Out of the box, we offer 3 different types of tipping buttons:

  • Fixed
  • Custom
  • Slider

To create a pay button, go to your BTCPay Server Store Settings > Pay Button. Allow invoice creation and customize the appearance and amounts. Video below guides you through the process of creating and also embedding a donation button into your web-page. The process is the same regardless of the button type.

# Crowdfunding

Crowdfunding is an application which you can launch from BTCPay Server interface that allows you to create a self-hosted funding campaign, similar to Kickstarter or Indiegogo. Unlike traditional crowdfunding platforms, the creator of the campaign is the owner of the platform. Funds go directly to the creator’s wallet without any fees.

The Crowdfund App is highly customizable. Users can modify the appearance, donor perks, denomination type, crowdfund goals, etc. Everyone can see live contribution stats and even custom sounds when someone donates. BTCPay's Crowdfunding App was recently used as a donation platform for the #WeAreAllHodlonaut (opens new window) community crowdfunding campaign.

# Payment Requests

While primarily made for freelancers, the Payment Request feature in BTCPay can be used by charities for invoicing and getting paid or donations in Bitcoin just by sharing a link.

Funds paid to a payment request use the exchange rate at the time of payment. This allows users to make payments at their convenience without having to negotiate or verify exchange rates with the store owner at the time of payment.

Users can pay requests in partial payments and the request will remain valid until it is paid in full or if the store owner requires an expiration time. Addresses are never reused. A new address is generated each time the user clicks pay to create an invoice for the payment request.

Want to see this feature in action? Check out this Live Payment Request (opens new window) for donations to purchase a Trezor One wallet for one of our BTCPay developers to implement Trezor as a supported wallet in BTCPay.

# LibrePatron (for recurring payments)

One way you can accept donations on a regular basis is to use subscriptions + Bitcoin with the LibrePatron feature. At the moment, automatically withdrawing recurring payments in Bitcoin can't be achieved due to protocol limitations, but you can send recurring requests via the email to subscribers using this feature.

LibrePatron is a self-hosted, open-source Patreon competitor where creators are owners of the entire platform. The software is free and open-source for anyone to use. You can easily install a LibrePatron instance as it's a plugin that uses BTCPay Server to receive Bitcoin payments on a recurring basis.

# Modified Web Point of Sale

Our web point of sale app is used mostly by merchants in retail, but it can be modified slightly to allow users to accept donations.

# Example 1: The Donation Page

When creating a PoS app in BTCPay, make sure to have "cart" option unchecked and add perks for professional looking donation pages. BTCPay will produce the donation page for you as a part of your BTCPay PoS app. No need to purchase extra domains, your BTCPay provides an unlimited number of donation pages for you to use like this one below (opens new window).

# Example 2: Social Media Donation Page

Instead of adding perks to your PoS page, you can create a simple custom tip donation page. It can easily be used for social media accounts. Leave the cart mode turned off and don't add any items to the PoS. Post the link to your PoS in your profile. Start accepting Satoshis directly to your wallet for your awesome memes.

# Summary

The easiest way to accumulate Bitcoin (opens new window) is to start accepting it, any way you can. BTCPay provides so many options and apps for anyone to start receiving BTC payments and donations.

You don't need to have a business degree or an advanced e-commerce store. You just need to create opportunities for yourself to start accepting Bitcoin. Join the diverse community of people who are already trying it out. Share your experiences and ideas for feature improvements in any of our community links. We are constantly improving and building BTCPay together.

If at any point you face issues or have questions, drop by on our community chat (opens new window), where contributors all over the world will try to answer your questions. Our developers would gladly provide our software initial setup help for non-profits and charities.

Written by britttttkelly (opens new window) and pavlenex, (opens new window) proofread by Kukks (opens new window).

Last Updated: 4/4/2024, 1:58:12 PM

The BTCPay Server Project is proudly supported by these entities through the BTCPay Server Foundation.

If you'd like to support the project, please visit the donation page.