BTCPay Server Official Documentation
repository·master·Indexed 19 days ago
https://github.com/btcpayserver/btcpayserver-docDocumentation for BTCPay Server, an open-source, self-hosted cryptocurrency payment processor. Includes user guides, deployment options (Azure, Docker, VPS, and third-party hosts), and technical details on its architecture involving NBXplorer, Bitcoin Core, and PostgreSQL. Covers wallet management, Lightning Network configuration (LND and CLN), altcoin support, Point of Sale (POS) apps, and API development.
What's inside BTCPay Server
- The BTCPay Server Dashboard (introduced in version 1.5.0) provides a centralized overview of store performance, setup progress, and financial data. It uses a tile-based interface to help users manage wallets, monitor transaction activity, oversee Lightning Network nodes, and track active crowdfunding campaigns.
Overview of BTCPay Server features
masterBTCPay Server is a non-custodial, open-source bitcoin payment gateway. Key technical features include:
- Payment Protocols: Direct peer-to-peer Bitcoin payments, SegWit support, and Lightning Network support (compatible with LND, Core Lightning (CLN), and Eclair).
- Privacy & Security: No KYC, no middleman, Tor support, and enhanced privacy through self-hosting.
- Wallet & Management: Internal full-node reliant wallet with hardware wallet integration and Payjoin support.
- Integrations: Full compatibility with the legacy BitPay API (for easy migration), opt-in altcoin integrations, and easy-to-embed payment buttons.
- Use Cases: Supports Point of Sale (PoS) apps, crowdfunding apps, and processing payments for others.
Use reporting tools for cryptocurrency bookkeeping
masterBTCPay Server provides reporting tools to help with cryptocurrency bookkeeping by allowing you to visualize and export CSV data from your store. Reports consist of tabular data accompanied by useful aggregates.
Available report types include:
- On-Chain Wallets: Displays each on-chain transaction affecting your wallet.
- Products Sold: Displays quantities of items sold (primarily useful for Point of Sale or Crowdfunding users).
- Payments: Displays each accounted payment associated with an invoice.
Choose an API for BTCPay Server integration
masterBTCPay Server provides two primary API paths for integration:
- GreenField API: A RESTful API designed for headless implementations. This is the recommended approach for new projects that do not need to maintain compatibility with BitPay codebases.
- Bitpay Invoice API: BTCPay implements the BitPay API specification, allowing for easy migration from BitPay to BTCPay by simply changing the base URL.
Key Difference: While BitPay is limited to one account per merchant, BTCPay allows a single user to manage multiple stores.
How to add an Altcoin to BTCPay Server
masterAdding an altcoin to BTCPay Server requires two distinct components. You must not modify the BTCPay Server core; all integrations must be implemented as plugins.
- BTCPay Server Plugin: A plugin that extends
BaseBTCPayServerPluginto handle payment logic, wallet management, and UI extensions. - Docker Compose Fragment: A configuration fragment that allows users to run the required coin node infrastructure alongside BTCPay Server.
Refer to the Monero plugin as a reference implementation for both the plugin and the Docker integration.
- BTCPay Server Plugin: A plugin that extends
Explore BTCPay Server Documentation
masterThe BTCPay Server documentation is organized into three primary tracks depending on your goals:
- User Guide: For merchants and end-users looking to understand how to use the service.
- Deployment: For administrators looking to self-host and maintain a BTCPay Server instance.
- Development: For developers building integrations, plugins, or applications on top of BTCPay Server.
Key topics include:
- Deployment & Setup: How to deploy BTCPay Server, wallet setup, and Lightning Network configuration.
- Hardware/POS: Setting up Point of Sale (PoS) systems.
- API & Development: Using the Greenfield API.
- Troubleshooting: Frequently Asked Questions (FAQ) and common issues.
Navigate the BTCPay Server User Interface
masterThe BTCPay Server UI is organized via a sidebar menu. Most settings are context-sensitive to the store selected at the top of the interface. Visibility of certain sections depends on user permissions:
- Server Settings: Only visible to server administrators.
- Plugins: Only appear after they are installed on the server and enabled for your specific store.
- Account: Accessible to all users to manage personal settings.
Key navigation areas include:
- Notifications: View events like received/failed payments or new BTCPay versions.
- Dashboard: High-level overview of wallet balances, transactions, invoices, and crowdfunding status.
- Wallets: Manage Bitcoin (on-chain) and Lightning funds.
- Payments: Manage Invoices, Payment Requests, Pull Payments, and Payouts.
- Plugins: Access specialized tools like Point of Sale or Crowdfunding.
Benefits of using BTCPay for OpenCart
masterIntegrating BTCPay Server into OpenCart provides several advantages:
- Fully Automated System: Automates payments, invoice management, and refunds.
- Zero Fees: No transaction or processing fees.
- Bitcoin QR Code at Checkout: Provides a secure and simple payment experience.
- Lightning Network Integration: Supports instant, low-cost payments.
- Easy Data Exports: Supports CSV exports for financial reporting.
- Versatile Plugin System: Allows for functional extensions.
- Point-of-Sale Integration: Enables Bitcoin acceptance in physical stores.
- Multilingual Ready: Supports global audiences.
- Self-Hosted Infrastructure: Offers full control via self-hosting or convenience via third-party hosting.
- Community-Driven Support: Access to support via Mattermost or Telegram.
Choose a Lightning Network setup strategy
masterBTCPay Server supports several methods for accepting Lightning Network (LN) payments, ranging from easy custodial services to fully self-sovereign node management. Your choice depends on your technical skill, desire for control, and whether you are using a shared instance.
Setup Options Overview
Option Complexity Control Best For Custodial Wallet/Service Low Low Quick start, no liquidity management, works on shared instances Boltz Swapping Service Low Medium Privacy-focused, cheap, uses atomic swaps to L-BTC Liquidity Service Providers (LSP) Medium High Self-custodial, no capital allocation needed, does NOT work on shared instances Self-Sovereign (Own Node) High Full Maximum control, no 3rd parties, does NOT work on shared instances Quick Start Tip
If you want to automate wallet setup, look into the SamRock Protocol to set up wallets automatically.
Compare BTCPay Server with other payment processors
masterBTCPay Server is an open-source, self-hosted payment processor that operates as code rather than a centralized company. Unlike traditional payment processors that act as middlemen, BTCPay Server enables direct peer-to-peer payments between merchants and customers.
Key Differences
- Cost: BTCPay Server is free to use with no merchant processing, subscription, transfer, or software fees. The only costs involved are the network (miner) fees required by the Bitcoin Network and the cost of hosting (e.g., a VPS or personal hardware).
- Control & Security: It is non-custodial, meaning the merchant maintains full control over their private keys. It supports hardware wallet integration to ensure keys remain private.
- Privacy: BTCPay Server does not require KYC/AML (Know Your Customer/Anti-Money Laundering) information. It supports privacy-enhancing features like Tor and Payjoin.
- Censorship-Resistance: Because it can be self-hosted on private hardware, there is no central authority that can freeze accounts or decline payments.
- Decentralization: Unlike custodial processors that may hold, freeze, or alter payments, BTCPay Server uses the merchant's own node to validate payments directly on the blockchain.
Choose a hardware deployment strategy
masterHardware deployment is recommended if you require total control over your own infrastructure for personal use or high-sovereignty requirements.
Considerations:
- Pros: Absolute control over the infrastructure.
- Cons: Requires upfront hardware investment, has a higher learning curve, and may have lower availability compared to a VPS (due to potential internet downtime or hardware failure).
BTCPay Server supports
arm32,arm64, andamd64architectures. All documented hardware solutions utilize the BTCPay Server docker deployment system.Available e-commerce integrations for BTCPay Server
masterBTCPay Server supports several official e-commerce integrations. If you are looking for a pre-built solution, check the following platforms:
- WooCommerce
- Drupal
- Magento
- PrestaShop
- Shopify
- Custom Integrations
For a full list, refer to the main Integrations guide in the documentation sidebar.