All systems operational 21 locations · null network Pay with crypto · ∅ KYC
Home / Guides / Self-Hosting a BTCPay Server on a VPS
How-to

Self-Hosting a BTCPay Server on a VPS

NulNet light KVM: racks and data flows into a black-hole void

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.

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 $3* (fund $50+), storage 1–5 TB NVMe from $24/mo annual-eff, dedicated with IPMI from $30.80/mo. Crypto invoice, no KYC.

Launch now

Sizing and setup

  1. Warden ($19.00 list, $15.20 annual-eff; 6 vCPU / 16 GB DDR5 ECC) is the practical floor for a pruned node plus BTCPay; Vanguard at $26.50 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?

Warden is the floor — 6 vCPU / 16 GB handles a pruned node plus the web checkout. Add Lightning volume and Vanguard's extra cores pay for themselves. Storage-shaped plans are the wrong tool: 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 16 GB on Warden. Watch memory during chain sync and index rebuilds — those are the moments a colocated storefront feels the node, and the upgrade to Vanguard is cheaper than an outage.

Ready to launch?

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