BTCPayServer is an open-source, self-hosted payment processor for Bitcoin and other cryptocurrencies.
If you have trouble using BTCPay, consider joining communities listed on 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.
Direct, peer-to-peer Bitcoin and altcoin payments
No transaction fees (other than those for the crypto networks)
No processing fees
User has complete control over private keys
Lightning Network support (LND and c-lightning)
Opt-in Altcoin integrations
Full compatibility with BitPay API (easy migration)
Process payments for others
Easy-embeddable Payment buttons
Point of sale app
In layman words, 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.
BTCPay is a 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.
Payments via BTCPay are direct, peer to peer. The merchant receives the coins directly to their wallet, with no intermediate. 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.
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.
Can be run everywhere, from low-powered device like Raspberry Pi at home to enterprise-grade servers
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.
For list of articles, podcasts and video presentations about BTCPay, please see our media repository.