All systems operational 12 elite locations · Europe & Asia Pay with crypto · 0 KYC
Home / Guides / Self-Hosting a BTCPay Server on a VPS
How-to

Self-Hosting a BTCPay Server on a VPS

VPSbit KVM still: frontal rack with six status-LED units

Your node, your invoices, your keys: what a BTCPay deployment needs in CPU, RAM and NVMe, and why a no-KYC VPS fits the self-custodial model.

Short answer

Your node, your invoices, your keys: what a BTCPay deployment needs in CPU, RAM and NVMe, and why a no-KYC VPS fits the self-custodial model.

12 locations · 19 coins · SLA 99.95% · no KYC · public canary

Why self-host BTCPay

BTCPay Server is a free, self-custodial payment processor: your own node generates the invoices, settlements land directly in your wallet, and no third party can freeze the checkout, hold reserves or ask for your customers' papers. For a crypto-native business that is the difference between owning the payment rail and renting it. It also pairs naturally with hosting that skips onboarding: if the point of BTCPay is removing the middleman, the box it runs on should not demand a passport either.

VPS from $4.80* — Core on the annual term (list $6/mo), one invoice for 12 months, no auto-charges. Dedicated with IPMI from $39.20/mo. Crypto invoice, no KYC.

Launch now

Sizing and setup

  1. Titan ($24 list, $19.20 annual-eff; 8 vCPU / 32 GB DDR5 ECC) is the practical floor for a pruned node plus BTCPay; Titan at $24 is comfortable once Lightning joins. NVMe matters most during initial block download.
  2. Deploy with btcpayserver-docker, the supported path, and run the node pruned to keep the disk bill small.
  3. Open 80/443 for the checkout and 8333 for inbound node peers; point a domain at the box and the Docker setup obtains the certificate automatically.
  4. Sync time: a pruned initial download over local NVMe measures in hours. Patience here buys verifiability later — the node checks every block itself.

Notes

What plan should I pick for BTCPay?

Prime is the floor — 4 vCPU / 8 GB handles a pruned node plus the web checkout. Add Lightning volume and Titan's extra cores pay for themselves — BTCPay wants CPU and fast small-file NVMe, not bulk capacity.

Do I need my own domain?

Yes. The TLS certificate automates against a hostname, and customers read the checkout URL — a bare IP or a shared name undermines trust the whole setup exists to build.

Can customers pay in Monero through BTCPay?

Through community plugins, yes, though the core flow is BTC and Lightning. If XMR invoices become the majority of your volume, that is worth testing in staging first — plugin maturity moves slower than core.

Can the box also run the storefront?

It can, but sizing is honest arithmetic: the node, the checkout and a storefront share 8 GB on Prime. Watch memory during chain sync and index rebuilds — those are the moments a colocated storefront feels the node, and the upgrade to Titan is cheaper than an outage.

Ready to launch?

Build the box — VPS or bare metal — create the password, pay the invoice that follows.