BTCPay Server is a free, open-source Bitcoin payment processor. Its official home is btcpayserver.org, and its code lives on GitHub under the btcpayserver organization. The real decision is not whether to use it. It is who runs the server and who holds the keys. If you self-host, you own everything, including the maintenance. If you use a host, you trade some control for uptime, which is fine as long as your private keys never touch their machine.
TL;DR:
- The official BTCPay Server sources are btcpayserver.org, docs.btcpayserver.org and the btcpayserver GitHub organization. Treat any other "download" site as suspect.
- BTCPay Server charges no processing fees. Your real costs are hosting, Bitcoin network fees and the time it takes to run it.
- You can self-host, use a third-party host, or pay for a managed service. Pick based on how much server work your team will actually do.
- Connect your store with a watch-only extended public key from a hardware wallet. Never put your seed phrase on any server, including your own.
- Bitcoin you receive is taxable property in many jurisdictions. Set up your accounting and conversion process before your first invoice, not after.
Table of Contents
- What BTCPay Server Actually Is, and What It Isn't
- Where to Find the Real BTCPay Server, and How to Avoid Fakes
- Self-Host, Use a Host, or Go Managed: Three Ways to Run BTCPay Server
- What Self-Hosting Really Costs You
- Keep Your Keys Off the Server: The One Setup Rule That Matters
- Lightning, Volatility and the Accounting Problem Nobody Mentions
- Who Should Skip BTCPay Server Entirely
- Run BTCPay Server Without Babysitting a Node
- Frequently Asked Questions
- Sources
What BTCPay Server Actually Is, and What It Isn't
BTCPay Server is self-hosted software that lets a business accept Bitcoin, including Lightning Network payments, without a payment company in the middle. It generates invoices, watches the blockchain for incoming payments, and marks orders as paid. Customer funds go straight to a wallet you control. The project is open source under the MIT license, and the full codebase is public on GitHub.
BTCPay Server is not a company, an exchange or a bank. Nobody holds your money, nobody can freeze your account, and nobody will answer a support ticket at 2 a.m. The same structure that removes the middleman also removes the safety net. Some business owners like that trade. Others regret it.
Beyond basic checkout, the software includes:
- Invoices and payment requests. You create one-off or reusable payment links for B2B billing without wiring up a storefront.
- A point-of-sale app. You get a simple keypad or product grid for in-person sales on a tablet or phone.
- Crowdfunding and pull payments. These handle campaigns, refunds and payouts from the same dashboard.
- The Greenfield API. Your developers get a documented REST API for custom integrations.
- E-commerce plugins. Common shopping-cart platforms connect through official or community plugins.
Where to Find the Real BTCPay Server, and How to Avoid Fakes
Most people searching "btcpay server" want the official site. That site is btcpayserver.org. Documentation lives at docs.btcpayserver.org, and source code and releases live on GitHub. Those three locations are the whole list.
This matters because payment software attracts imitators. A lookalike domain serving a modified build can redirect your incoming payments to someone else's wallet. You might not notice until a customer asks why their order never shipped.
- Download only from GitHub releases or the official docs. If a "BTCPay installer" arrives by email or ad, delete it.
- Bookmark the docs. You will return to them for every upgrade, and search results are where impostors live.
- Check the address the checkout shows. After setup, send a small test payment and confirm it lands in your own wallet.
Self-Host, Use a Host, or Go Managed: Three Ways to Run BTCPay Server

You have three realistic options. The software is identical in each. What changes is who patches the server, who syncs the node, and who gets paged when something breaks.
| Option | Who maintains it | Upfront effort | Ongoing effort | Best for |
|---|---|---|---|---|
| Self-host on your own VPS or hardware | You | High: provisioning, Docker deployment, node sync | Updates, backups, monitoring, disk space | Teams with a sysadmin and a strong preference for sovereignty |
| Third-party shared host | The host | Low | Low, but you depend on the host's diligence | Testing, side projects, low-volume stores |
| Managed hosted instance | A dedicated provider | Low | Low, with defined support | Operating businesses that want uptime without hiring for it |
Our position: for most businesses, self-hosting is a hobby disguised as a cost saving. If you have nobody whose job includes keeping a Bitcoin node healthy, the server will eventually fall behind on updates. Then you will be debugging Docker containers instead of running your company. Self-host if sovereignty is the point. Otherwise, pay someone to run it and keep the keys yourself.
The BTCPay documentation is candid about this. A third-party host controls the server your store runs on. That is exactly why the next section matters more than which hosting option you choose.
What Self-Hosting Really Costs You
The software is free, but running it is not.
0% processing fees. BTCPay Server takes nothing per transaction because there is no company in the middle. Your costs are hosting, Bitcoin network fees, and the hours someone spends keeping it alive.
Here is where those costs land:
- Server rent. A full Bitcoin node needs real storage. The complete blockchain runs to hundreds of gigabytes and keeps growing. Pruned mode cuts that sharply, but you still need a VPS with decent disk and memory.
- Initial sync time. A new node has to download and verify the chain before it can confirm payments. Plan for this to take a while, not minutes.
- Updates. BTCPay ships frequent releases, and Bitcoin and Lightning node software update separately. Skipping updates is how you end up with a security gap or a broken checkout.
- Backups and monitoring. If you run Lightning, a lost channel backup can mean lost funds. Somebody has to own that job.
If you are weighing this against card processing, compare total cost of ownership, not headline fees. Our breakdown of how to pick payment rails by finality rather than speed walks through that comparison.
Keep Your Keys Off the Server: The One Setup Rule That Matters

When you connect a wallet to a BTCPay store, you can either import a private key or connect a watch-only extended public key (xpub). Use the xpub.
A watch-only setup lets the server generate a fresh receiving address for every invoice and detect payments. It cannot spend a single satoshi. If the server is compromised, misconfigured, or run by a host who disappears, your on-chain funds stay safe in a wallet whose keys never left your hardware device.
Never type a seed phrase into a server you don't physically control. With a watch-only xpub, a fully compromised BTCPay instance can see your payments but cannot move them.
- Generate the xpub from a hardware wallet. BTCPay's setup flow supports this directly, and your signing keys stay offline.
- Avoid hot wallets on shared hosts. A hot wallet stores spending keys on the server. On someone else's infrastructure, that means trusting them with your money.
- Lightning is the exception, so size it accordingly. A Lightning node needs hot keys to route payments. Keep only working capital in it and sweep the rest to cold storage on a schedule.
Pro Tip: Before going live, set your store's invoice expiration and the number of confirmations you require to match each product's risk. A $15 digital download can reasonably ship on zero or one confirmation. A $15,000 equipment order should wait for several. BTCPay lets you configure this per store, so separate high-ticket and low-ticket sales into different stores rather than applying one cautious setting that slows down every small order.
Lightning, Volatility and the Accounting Problem Nobody Mentions

Lightning makes small, instant payments practical, but it adds operational weight. To receive Lightning payments, your node needs inbound liquidity. That means channels where the other side has committed funds. A brand-new node with no channels cannot receive anything. Budget for opening channels or buying inbound capacity. If that sounds like a lot, start with on-chain payments only and add Lightning once you have volume.
Volatility is the bigger business issue. Out of the box, BTCPay hands you bitcoin, not dollars. If you price in dollars and hold what you receive, your revenue moves with the market between sale and conversion. Decide your conversion policy before launch. You might convert everything daily, hold a fixed percentage, or hold all of it. Write the policy down so nobody improvises during a price swing.
Taxes follow the same logic. The IRS treats digital assets as property for US federal tax purposes. Receiving them as payment for goods or services is income at fair market value on the day you receive them, and selling them later can create a separate gain or loss. Other jurisdictions handle this differently. Rules for crypto businesses also vary by country, and many countries build them on the Financial Action Task Force's standards on virtual assets. Ask your accountant, not a forum, how this applies to you.
Who Should Skip BTCPay Server Entirely
Not every business should accept Bitcoin, and pretending otherwise wastes your setup budget.
- Skip it if no customer has asked. Adding a payment method nobody uses creates checkout clutter and an accounting line item for zero revenue.
- Skip it if you need chargebacks for your business model. Bitcoin payments are final. Refunds are manual payouts you initiate. That is a feature for merchants but a deal-breaker for some subscription and marketplace models.
- Skip it if nobody will own it. A payment system with no owner degrades quietly until it fails loudly.
If you do have demand, whether from international buyers, crypto-native clients or customers tired of card fees, BTCPay Server is the tool we would pick. It is free, auditable, non-custodial, and has years of real merchant use behind it. For larger rollouts that touch ERP, treasury or compliance, read our guide to what to hire and pay for in an enterprise blockchain consultant before you scope the project.
Run BTCPay Server Without Babysitting a Node
You now know what goes wrong with BTCPay: unpatched servers, stalled node syncs, hot keys on shared machines, and nobody deciding what happens to the bitcoin once it arrives. Myntli, our sister service, runs hosted BTCPay Server instances so the node, the updates and the uptime are someone else's job. You connect your own watch-only wallet, so your keys stay with you. Pricing depends on the setup you need, so check the current plans before you commit.
If the hard part for you is the business decision rather than the server, ActUpon helps with that through crypto and blockchain consulting, much of it performance-based, so fees are tied to agreed results. We will cover conversion policy, accounting handoff and whether crypto checkout earns its place at all. One honest caveat: hosting removes server work, not regulatory work. Your tax and compliance obligations stay yours, and any host's spec sheet, ours included, deserves a careful read.
Frequently Asked Questions
Is BTCPay Server free?
Yes. BTCPay Server is open-source software under the MIT license and charges no processing fees. You still pay for hosting, Bitcoin network fees, and the time or service needed to keep the server updated.
What is the official BTCPay Server website?
The official site is btcpayserver.org, documentation is at docs.btcpayserver.org, and source code is on GitHub under the btcpayserver organization. Download the software only from those sources, because modified builds on lookalike sites can redirect your payments.
Do I need to run my own Bitcoin node to use BTCPay Server?
A BTCPay Server instance relies on a Bitcoin node, but you do not have to run it yourself. A third-party or managed host can run the node for you. If you do that, connect a watch-only wallet so the host never holds your spending keys.
Is BTCPay Server custodial?
No. BTCPay Server is non-custodial, so payments go directly to a wallet you control. Nobody can freeze your funds, and nobody can reverse a payment for you either, so refunds are manual payouts you send yourself.
Does BTCPay Server support the Lightning Network?
Yes. BTCPay Server supports Lightning payments, but your Lightning node needs inbound liquidity before it can receive anything. Many businesses start with on-chain payments and add Lightning once volume justifies managing channels.
Does BTCPay Server convert bitcoin to dollars automatically?
Out of the box, BTCPay Server hands you bitcoin, not fiat. If you want dollars, you need a conversion process, and you should set that policy before your first invoice so price swings do not dictate decisions.
Sources
- BTCPay Server official website | BTCPay Server Foundation
- BTCPay Server Documentation | BTCPay Server
- BTCPay Server source code repository | GitHub
- Digital assets | Internal Revenue Service
- Virtual Assets | Financial Action Task Force