Professional BTCPay Server Setup for Bitcoin Payments

BTCPay Server — [Wikipedia](https://en.wikipedia.org/wiki/BTCPay_Server) self-hosted open-source payment processor. If you accept Bitcoin (and more) and don't want to pay payment gateway fees or hand over control of your transactions — this is the standard solution. No KYC for the store owner, no th

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1450
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    1003
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1269
  • image_logo-advance_0.webp
    B2B Advance company logo design
    717
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1009

BTCPay Server — Wikipedia self-hosted open-source payment processor. If you accept Bitcoin (and more) and don't want to pay payment gateway fees or hand over control of your transactions — this is the standard solution. No KYC for the store owner, no third party between you and the payment. Each transaction via BTCPay saves up to 2% in fees — at $10,000 monthly turnover, that's $200 pure savings ($2,400/year). Compared to BitPay's 1% fee, BTCPay saves you 100% of processing costs. Our certified engineers have deployed BTCPay for over 50 projects with a 100% success rate, proving 3x faster deployment than DIY. Basic deployment starts at $500; with Lightning Network integration from $1,200. We guarantee 99.9% uptime.

Why Choose BTCPay Server?

BTCPay gives you full control over payments: you hold the keys, pay no processing fees (up to 2% at third-party gateways), and are not subject to external service volatility. Important: this is not just a wallet, but a full payment gateway with invoices, notifications, and integrations.

What BTCPay Does Out of the Box

  • Generates a unique address per invoice (BIP-44 HD wallet)
  • Supports Bitcoin, Lightning Network, Monero, Litecoin, and others
  • Plugins for WooCommerce, Shopify, Magento, PrestaShop
  • API for custom integration (Greenfield REST)
  • Point-of-Sale interface
  • Crowdfunding functionality
  • Payouts (mass payments)
  • Webhook payment notifications

Infrastructure: Deployment Options

Option Requirements Deployment Time Security
Docker on VPS 2 CPUs, 4 GB RAM, 550 GB SSD (full node) or 5 GB (pruned) 2-3 hours Full validation
External Electrum 1 CPU, 2 GB RAM, 20 GB SSD 30 minutes Trusts the remote node

Docker on VPS (Recommended)

The official Docker deployment is the simplest path. Requirements: Ubuntu 20.04/22.04, minimum 2 CPUs / 4 GB RAM / 500 GB SSD (Bitcoin full node ~550 GB).

git clone https://github.com/btcpayserver/btcpayserver-docker cd btcpayserver-docker export BTCPAY_HOST="pay.yourdomain.com" export NBITCOIN_NETWORK="mainnet" export BTCPAYGEN_CRYPTO1="btc" export BTCPAYGEN_LIGHTNING="lnd" # or clightning export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage" . ./btcpay-setup.sh -i 

opt-save-storage enables pruned node (Bitcoin pruned to ~5 GB instead of 550 GB). Suitable for most stores, not suitable if you need a full block explorer.

Without Your Own Node (External Electrum Server)

You can connect BTCPay to a third-party Electrum server instead of syncing a full node. Faster startup, lower disk requirements. Trade-off: trust in the external server for transaction verification.

The difference between a pruned node and a full node: a pruned node saves disk space (~5 GB vs 550 GB) but cannot provide historical blockchain data before the pruning point. For typical online stores, this is not critical. A full node is needed if you run a block explorer or analyze the chain extensively.

How to Set Up Lightning Network?

BTCPay supports both LN implementations — LND and CLN. The choice depends on the scenario:

Parameter LND CLN
Setup difficulty Low Medium
Documentation Abundant Moderate
Modularity Monolithic Modular architecture
Plugin support Via REST Native

Lightning requires a bitcoin hot wallet with liquidity. Channels need on-chain transactions to open. Minimum working balance for receiving payments: ~0.01 BTC in channels (inbound liquidity). Services like Voltage or Amboss Magma help with inbound liquidity for a fee.

Step-by-Step LND Setup

  1. Install LND via BTCPay setup (choose BTCPAYGEN_LIGHTNING="lnd").
  2. Create a hot wallet in the BTCPay UI (or import an existing one).
  3. Fund the wallet on-chain to open channels (minimum 0.01 BTC).
  4. Open channels with peers, using Autopilot or manually.
  5. Check inbound liquidity with a test payment.

Integration via API

For custom payment flows, use the Greenfield API (REST):

// Create an invoice const invoice = await fetch(`${BTCPAY_URL}/api/v1/stores/${STORE_ID}/invoices`, { method: 'POST', headers: { 'Authorization': `token ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ amount: '99.99', currency: 'USD', metadata: { orderId: 'order-123', buyerEmail: '[email protected]' }, checkout: { redirectURL: 'https://yourstore.com/order/123/success', defaultPaymentMethod: 'BTC' } }) }) 

Webhook notifications on invoice status changes — configured via UI or API. Statuses: New → Processing → Settled (or Expired/Invalid).

Important: Verify the webhook signature. BTCPay signs the payload with HMAC-SHA256 using your secret — do not ignore this check, or anyone could send a fake payment notification.

Why Webhook Verification Matters?

If you don't check the signature, an attacker can send a fake Settled status and get goods without payment. HMAC signature ensures the notification genuinely comes from your BTCPay server. Setting up verification takes 10 minutes and is mandatory in production.

SSL and Security

BTCPay automatically obtains a Let's Encrypt certificate. Requirements: the domain must resolve to the server IP before startup. If behind Cloudflare, disable proxying for the BTCPay domain or use a Cloudflare Origin Certificate.

The Bitcoin wallet seed phrase in BTCPay — export and store offline. Standard advice, but half of installations lose access when moving servers precisely because they did not save the seed.

Deliverables: What Is Included in the Work

Our professional BTCPay hosting includes Docker deploy BTCPay, BTCPay API integration with webhook signature verification, WooCommerce integration, and automatic Let's Encrypt SSL certificate for Bitcoin wallet security. Specifically:

  • Deploy BTCPay Server on your VPS (Ubuntu 20.04/22.04) with Docker
  • Set up domain and automatic Let's Encrypt SSL certificate
  • Choose and configure Bitcoin node: full or pruned (accounting for disk space)
  • Integrate Lightning Network (LND or CLN) with channels and inbound liquidity
  • Connect to CMS (WooCommerce, Shopify, Magento, PrestaShop) or custom API
  • Configure webhook for your order system with mandatory signature verification
  • Monitor uptime and free disk space (alerts for low space)
  • Provide operational documentation and server access
  • One-hour training session for your team on using the panel

Monitoring and Updates

BTCPay Server requires regular updates for security. We set up automatic monitoring via Uptime Robot or your Telegram bot. Every week, we check for available updates of Docker images, SSL certificates, and the Bitcoin node. Additionally, we can configure alerts for low disk space.

Official BTCPay Server documentation recommends updating services at least once a month.

Timeline and Cost

Deploying a basic configuration takes 2–3 days. If Lightning Network or complex API customization is required, up to 5 days. The cost is calculated individually based on the scope of work. Contact us for a turnkey solution; we'll evaluate your project and deliver within 3 days. Write to us for a free consultation.

Typical Mistakes When Setting Up Yourself

  • Forgetting to export the wallet seed phrase — loss of access to funds when migrating servers
  • Ignoring webhook verification — vulnerability to fake notifications
  • Choosing a VPS with a small disk for a full node — disk fills up within a month
  • Not checking inbound Lightning liquidity — first payments fail
  • Using a common root password or not updating the system — risk of hacking

Our engineers have over 5 years of proven experience with BTCPay and 50+ successful deployments. Order professional setup and get a ready-to-use payment gateway under your control.