Introduction
BTCPay Server is a self-hosted, open-source payment processor for Bitcoin and other cryptocurrencies. It eliminates third-party payment fees and gives merchants full control over their funds with no intermediary custody. Organizations and individuals worldwide use it for e-commerce, donations, and point-of-sale.
What BTCPay Server Does
- Processes Bitcoin on-chain and Lightning Network payments directly to your wallet
- Generates payment requests, invoices, and checkout pages
- Provides a built-in point-of-sale terminal for in-person payments
- Supports crowdfunding and donation pages with goal tracking
- Offers plugins for WooCommerce, Shopify, Drupal, and other platforms
Architecture Overview
BTCPay Server runs as a .NET application backed by PostgreSQL and NBXplorer for blockchain indexing. It connects to a full Bitcoin node (bundled or external) and optionally a Lightning Network node. The entire stack is orchestrated via Docker Compose, with Nginx handling TLS termination and reverse proxying.
Self-Hosting & Configuration
- Deploy with the official Docker-based installer on any Linux VPS
- Requires a Bitcoin full node (auto-provisioned or bring your own)
- Configure domain and HTTPS via the built-in Let's Encrypt integration
- Connect your existing xpub or Lightning node for direct fund receipt
- Manage stores, users, and payment settings through the admin dashboard
Key Features
- Zero fees and no third-party custody of funds
- Lightning Network support for instant, low-cost payments
- Multi-store and multi-user with role-based access control
- Built-in apps for point-of-sale, crowdfunding, and payment buttons
- Extensive API for custom integrations and automation
Comparison with Similar Tools
- Stripe — proprietary with fees; BTCPay is free and self-hosted for crypto
- OpenNode — hosted Lightning payments; BTCPay gives full node sovereignty
- CoinGate — custodial crypto gateway; BTCPay is non-custodial
- Bitpay — centralized processor with KYC; BTCPay requires no account or verification
FAQ
Q: Do I need to run a full Bitcoin node? A: The Docker setup includes a pruned node by default. You can also connect an external node.
Q: Which cryptocurrencies are supported? A: Bitcoin (on-chain and Lightning) is the primary focus. Altcoin support is available through community plugins.
Q: Can I use BTCPay for a WooCommerce store? A: Yes, an official WooCommerce plugin connects your store to your BTCPay Server instance.
Q: What are the server requirements? A: Minimum 2 GB RAM and 80 GB SSD for a pruned Bitcoin node deployment.