Now in public beta

Accept Monero payments easily

The simplest way to accept XMR payments. Developer-friendly API, instant setup, and automatic payouts to your wallet — completely free. Start accepting private payments in minutes.

Create a charge
$ curl -X POST https://your-server.com/api/charges \
  -H "x-api-key: rp_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"amount": 49.99, "currency": "USD"}'

{
  "id": "ch_1737001234567",
  "amount": 49.99,
  "currency": "USD",
  "amount_xmr": 0.284521,
  "subaddress": "8A1h3x...",
  "status": "pending",
  "expires_at": "2026-01-16T02:00:00.000Z"
}

True Privacy

Monero's ring signatures, stealth addresses, and RingCT ensure complete transaction privacy. No blockchain analysis possible.

Fast Confirmations

2-minute block times with 10-confirmation finality. Your payments confirm in ~20 minutes.

Zero Fees

Free payment processing. No monthly costs, no setup fees, no transaction fees. Self-host and keep every satoshi.

Zero JavaScript

Every page works without JavaScript. CSP header blocks all scripts. Auditable, secure, Tor-native.

Tor Native

Built for Tor Browser "Safest" mode. Access via .onion address for maximum anonymity.

API-First

Simple REST API with webhooks. Create charges, track payments, integrate anywhere with curl.

How It Works

1

Create a Charge

POST to /api/charges with amount and currency. We generate a unique Monero subaddress.

2

Customer Pays

Show the payment page with QR code. Customer sends XMR from any wallet.

3

Get Notified

Webhook fires when payment confirms. Funds arrive in your wallet automatically.

Simple, transparent pricing

Free and open source. Self-host on your own terms.

Auto-Swap

Optional add-on

~1-2% swap spread
  • XMR to USDC/USDT
  • Instant conversion
  • Multi-chain payout
  • Configurable provider
  • Reduce volatility risk

Hosted

We run it for you

Coming Soon

Managed instances

  • Zero server maintenance
  • Automatic updates
  • 99.9% uptime SLA
  • Priority support
Join Waitlist

Built for Auditors

Our Content-Security-Policy header proves zero JavaScript:

Content-Security-Policy: script-src 'none'

Every page is server-rendered HTML. View source and verify.