Skip to content

Latest commit

 

History

History
156 lines (122 loc) · 8.81 KB

README.md

File metadata and controls

156 lines (122 loc) · 8.81 KB

BTCPayServer Documentation

Introduction

BTCPayServer is an open-source, self-hosted payment processor for Bitcoin and other cryptocurrencies.

If you have trouble using BTCPay, consider joining the communities listed on the official website to get help from BTCPay community members. Only file Github issue for technical issues you can't resolve through other channels or feature requests you've validated with other members of community.

Please check out our official website, our complete documentation and FAQ for more details.

BTCPayInfographic

Features

  • Direct, peer-to-peer Bitcoin and altcoin payments
  • No transaction fees (other than those for the crypto networks)
  • No processing fees
  • No middleman
  • No KYC
  • User has complete control over private keys
  • Enhanced privacy
  • Enhanced security
  • Self-hosted
  • SegWit support
  • Lightning Network support (LND and c-lightning)
  • Tor support
  • Opt-in Altcoin integrations
  • Full compatibility with BitPay API (easy migration)
  • Process payments for others
  • Easy-embeddable Payment buttons
  • Point of sale app
  • Crowdfunding app
  • Payment Requests

How it works

How BTCPay Works

In a nutshell

In layman's terms, BTCPay Server is a self-hosted and automated invoicing system. When checking out, the customer is presented with an invoice. Each time, a different address is tied to a particular invoice, so there is no address re-use. BTCPay follows the status of the invoice through the blockchain and informs a merchant when he can fulfill the order safely.

How is it different

BTCPay is code, not a company. There is no third-party between a merchant and a customer. Merchant is always in full control of the funds. There are no processing or subscription fees. BTCPay Server is free to use and completely open-source, so developers or security auditors can always inspect the quality of the code.

BTCPay Server Simply Explained

How it keeps funds secure

Payments via BTCPay are direct, peer to peer. The merchant receives the coins directly to their wallet, with no intermediary. Securing funds comes down to the merchant securing their own private keys, which is standard for most cryptocurrency wallets. There is an internal wallet inside BTCPay that merchants can use to view funds received by paid invoices. The funds from that wallet can only be spent, if a transaction is signed with the merchant's compatible hardware wallet. This allows merchants to have complete control of funds received.

How it keeps data private

The data is shared only between two parties - the buyer and a seller. Other payment processors share and collect user data with other parties, making it very hard to comply with privacy law regulations like GDPR. Each invoice in BTCPay has a different receiving address, which means there is no address re-use which improves privacy significantly.

How it resists censorship

  • Self-hosted
  • Can be run everywhere, from low-powered device like Raspberry Pi at home to enterprise-grade servers
  • No third-party
  • Can easily be re-deployed

BTCPay does not have a central point of failure since nobody is controlling it except for the user running it. If run on the cloud server, the hosting providers can potentially censor users by suspending hosting accounts or disabling access to virtual machines. This is always a risk for anyone using a hosting provider. Since no private keys are stored on the server, a censored individual can easily re-deploy the server with another host. Your coins are always inside your wallet. If an invoice is paid while your BTCPay server is down, the software will automatically determine and notify the merchant of offline invoice payments when your server is back up. If a hosting provider suspends the server, and there was no proper backup, server settings and invoice data may be lost, but on-chain payments are always in your wallet. For ultimate censorship-resistance, users should run BTCPay on their own hardware.

Beyond payment processing

BTCPay Server is often misconceived as being the payment processor used by the merchants only. In reality, the use-cases are limitless. BTCPay is a tech-stack that glues lots of complex components into an easy-to-use and coherent interface. The software can be used by self-sovereign individuals as a way to run a full node at home. Developers can build entire businesses and projects on top of the stack. Enterprises can use it as scalable and secure back-end of their infrastracture without ever having to put a trust in a third-party. BTCPay Server is a toolbox with lots of tools you can use, it's up to you how you want to use it.

Documentation

BTCPay Basics

Getting Started

Deployment

Features

Integrations

Development

FAQ and common issues

Support and Community

Community articles

For list of articles, podcasts and video presentations about BTCPay, please see our media repository.