Payment Tools
How BTCPay Server Works for US Small Business
A plain-English look at BTCPay Server's self-hosted architecture, hosting options available to US merchants, integration paths, and how it compares to manage...

Most bitcoin payment processors sit between you and your customer. They hold the incoming funds, convert them on your behalf, and charge a fee for the service. BTCPay Server takes a different approach: it is open-source software you run on your own server, and every incoming payment goes directly to a wallet you control.
For a US small business exploring bitcoin acceptance, that distinction matters on several levels. It touches transaction costs, custody risk, compliance exposure, and the technical lift you are taking on. This guide walks through how the software actually works, where you can run it, and how it fits into existing US merchant setups.
What BTCPay Server Is and How Payments Flow
BTCPay Server is a free, open-source bitcoin payment processor originally released in 2017. Because you host it yourself, there is no company standing between your store and the bitcoin network.
When a customer checks out, the sequence looks like this:
- Your store (or point-of-sale app) sends a payment request to your BTCPay Server instance.
- BTCPay generates a fresh bitcoin address derived from your extended public key (xpub). Your private keys never touch the server.
- The customer sends bitcoin to that address. BTCPay monitors the blockchain and marks the invoice paid once the transaction reaches your configured confirmation threshold (commonly one or two blocks for smaller amounts).
- The bitcoin lands directly in your wallet. BTCPay never touches the funds.
Because BTCPay derives addresses from your xpub rather than holding a hot wallet, you retain custody at every step. A compromised server is a bad day, but it does not mean lost funds the way a compromised hosted processor account might.
For a broader look at how this compares to other approaches, see the guide to bitcoin payment gateways vs direct wallet payments.
Hosting Options for US Merchants
Running your own server sounds daunting, but the ecosystem has matured enough that several paths exist for non-technical business owners.
VPS (Virtual Private Server). Providers such as DigitalOcean, Linode, and Vultr offer $5 to $20 per month plans that are sufficient for most small-business BTCPay setups. BTCPay publishes a one-click deployment script that handles most of the configuration. You manage the server, apply updates, and monitor uptime yourself.
Voltage Cloud. Voltage is a managed node provider built specifically for bitcoin infrastructure. Their BTCPay hosting tier handles server provisioning, updates, and Lightning Network node management for you, at a monthly fee. For merchants who want self-custody without system-administration responsibilities, it is one of the cleaner options.
LunaNode. LunaNode offers a BTCPay-specific launcher that provisions a preconfigured VPS with the software already installed. It is one of the lowest-friction paths to a running instance and has been a recommended option in the BTCPay documentation for years.
Self-hosting at the office or home. Technically possible and used by some merchants, but requires a static IP address, open ports, and reliable hardware. Most small businesses find a cloud VPS more practical than maintaining local infrastructure.
The right choice depends on your comfort with servers and your tolerance for ongoing maintenance. A managed option like Voltage trades some cost for convenience. A raw VPS is cheaper but puts updates and monitoring in your hands.
Integration Paths: WooCommerce, Shopify, API, and Point of Sale
BTCPay Server supports several ways to connect it to your existing merchant workflow.
WooCommerce plugin. BTCPay maintains an official WooCommerce plugin available through the WordPress plugin directory. Once installed and connected to your BTCPay instance via an API key, it replaces the standard payment gateway slot with a BTCPay checkout button. Customers see a payment page with a QR code and a countdown timer. The plugin marks orders as paid automatically when BTCPay reports a confirmed payment.
For more on setting up bitcoin payments through these platforms, see how to accept bitcoin on Shopify and WooCommerce.
Shopify. BTCPay offers a Shopify app that connects through Shopify's custom payment provider feature. The setup requires more steps than the WooCommerce plugin because Shopify restricts direct payment integrations, but the resulting checkout experience is similar: a redirect to your BTCPay-hosted payment page, then an automatic return to Shopify on confirmation.
REST API. For developers building custom storefronts, mobile apps, or internal invoicing tools, BTCPay exposes a REST API. You can create invoices, listen for webhooks on payment events, and pull reporting data programmatically. The API uses API keys scoped to specific permissions, so you can grant an integration only the access it needs.
Point of Sale app. BTCPay includes a built-in point-of-sale interface accessible from any browser or tablet. You configure your items and prices, and the app generates a shareable URL. At checkout, the cashier enters an amount or selects items, and BTCPay displays a QR code the customer scans with their wallet. No app installation required on the merchant side. Several food trucks, farmers market vendors, and small retail shops in the US use this for in-person bitcoin acceptance.
BTCPay vs. Managed Processors: The Real Trade-Offs
Managed processors like BitPay, Coinbase Commerce, and OpenNode handle hosting, updates, compliance screening, and in some cases automatic conversion to USD so you never hold bitcoin. BTCPay is self-hosted and passes all of that responsibility to you.
The appeal of BTCPay is straightforward: there are no per-transaction fees charged by a third party, you hold your own keys, and you are not subject to a processor's terms of service or account suspension policies. For merchants who have had accounts frozen or face high chargeback rates in traditional payment systems, removing a third party from the stack is meaningful.
The trade-offs are real. You are responsible for keeping your server software updated. If your instance goes offline during checkout, payments fail. If you lose access to your wallet seed, recovery depends entirely on your backup practices. And while BTCPay itself does not report transactions to any authority, your obligations under US law do not change based on which software you use.
On the compliance side, US merchants accepting bitcoin remain subject to IRS property transaction reporting (every sale involves a bitcoin disposal at current fair market value), potential Form 8300 filing requirements for cash-equivalent transactions over $10,000, and state money-transmitter rules that vary significantly. BTCPay does not manage any of that for you the way some managed processors claim to. Consult a tax professional or the IRS and FinCEN guidance to understand what applies to your situation, since the rules continue to evolve.
For a direct comparison across the processor landscape, see the best bitcoin payment processors for US businesses and custodial vs self-custodial bitcoin payment tools.
What Setup Actually Looks Like in Practice
A typical BTCPay Server deployment for a US small business follows this rough sequence:
- Choose a hosting path (VPS, Voltage, LunaNode) and provision the server.
- Run the BTCPay Docker deployment script, which installs the software and an SSL certificate through Let's Encrypt.
- Create a store inside BTCPay and connect a wallet by entering your xpub or using the built-in wallet wizard.
- Install the WooCommerce plugin or Shopify app, connect it to your store via an API key, and run a test payment on the network.
- Configure invoice expiry times, confirmation thresholds, and webhook URLs for order fulfillment.
- Set up email notifications or a monitoring service so you know if your server goes down.
From a standing start, a technically capable business owner can have a working checkout integration in a few hours. First-timers who are new to Linux server administration should budget more time or start with a managed hosting option.
BTCPay also has a well-maintained documentation site and an active support community on Mattermost and GitHub, which matters when you run into configuration questions.
Frequently Asked Questions
Does BTCPay Server charge transaction fees? BTCPay itself charges no fees. You pay only the standard bitcoin network miner fee, which the customer typically pays as part of the transaction. Your hosting costs (VPS or managed service) are the only recurring expense on the merchant side.
Does running BTCPay Server mean I have to hold bitcoin? By default, yes. Payments land directly in your wallet and stay in bitcoin until you sell or convert them through an exchange. Some advanced BTCPay configurations support automated conversion via third-party liquidity providers, but those are add-ons, not native features. If holding bitcoin is not workable for your business, a managed processor that auto-converts may be a better fit.
What are my IRS obligations if I use BTCPay? The IRS treats bitcoin as property. Every time a customer pays you in bitcoin, you have received property at its fair market value in USD on that date, and when you later sell or spend that bitcoin, a capital gain or loss may apply. BTCPay does not file anything on your behalf. You are responsible for tracking the USD value at the time of each receipt and reporting accordingly. Requirements can change, so confirm current guidance with a tax professional or the IRS directly.
Is BTCPay Server legal for a US business to use? Operating your own payment software is legal. However, accepting bitcoin payments still creates the same tax and regulatory obligations as using a managed processor. Depending on your business model and transaction volume, FinCEN registration as a money services business or state money-transmitter licensing could apply. These rules vary by state and activity type. Verify your specific situation with a qualified attorney or compliance professional.
Can BTCPay handle Lightning Network payments? Yes. BTCPay Server includes native Lightning Network support. You can run your own Lightning node (LND or Core Lightning) through the same deployment, which enables faster, lower-fee transactions suited to smaller purchases. Lightning adds additional infrastructure complexity, including channel management and liquidity considerations, that on-chain bitcoin payments do not require.