Self-Hosting a BTCPay Server on a VPS

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.
Le corps de l'article est en anglais. L'interface, le catalogue et la caisse sont traduits.
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 nowSizing and setup
- 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.
- Deploy with btcpayserver-docker, the supported path, and run the node pruned to keep the disk bill small.
- 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.
- Sync time: a pruned initial download over local NVMe measures in hours. Patience here buys verifiability later — the node checks every block itself.
Notes
- Your own node means your own balances: amounts verify against the chain, not against an API's word.
- Lightning (LND or CLN) is supported for instant settlement; the stable IPv4 every plan ships with, plus port 9735 open, is the channel requirement met.
- Serve the checkout over the same no-KYC rails your hosting bills on — customers paying in the coins this checkout accepts will recognize the flow.
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.