BTCPay Server Merchant Setup Checklist 2026: From Zero to First Lightning Payment
BTCPay Server is the most capable self-hosted Bitcoin payment processor available to merchants. It is also the one that generates the most "I got stuck at step X" messages in support channels. The software is powerful and well-documented, but the documentation assumes a level of familiarity with servers, networking, and Bitcoin infrastructure that many small merchants do not have.
This checklist is designed to fill that gap. It walks through the complete setup process for a small merchant in 2026, from choosing a hosting approach through receiving your first Lightning payment. It is not a replacement for the official BTCPay documentation; it is a companion that tells you what to expect, what to prepare, and what trips people up at each stage.
A note before starting: BTCPay Server is active open-source software. Specific UI elements, configuration options, and setup procedures evolve between releases. This checklist reflects the general process as of early 2026. Verify details against the current official documentation when you begin your setup.
Phase 1: Decisions Before You Touch a Server
Hosting Choice
You need somewhere to run BTCPay Server. The main options:
Cloud VPS (recommended for most merchants). Rent a virtual private server from a hosting provider. BTCPay provides one-click deployment options for several providers. Typical cost: 10 to 30 euros per month for a server with enough resources to run BTCPay with a pruned Bitcoin node and Lightning.
Shared hosting instance. Some community members run shared BTCPay instances where you get your own store on someone else's server. Lower cost (sometimes free), but you trust the host with your server uptime and partially with your payment infrastructure. Your keys remain yours, but the server is not.
Self-hosted on your own hardware. A dedicated machine at your location or colocation facility. Gives you maximum control but requires hardware investment, stable internet, and more maintenance responsibility. A Raspberry Pi 4 can run BTCPay Server but is at the performance limit; a small x86 server or NUC is more comfortable.
For most small merchants starting out: A cloud VPS with one-click deployment is the practical choice. You can migrate to self-hosted later if you want to.
Node Type
BTCPay includes a Bitcoin node. You choose between:
- Full node (pruned). Downloads and verifies the entire blockchain but only stores the most recent blocks. Requires about 10 to 15 GB of storage. This is the recommended option for most setups.
- Full archival node. Stores the complete blockchain. Requires 500+ GB of storage. Only necessary if you have specific needs.
Pruned is fine. It verifies everything; it just does not store everything.
Lightning Implementation
BTCPay supports multiple Lightning implementations. For a new merchant setup in 2026:
- LND (Lightning Network Daemon). The most widely deployed implementation. Good wallet management, well-documented, extensive third-party tooling. Recommended for most merchants.
- CLN (Core Lightning). The Blockstream implementation. Technically excellent, more lightweight, but with a smaller support community and fewer merchant-focused tools.
- Eclair. Less common for merchant setups. Strong on mobile integration.
For this checklist, we will assume LND because it is the path most new merchants follow and the one with the most community support resources.
Phase 2: Server Setup
Step 1: Provision the Server
If using a cloud VPS:
- Choose a provider that supports BTCPay's one-click deployment (several are listed in the BTCPay documentation)
- Select a plan with at least 2 CPU cores, 4 GB RAM, and 80 GB SSD storage
- Deploy the BTCPay instance using the one-click option or the Docker deployment script
The automated deployment handles installing Docker, pulling the BTCPay containers, and configuring the reverse proxy. It takes 10 to 30 minutes depending on the provider.
Step 2: Initial Blockchain Sync
After deployment, the Bitcoin node begins syncing the blockchain. For a pruned node, this takes 6 to 24 hours depending on your server's internet speed and CPU performance.
While syncing, the server is not ready to process payments. You can log into the admin dashboard and configure store settings, but payment processing requires a synced node.
Common issue: merchants try to test payments before the node is synced and conclude the system is broken. Be patient. Check the sync status in the BTCPay dashboard.
Step 3: Secure Your Admin Access
- Set a strong admin password during initial setup
- Enable two-factor authentication (2FA) immediately
- If possible, restrict SSH access to your IP or use key-based authentication
- Set up automatic security updates for the host operating system
Phase 3: Store Configuration
Step 4: Create Your Store
In the BTCPay dashboard:
- Create a new store
- Set the store name, default currency, and preferred exchange rate source
- Choose your on-chain and Lightning payment methods
Step 5: Connect Your Wallet
On-chain wallet: Generate a new wallet within BTCPay or connect an existing hardware wallet using the xpub key. The hardware wallet approach is recommended because your private keys never touch the server.
Process for hardware wallet connection:
- Open your hardware wallet and navigate to the Bitcoin app
- In BTCPay, select "Connect hardware wallet" or "Import wallet file"
- Follow the prompts to export your xpub (extended public key) to BTCPay
- BTCPay generates unique addresses from your xpub for each invoice
- Payments go directly to addresses your hardware wallet controls
Lightning wallet: BTCPay generates the Lightning node wallet during setup. Fund it with a small amount of Bitcoin (0.001 to 0.01 BTC is sufficient to start) for channel opening.
Step 6: Open Lightning Channels
This is where many merchants get stuck. Lightning payments require payment channels, which require liquidity.
- Fund your Lightning node wallet with Bitcoin from an exchange or your on-chain wallet
- Open a channel to a well-connected node (BTCPay suggests default peers, or use a channel marketplace)
- Wait for the channel opening transaction to confirm (one on-chain confirmation, typically 10 to 60 minutes)
- After confirmation, you have outbound liquidity but need inbound liquidity to receive payments
The inbound liquidity problem: To receive Lightning payments, someone must have a channel open to you with funds on their side. Options:
- Request inbound liquidity from channel services
- Wait for organic channel opening as you become a known node
- Use a liquidity service (some charge a fee, some are free for new merchants)
This is the most counterintuitive part of Lightning for new users. Building inbound liquidity takes time, so start this process as soon as your node is running.
Step 7: Configure Invoice Settings
Key settings to review:
- Payment expiration time. How long a customer has to pay after the invoice is generated. Default is usually 15 minutes. For in-person sales, this is fine. For online orders, consider 30 to 60 minutes.
- Minimum confirmations. For on-chain payments, how many confirmations before the invoice is marked as paid. One confirmation is standard for small transactions. Zero confirmations are risky.
- Lightning fallback. Enable on-chain as a fallback for Lightning-initiated payments. Some wallets prefer one method over the other.
Phase 4: Testing
Step 8: Test the Complete Flow
Before going live:
- Create a test invoice from the dashboard
- Pay it from your personal wallet (use a small amount)
- Verify the payment appears in the BTCPay dashboard
- Verify the on-chain funds arrive in your hardware wallet
- Test a Lightning payment the same way
- Test the refund flow by issuing a refund on a test transaction
- Check that your POS display shows the payment flow correctly
Step 9: Set Up Your Point of Sale
BTCPay includes a built-in POS interface. Configure:
- Product catalogue (if applicable) or use keypad mode for custom amounts
- Display settings for the customer-facing screen
- Receipt options (email, printed, on-screen)
For in-person sales, the typical setup is a tablet or phone displaying the POS interface. The customer sees the payment QR code on screen and pays from their wallet.
Phase 5: Operational Readiness
Step 10: Backup Everything
- Store your hardware wallet seed phrase securely offline (metal backup recommended)
- Export your LND channel backup (static channel backup file). BTCPay can automate this to cloud storage
- Document your server credentials and store them securely
- Note your BTCPay admin recovery information
Step 11: Set Up Monitoring
Enable email notifications for:
- Successful payments
- Failed or expired invoices
- Server health alerts
- Lightning channel closures
Step 12: Plan Your Conversion Strategy
Decide how and when you convert Bitcoin to fiat:
- Manually via an exchange when you accumulate a threshold amount
- Automatically using BTCPay's built-in exchange integration (if available for your exchange)
- Not at all, if you are holding Bitcoin
Document your approach so it is consistent and audit-ready.
Common Setup Problems
Node sync taking too long. Check disk I/O and internet speed. SSDs are mandatory; HDDs are too slow for blockchain sync.
Cannot open Lightning channels. Ensure your node is fully synced and your wallet is funded. Channel opens require on-chain transactions, which cost fees.
Payments not detecting. Verify the node is synced, the wallet is connected correctly, and the invoice currency matches.
SSL certificate errors. BTCPay uses Let's Encrypt for HTTPS. Ensure your domain DNS is pointing to the server's IP address.
For security hardening guidance, see Merchant Security Basics. For the broader decision on whether self-custody is right for your operation, see Self-Custody vs Turnkey Bitcoin POS.