TL;DR: Accept Monero payments with BTCPay Server (self-hosted, free, full-featured), MoneroPay (lightweight API), or Globee (hosted, no setup). Zero-fee processing with self-hosted. Subaddresses per order. Confirmations in ~2 minutes. No chargebacks, no KYC, no intermediary.
Why Accept Monero?
Zero chargebacks — Monero transactions are irreversible. No PayPal disputes.
Near-zero fees — ~$0.001 per transaction vs 2-3% credit card processing
No intermediary — funds go directly to your wallet, no processor approval needed
Privacy for customers — customers don't expose bank details or credit card numbers
Global reach — anyone with internet can pay, no banking infrastructure needed
No KYC burden — you don't need to collect customer financial data
Payment Solutions
BTCPay Server
Self-hostedFree
Most complete solution. Full Monero node required. WooCommerce, Shopify, custom API. Point-of-sale. Invoicing. Multi-coin.
Best for: Established businesses, high volume
MoneroPay
Self-hostedFree
Lightweight REST API. No full node required (remote node OK). Simple webhook callbacks. Docker deployment.
Best for: Developers, custom integrations
Globee
Hosted
Hosted payment processor. No server needed. Multi-coin (XMR, BTC, LTC). API + plugins. 0.5-1% fee per transaction.
Best for: Non-technical merchants
Manual (Subaddress)
Free
Generate a subaddress per customer/order. Share via email or page. Monitor with wallet or view key. Zero infrastructure.
Best for: Small shops, P2P services
Solution Comparison
Feature
BTCPay
MoneroPay
Globee
Manual
Processing Fee
$0
$0
0.5-1%
$0
Hosting Cost
$5-20/mo
$5-10/mo
$0
$0
Full Node Required
Yes (~180 GB)
Optional
No
No
Auto Invoicing
Yes
Yes (API)
Yes
No
WooCommerce
Yes (plugin)
Community
Yes (plugin)
No
Shopify
Yes (integration)
No
Yes
No
Webhooks
Yes
Yes
Yes
No
Multi-Coin
Yes (BTC+XMR+)
XMR only
Yes
XMR only
Point-of-Sale
Yes
No
No
QR code
Setup Difficulty
Medium
Easy-Medium
Easy
Trivial
Privacy Level
Maximum (self-hosted)
High (self-hosted)
Medium (third-party)
Maximum
How Payment Confirmation Works
Customer sends XMR to a unique subaddress generated for their order
Transaction appears in mempool — 0 confirmations (visible in ~seconds)
First confirmation — ~2 minutes (1 block). Safe for most retail purchases.
10 confirmations — ~20 minutes. Standard for exchanges and high-value orders.
Webhook fires — your server gets notified, order marked as paid
For most retail transactions, 1 confirmation (~2 min) is sufficient. Double-spend attacks on Monero are impractical for small amounts. For high-value orders ($1,000+), wait for 10 confirmations (~20 min).
Converting XMR to Fiat
If you need EUR or USD from your XMR revenue:
P2P trading — sell XMR for cash via traders like arnoldnakamura (EU, 10% premium)
Exchanges — Kraken (still lists XMR in some jurisdictions) for bank withdrawal
Bitcoin bridge — swap XMR→BTC via atomic swap, sell BTC on any exchange
Integration Checklist
Generate a unique subaddress for each order (prevents payment mix-ups)
Display the XMR amount + subaddress + QR code on the checkout page
Set appropriate confirmation threshold (1 for retail, 10 for high-value)
Handle partial payments — customer sends less than required
Handle overpayments — refund the excess to a provided address
Set a payment timeout (15-30 min) — price volatility protection
Show real-time confirmation status to the customer
Recommendation
New to accepting crypto? Start with manual subaddresses (zero cost, zero setup). Generate a subaddress per customer with Feather Wallet or Cake Wallet.
Running an online store? BTCPay Server is the gold standard — free, self-hosted, full WooCommerce/Shopify integration.
Want zero server hassle? Globee handles everything hosted, but costs 0.5-1% per transaction.
Need XMR liquidity? I offer private EUR↔XMR P2P trading. Cash by Mail (EU-wide), Face-to-Face (SW Germany). 683 trades, 454 partners, 100% feedback. Contact me on Telegram.