BTCPay Server vs Xcash: Which Self-Hosted Payment Gateway Fits Your Business?
BTCPay Server has been the gold standard for self-hosted Bitcoin payments since 2017. But in 2026, payment demands go far beyond Bitcoin-only — stablecoins, multi-chain support, and smart contract payments are table stakes. Here's an honest comparison of BTCPay Server vs Xcash so you can pick the right one.
BTCPay Server: Eight Years of Bitcoin Excellence
Nicolas Dorier launched BTCPay Server in 2017 after Coinbase Commerce announced plans to charge 1% custody fees on Bitcoin payments. The community needed a truly decentralized alternative. BTCPay became the first self-hosted Bitcoin payment gateway that required no third party.
Eight years later, BTCPay is still the most mature self-hosted solution for Bitcoin-only payment processing. Its Lightning Network integration — covering LND, CLN, and LNURL — is best-in-class. Payjoin, hardware wallet signing, BIP-70 payment protocol, custom greenfield API — almost every feature a Bitcoin maximalist could ask for is there.
But the market shifted. Stablecoins now exceed $300 billion in market cap. Ethereum L2 daily active users have surpassed mainnet. Multi-chain payment support is no longer a nice-to-have — it's what customers expect. BTCPay's Bitcoin-only focus went from being its strength to its biggest limitation.
Why Xcash Exists
Xcash was built on a simple premise: self-hosted payments shouldn't be limited to one chain. If your customers hold USDT on TRC-20 instead of BTC, BTCPay can't help you. If your e-commerce site runs on Polygon, BTCPay is equally useless.
Xcash was designed from day one as a multi-chain payment gateway — Bitcoin + Ethereum + BSC + Polygon + Arbitrum + Optimism + 100+ EVM chains, with full USDT/USDC support on ERC-20, TRC-20, and BEP-20 networks. All coins share one API, one webhook system, and one admin dashboard.
Head-to-Head Comparison
| Dimension | BTCPay Server | Xcash |
|---|---|---|
| First release | 2017 | 2025 |
| Chains supported | Bitcoin only | 100+ EVM chains + Bitcoin |
| Stablecoins | \u274c No native support | \u2705 USDT/USDC (ERC/TRC/BEP) |
| Deployment | Docker + manual scripts + full node sync | Single Docker Compose command |
| Setup time | 30-60 min initial + hours for node sync | 3 minutes |
| Platform fee | Zero | Zero |
| HD wallet | \u2705 Bitcoin HD only | \u2705 Cross-chain HD |
| Invoicing | \u2705 BIP-70, Greenfield | \u2705 REST API + Webhook |
| AML/risk scoring | \u274c None | \u2705 MistTrack built-in |
| Deposit & withdrawal | \u274c Receive only | \u2705 Send + receive |
| Backend | C# (.NET Core) | Python (Django + DRF) |
| LNURL / Lightning | \u2705 Mature, best-in-class | In development |
| Greenfield API | \u2705 | \u2705 REST API |
| Docker Compose | Partial (manual config needed) | \u2705 One command |
| Community | Large (8 years) | Growing |
Setup Difficulty: Day and Night
BTCPay Server's official deployment script has improved over the years, but it's still notorious for its complexity:
# BTCPay — requires domain, SSL, manual env var configuration
curl -o btcpay.sh https://raw.githubusercontent.com/btcpayserver/btcpayserver-docker/master/btcpay.sh
# Edit env vars: BTCPAY_HOST, NBITCOIN_NETWORK, LETSENCRYPT_EMAIL
./btcpay.sh --version "1.12.3"
# First deploy + Bitcoin full node sync = hours to days The real bottleneck: BTCPay depends on a full Bitcoin node. Docker Compose pulls Bitcoin Core — 600GB+ of blockchain data, 1-3 days of sync time on a typical VPS. You can use NBXplorer in lightweight mode, but for production environments, node sync is still a real first-time barrier.
Xcash deployment:
# Xcash — two commands, zero pre-configuration
git clone https://github.com/xca-sh/xcash.git
cd xcash && ./scripts/init_env.sh && docker compose up -d Xcash doesn't require running a full node. It connects to blockchain via public nodes or your own RPC endpoints — no sync wait. If you already have Infura or Alchemy keys, plug them in. The default config works out of the box.
Feature Depth: Where Each Excels
BTCPay's Strengths
- Lightning Network — BTCPay's LN integration is the best in the industry. Supports LND, CLN, and LNURL. If you need self-hosted Lightning payments with instant confirmation and near-zero fees, BTCPay is the only serious option
- Payjoin — Native support for this Bitcoin privacy protocol that makes chain analysis harder
- Hardware wallet signing — Sign transactions via USB or HSM without exposing private keys to the server
- BIP-70 payment protocol — Required by some legacy POS systems and Bitcoin payment flows
Xcash's Strengths
- 100+ chains, one dashboard — Manage Bitcoin, Ethereum, BSC, Polygon, Arbitrum, Optimism, Avalanche, Fantom, and more from a single admin panel
- Stablecoin support — Full USDT (ERC-20/TRC-20/BEP-20) and USDC coverage. If your customers are in Asia, Latin America, or Africa, they probably hold USDT — not BTC
- Cross-chain HD wallet — Each customer gets a unique deposit address per transaction. Same HD derivation logic across all chains. No address reuse, no confusion
- Built-in AML (MistTrack) — Suspicious transactions flagged automatically. Helps merchants stay compliant without third-party services
- Full send + receive — Xcash handles both incoming payments and withdrawals to any chain address. Most payment gateways (BTCPay included) only handle receiving
Who Should Choose BTCPay Server?
- Merchants who only accept Bitcoin
- Heavy Lightning Network users
- Bitcoin privacy enthusiasts (Payjoin, BIP-70, hardware wallets)
- Teams with ops bandwidth to configure and maintain infrastructure
- People already running a Bitcoin node
Who Should Choose Xcash?
- E-commerce sellers who need to accept multiple cryptocurrencies
- Cross-border merchants whose customers primarily use USDT
- SMBs that want one system for all on-chain payment collection
- Developers who don't want to spend hours configuring infrastructure
- Merchants migrating from hosted gateways (CoinGate, OpenNode) to self-hosted
Real-World Decision Guide
Scenario A: Bitcoin-only cafe
You run a coffee shop in Berlin that accepts Bitcoin. All customers pay in BTC, some via Lightning. You're technical and don't mind running a node.
Choose BTCPay Server. Its Lightning integration and hardware wallet support are irreplaceable for your use case.
Scenario B: Cross-border e-commerce seller
You sell electronics accessories on Shopify. Customers are in Southeast Asia and Latin America. Most pay with USDT TRC-20, occasional BTC and ETH orders.
Choose Xcash. BTCPay doesn't support USDT TRC-20 — meaning you'd lose most of your customers. Xcash deploys in 3 minutes and handles all chains from one dashboard.
Scenario C: SaaS with global users
Your SaaS product has 2,000 paid users across 50 countries. They pay with ETH, MATIC, USDC, and BTC.
Choose Xcash. Multi-chain HD wallet + unified API + webhook integration means one codebase handles all currencies. BTCPay only processes the BTC portion — you'd need a separate solution for everything else.
Scenario D: Migrating from CoinGate
You've been using CoinGate, processing $20K/month. Want to move to self-hosted and save the 1% fee.
Choose Xcash. Fast deploy, REST API + webhook + dashboard workflow similar to CoinGate. Lowest migration cost. BTCPay migration would require rewriting your entire payment integration.
Community and Ecosystem
BTCPay's community is among the strongest in open-source crypto — Mattermost chat, active GitHub discussions, dedicated contributors, and mature plugins for WooCommerce, Shopify, and Magento. If your use case is "Bitcoin + WooCommerce," BTCPay's plugin is the most battle-tested option.
Xcash's community is younger but growing. The GitHub repo includes REST API docs, a Python SDK, and webhook examples. For SMBs that need multi-chain payment support out of the box, Xcash already covers ground that BTCPay's plugin ecosystem can't reach — because BTCPay plugins only extend Bitcoin functionality, while Xcash natively supports every EVM chain.
Bottom Line
BTCPay Server remains the gold standard for Bitcoin self-hosted payments. If you're a Bitcoin-only business that needs Lightning, privacy, and hardware wallet integration — BTCPay is still your best bet.
But if you need multi-chain support, stablecoin payments, and fast deployment — which in 2026 are business necessities, not luxuries — Xcash is the stronger BTCPay Server alternative. It fills BTCPay's biggest gap: multi-chain support. While keeping what matters: zero platform fees, full private key control, and no KYC.
Deploy Xcash in 3 minutes:
git clone https://github.com/xca-sh/xcash.git
cd xcash && ./scripts/init_env.sh && docker compose up -d Or check out the project at xca.sh.
FAQ
Does BTCPay Server support stablecoins?
Not natively. BTCPay is designed for Bitcoin. It doesn't support USDT, USDC, or other ERC-20 tokens. Community plugins attempt to add stablecoin support, but their reliability and security aren't guaranteed. If you need stablecoin payments, Xcash is the better self-hosted choice.
Does Xcash support Lightning Network?
Lightning Network support is on Xcash's roadmap and currently in development. If you need Bitcoin Lightning payments today, BTCPay Server is the go-to solution.
Can I run BTCPay Server and Xcash together?
Yes. They're not mutually exclusive. Many merchants run both — BTCPay for Bitcoin and Lightning payments, Xcash for EVM chains and stablecoins. Route payments to the appropriate gateway based on the customer's selected currency.
Which is easier to deploy?
Xcash — two commands, no full node required, no domain/SSL pre-configuration needed (just put it behind a reverse proxy). BTCPay's deployment is more involved: Bitcoin node sync, manual environment variables, domain and SSL binding. If your goal is to start accepting payments as fast as possible, Xcash has a significantly lower barrier to entry.