By using this site, you agree to the Privacy Policy and Terms of Use.
Accept

BTCRepublic: Timely News & Analysis for Smarter Trading.

  • ABOUT
  • DISCLAIMER
  • CONTACT
New Logo Black BTCRepublic BTCRebpublic-New White Logo
  • Home
  • Bitcoin News
  • Price Predictions
  • Guides
  • About
  • About
  • Contact
  • Privacy Policy
  • Disclaimer
  • Terms
Reading: How to Set Up BTCPay Server: Accept Bitcoin Payments With Zero Fees (2026)
Share
Font ResizerAa
BTCRepublicBTCRepublic
  • Home
  • Bitcoin News
  • Price Predictions
  • Guides
  • About
Search
  • Home
  • Bitcoin News
  • Price Predictions
  • Guides
  • About
Follow US
  • About
  • Contact
  • Privacy Policy
  • Disclaimer
  • Terms
© 2025 All Rights Reserved by BTCRepublic.

Home - Guides - How to Set Up BTCPay Server: Accept Bitcoin Payments With Zero Fees (2026)

Guides

How to Set Up BTCPay Server: Accept Bitcoin Payments With Zero Fees (2026)

Ali Raza
Last updated: October 6, 2026 12:23 pm
Ali Raza - Editor in Chief
Published: October 6, 2026
Share
Disclosure: BTCRepublic provides analysis and forecasts but does not offer investment advice. Our content is for informational purposes only. Please conduct your own thorough research and consult with a financial advisor before making any investment in cryptocurrency.
BTCPay Server self-hosted Bitcoin payment setup with server and checkout screen
SHARE

BTCPay Server is free, open-source software that lets you accept Bitcoin payments on your own server. You pay zero processing fees, you skip KYC, and no company can freeze your money. To set it up, you need a VPS running Ubuntu, a domain name, and about an hour of command-line work, plus one to three days for your Bitcoin node to finish syncing. This guide walks you through every step, from server to your first live invoice.

Key takeaways
  • BTCPay Server charges 0% processing fees. You only pay for your VPS (about $5 to $30 a month) and normal Bitcoin network fees.
  • It is fully self-hosted and non-custodial. Payments go straight to a wallet you control, so no processor can block or freeze your funds.
  • Official minimum requirements: a VPS with 2 GB RAM, 80 GB of storage with pruning enabled, Docker, and a domain name with DNS pointed at your server.
  • Plan for a 24 to 72 hour wait while the Bitcoin node syncs. Everything else takes under an hour.
  • You do not need to sign up for anything or verify your identity. The software is free and MIT licensed.

Five steps to set up BTCPay Server: server, domain, terminal, wallet, checkout

btcrepublic advertise

What Is BTCPay Server?

BTCPay Server is a self-hosted, open-source payment processor for Bitcoin and Lightning payments. Think of it as your own private Stripe for Bitcoin, running on hardware you control. It creates invoices, generates a fresh payment address for every order, and tracks each payment in real time.

Outline
  • What Is BTCPay Server?
    • Why Merchants Choose BTCPay Server Over BitPay and Coinbase Commerce
  • What You Need Before You Start
    • Server and Software Requirements
    • A Domain Name With DNS Pointed at Your Server
  • How to Set Up BTCPay Server, Step by Step
    • Step 1: Prepare Your VPS
    • Step 2: Confirm Your Domain Resolves
    • Step 3: Install BTCPay Server With Docker
    • Step 4: Wait for the Bitcoin Node to Sync
    • Step 5: Create Your Admin Account
  • Create Your Store and Connect a Wallet
    • Create Your First Store
    • Connect a Bitcoin Wallet
    • Enable Lightning Payments (Optional)
  • Start Accepting Payments
    • Create Invoices and Payment Buttons
    • Connect Your Online Store
  • Security Best Practices
  • Common Mistakes to Avoid
  • Frequently Asked Questions
    • Is BTCPay Server really free?
    • How long does it take to set up BTCPay Server?
    • Do I need to know how to code?
    • Can BTCPay Server work with my Shopify or WooCommerce store?
    • Is BTCPay Server safe to use?
  • The Bottom Line

The project is community run and backed by the non-profit BTCPay Server Foundation, which keeps the software free forever. Anyone can read the code on GitHub, audit it, or run it without asking permission.

It comes with built-in tools most merchants need: invoicing, a point-of-sale app for physical shops, payment buttons you can embed on any website, a crowdfunding app, and plugins for WooCommerce, Shopify, and other platforms.

Why Merchants Choose BTCPay Server Over BitPay and Coinbase Commerce

The biggest reason is money. Custodial processors take a cut of every sale, while BTCPay Server takes nothing. Here is how the main options compare in 2026.

FeatureBitPayCoinbase CommerceBTCPay Server
Processing fee1% to 2% + $0.25 per transaction1% per transaction0% (software is free)
Monthly cost$0$0VPS hosting only, about $5 to $30
KYC requiredYesYesNo
Who holds the fundsBitPayCoinbaseYou, in your own wallet
Account freeze riskYes, at their discretionYes, at their discretionImpossible, you run the server
Bitcoin supportYesYesYes, plus Lightning

BTCPay Server zero fees versus custodial processor fees comparison

btcrepublic advertise 2

On $10,000 of monthly sales, a 1% fee costs you $1,200 a year. BTCPay Server gives you that money back, in exchange for running one small server. For a deeper comparison of fee structures across the industry, the breakdown of crypto payment gateway fees for 2026 shows BTCPay Server as the only major option at a true 0%.

There is a trade-off. With BitPay or Coinbase Commerce, someone else handles the servers, security patches, and uptime. With BTCPay Server, that job is yours. If you sell on Shopify and want the fastest path to live Bitcoin checkout without running a server, our guide on how to accept Bitcoin payments on Shopify covers that route.

What You Need Before You Start

Gather these three things before you touch the terminal. Each one is cheap and takes minutes to arrange.

Server and Software Requirements

Per the official BTCPay Server deployment FAQ, the minimum for a Bitcoin and Lightning setup is 2 GB of RAM and 80 GB of storage with pruning enabled, plus Docker. In practice, most guides recommend a VPS with at least 2 CPU cores, 4 GB of RAM, and an SSD, running Ubuntu 22.04 or newer. You need SSH access to the machine.

Your BTCPay install runs a full Bitcoin node, the same kind of software covered in our Bitcoin node at home guide. That node needs ports 80 and 443 open for the web interface and HTTPS, plus port 9735 if you plan to run Lightning.

A Domain Name With DNS Pointed at Your Server

You need a real domain name, for example pay.yourstore.com. In your DNS provider’s dashboard, create an A record that points the domain (or subdomain) to your VPS IP address. BTCPay Server uses that domain to fetch a free SSL certificate from Let’s Encrypt automatically.

Verify the DNS has propagated with a tool like WhatsMyDNS before you run the installer. If the domain does not resolve to your server, the certificate step will fail.

How to Set Up BTCPay Server, Step by Step

Follow these steps in order. Do not skip the sync wait in step 4, because your server cannot verify payments until the node is fully synced.

Step 1: Prepare Your VPS

Connect to your server with SSH and update the system packages:

sudo apt update && sudo apt upgrade -y
sudo apt install git curl docker.io docker-compose-plugin -y
sudo systemctl enable docker

This installs Git for cloning the deployment files and Docker for running all of BTCPay’s services in containers.

Step 2: Confirm Your Domain Resolves

Before going further, double check that your domain points to the server. From your local machine, run dig pay.yourstore.com (replace with your domain) and confirm the answer section shows your VPS IP. If it shows an old IP or nothing, wait for DNS propagation and try again.

Step 3: Install BTCPay Server With Docker

BTCPay Server ships an official deployment script that does the heavy lifting. Clone the repository and set your environment variables:

mkdir btcpayserver && cd btcpayserver
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker

Now configure what gets installed. Replace the domain with your own:

export BTCPAY_HOST="pay.yourstore.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_LIGHTNING="clightning"

What each line means: BTCPAY_HOST is your domain, used for the web interface and the SSL certificate. NBITCOIN_NETWORK set to mainnet means real money; use testnet only for practice. BTCPAYGEN_CRYPTO1 enables Bitcoin. BTCPAYGEN_REVERSEPROXY set to nginx handles HTTPS. BTCPAYGEN_LIGHTNING adds a Lightning node; leave this line out entirely if you want on-chain payments only.

If your VPS is tight on disk, add export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-s" to run the node in pruned mode. Then run the installer:

. ./btcpay-setup.sh -i

The script installs Docker if needed, downloads the containers, configures nginx, requests your Let’s Encrypt certificate, and launches Bitcoin Core, NBXplorer, and BTCPay Server. Setup usually takes 10 to 30 minutes depending on your server. The script is safe to run again if something goes wrong.

Step 4: Wait for the Bitcoin Node to Sync

This is the patience step. Your server is downloading and verifying the entire Bitcoin blockchain, which is several hundred gigabytes of data. On a modest VPS, full sync typically takes 24 to 72 hours.

You can watch the progress at your BTCPay URL, for example https://pay.yourstore.com. The dashboard shows the sync status. The official docs also describe a FastSync option that can shorten this wait, and pruned mode reduces how much disk the node keeps.

If you prefer a visual walkthrough of the deployment, the official web-wizard video below covers the same process:

Step 5: Create Your Admin Account

Once the server is up, visit your domain in a browser. The first screen asks you to register the admin account. Fill in an email and a strong password, then log in. You are now inside your own payment processor.

Create Your Store and Connect a Wallet

The server is running. Now tell it what to sell and where the money should go.

Create Your First Store

After registering, BTCPay Server sends you straight to the store creation page. Enter a store name, pick your default display currency (for example USD), and choose a price source such as Kraken for USD. Click Create. You can run unlimited stores on one server, each with its own wallet.

This video shows the full merchant setup flow, from store creation to wallet linking and pay buttons:

Connect a Bitcoin Wallet

Go to Wallets, then Bitcoin, and click Set up wallet. You have two safe choices. You can connect an existing wallet by importing its extended public key (xpub), which lets BTCPay generate fresh addresses without ever seeing your private keys. Or you can generate a brand new wallet inside BTCPay.

The xpub route is the professional choice. Your private keys stay on your hardware wallet or offline machine, while the server only gets the public key it needs to watch for payments. If you are new to self-custody wallets, read our guide on how to use Sparrow Wallet first, and our complete Bitcoin wallet guide for 2026 explains the basics from scratch.

If BTCPay generates the wallet for you, back up the seed phrase immediately, on paper, stored somewhere safe. Anyone with that seed can spend your funds, and no support team can recover it for you.

Enable Lightning Payments (Optional)

If you included a Lightning implementation in step 3, go to Wallets, then Lightning, and connect your internal node. Lightning gives your customers near-instant, near-free payments, which is a real advantage for small purchases. Our guide to the best Bitcoin Lightning wallet for beginners helps your customers pick a wallet on their side too.

Start Accepting Payments

With the store and wallet connected, you have three ways to take money.

Create Invoices and Payment Buttons

Under Payments, you can create invoices manually and send the payment link to anyone, anywhere in the world. For a website, go to Payment Buttons, design a button, and paste the generated HTML snippet into your site. Customers who click it land on your branded checkout page with a QR code.

The Point of Sale app works for physical shops: open it on a tablet, type the amount, and the customer scans the QR code at the counter. The Crowdfunding app runs donation or fundraising campaigns the same way.

Connect Your Online Store

BTCPay Server ships official plugins for the major e-commerce platforms. For WooCommerce, install the free BTCPay for WooCommerce plugin, enter your server URL, and authorize it with an API key from your BTCPay store. For Shopify and others, check the integrations list in the official docs. Orders then create BTCPay invoices automatically, and payment status syncs back to your store.

Security Best Practices

You are your own bank now, so act like one. Keep your server updated with regular apt update runs, and update BTCPay itself through the Server Settings page when new versions appear. Restrict SSH access with key-based login instead of passwords, and keep a firewall allowing only ports 80, 443, and 9735.

Back up two things separately: your wallet seed phrase (offline, on paper or steel) and your server data (the BTCPay data directory and, if you run Lightning, your channel state). Test your restore process with a small amount before you route real revenue through the server. Our guide on how to store Bitcoin safely covers hot versus cold wallet habits that apply here too.

Common Mistakes to Avoid

First, running the installer before DNS propagates. If your domain does not resolve to the server, Let’s Encrypt cannot issue the certificate and the install breaks. Verify DNS first, every time.

Second, accepting payments before the node finishes syncing. Unconfirmed payments can be misreported on a node that is still catching up. Wait for 100% sync.

Third, generating a wallet in BTCPay and never writing down the seed. A server crash without a seed backup means the money is gone. Back up before your first real payment.

Fourth, skipping Lightning. On-chain fees make small payments expensive during busy periods. Lightning costs almost nothing to run and your customers will notice the speed.

Frequently Asked Questions

Before you deploy, here are the answers to the questions every store owner asks about BTCPay Server. They cover cost, time, skill level, compatibility, and security.

If your question is not here, the official BTCPay Server documentation and the community support channels have detailed answers for nearly every setup scenario.

Is BTCPay Server really free?

Yes. The software is free and MIT licensed, and it charges zero processing fees. Your real costs are the VPS (about $5 to $30 a month), the domain name, and normal Bitcoin network fees on each transaction. Community-funded through the BTCPay Server Foundation, it has no paid tiers or locked features.

How long does it take to set up BTCPay Server?

The commands take 30 to 60 minutes for someone comfortable with a Linux terminal. The long wait is the Bitcoin node sync, which takes 24 to 72 hours on a typical VPS. Pruned mode and the documented FastSync option can reduce the disk and time needed.

Do I need to know how to code?

No. You need basic comfort with the Linux command line: copying commands, editing environment variables, and connecting over SSH. If that sounds like too much, one-click hosts like LunaNode deploy BTCPay Server for you for a monthly fee, and free third-party BTCPay hosts exist for testing.

Can BTCPay Server work with my Shopify or WooCommerce store?

Yes. Official plugins connect BTCPay Server to WooCommerce, Shopify, Magento, PrestaShop, and more. Invoices are created automatically at checkout, and payment status syncs back to your store orders.

Is BTCPay Server safe to use?

The software itself is non-custodial and open source, which removes the biggest risks of custodial processors: frozen accounts and exit scams. Your safety depends on your own server hygiene: strong passwords, SSH keys, a firewall, regular updates, and offline seed backups. The server never needs your private keys if you connect a watch-only xpub wallet.

The Bottom Line

BTCPay Server turns a $5-a-month VPS into your own private Bitcoin payment processor. You keep 100% of every sale, you answer to no compliance department, and your customers pay you directly with no intermediary in the middle. The setup takes an afternoon of focused work and a few days of syncing, and from then on your checkout is yours.

Next step: pick your VPS and domain today, run the Docker deployment tonight, and let the node sync while you sleep. By the end of the week you can send your first invoice. If you want the full technical reference while you work, the official docs at docs.btcpayserver.org cover every deployment option in detail.

NFTs Explained: 7 Real Use Cases That Actually Matter
How to Set up a Crypto Wallet 2025: A Comprehensive Solution for Beginners
How To Recover Stolen Cryptocurrency 2025 – “Scamming” Your Scammer
How To Use ChatGPT Agent For Crypto Trading In 2026
5 Best Dividend Paying ETFs For Instant Diversification And Passive Income
TAGGED:accept bitcoinbitcoin merchantbitcoin paymentsbtcpay serverlightning networkself-hosted

Sign Up For Daily Newsletter

Be keep up! Get the latest breaking news delivered straight to your inbox.
Subscription Form

By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.
Share This Article
Facebook Email Print
Profile Photo
ByAli Raza
Editor in Chief
Follow:
Ali Raza is a Senior Crypto Reporter with years of experience covering Bitcoin, blockchain, fintech, AI, and digital assets. His work has appeared in leading financial and cryptocurrency publications, where he analyzes market trends, regulations, emerging technologies, and investment developments.
Previous Article Bitaxe home Bitcoin miner on a desk What Is a Bitaxe Bitcoin Miner? The $100 Home Miner Explained
Leave a Comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to Our Newsletter
Subscribe to our newsletter to get our newest articles instantly!
Subscription Form

Grayscale Files S-1 With SEC To Convert Avalanche Trust Into Spot AVAX ETF
Grayscale Files S-1 With SEC To Convert Avalanche Trust Into Spot AVAX ETF
News
Mine Bitcoins For Free
How To Mine Bitcoins For Free? – Miners Should Know
Mining
Bitwise Crypto ETF Approved by Major Global Bank
Bitwise Crypto ETF Approved by Major Global Bank
News
Unstoppable Domains and NFT Workx Launch a Tokenized Identity Solution
Unstoppable Domains and NFT Workx Launch a Tokenized Identity Solution

Follow Us on Socials

BTCRepublic use social media to react to hot news, update supporters and share authentic and factful information

Facebook Twitter Linkedin Telegram Pinterest
New Logo Black BR


BTCRepublic is the go-to source for comprehensive news coverage on blockchain technology, cryptocurrencies, non-fungible tokens, and Web3 gaming. Our content ranges from market trends to in-depth price analysis, fresh developments, interviews, and beginner guides.

Subscribe to our newsletter

Stay ahead of the curve with the BTCRepublic newsletter. By subscribing, you will get information about what is happening in the Web3 world straight to your inbox.

Subscription Form (#3)

More

  • About
  • Contact
  • Privacy Policy
  • Disclaimer
  • Terms
Reading: How to Set Up BTCPay Server: Accept Bitcoin Payments With Zero Fees (2026)
Share
© 2026 All Rights Reserved by BTCRepublic