Skip to main content
RUNEPAY
Self-hosted · Your keys

Accept crypto
without giving up custody

Invoices, payment links and a REST API across 9 networks. Run it on your own server, keep your own keys, and settle straight to your own addresses — or switch on the custodial wallet when you want balances, transfers and payouts.

Networks
9
Settlement
On-chain
Ledger
Audited hourly
Rendering

Live on this deployment

  • BNB BNB 1 network
  • BTC BTC 1 network
  • ETH ETH 1 network
  • TRX TRX 1 network
  • USDC USDC 2 networks
  • USDT USDT 3 networks

Everything a gateway needs

And nothing that quietly sits between you and your money.

Invoices that expire

A QR checkout with live status, underpayment tolerance and a deadline. Addresses return to the pool when an invoice closes.

Payment links

One reusable URL that mints a fresh invoice per customer — no integration needed to start taking money.

Signed callbacks

HMAC-SHA512 per payment, OxaPay-compatible, plus project webhooks signed over a timestamp so replays can be rejected.

Custodial wallet

Optional. HD deposit addresses, instant transfers between accounts by Rune ID, and reviewed on-chain withdrawals.

Double-entry ledger

Every movement sums to zero, and balances are recomputed from the journal hourly. Money is decimal strings, never floats.

Fees you control

Rules by merchant, by network or globally. The most specific match wins, and none of it is hardcoded.

Built for developers

A REST API with scoped keys and optional IP allow-listing. Create an invoice, hand the customer the URL, and wait for the callback — chain watching, confirmations and delivery retries are the platform's problem, not yours.

  • Scoped API keys, each with its own callback URL
  • White-label payments and static addresses
  • Payouts under a separate key, so a leaked read key cannot move funds
  • Retries on 1m / 5m / 15m / 1h / 6h, every attempt logged with its response
create-invoice.sh
curl -X POST https://rpay.gg/api/v1/invoices \
  -H "merchant_api_key: $RUNEPAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 49.90,
    "currency": "USD",
    "network": "TRC20",
    "order_id": "ORD-1042",
    "callback_url": "https://your.app/hooks/runepay"
  }'

Start taking payments today

No minimum volume, no waiting on an approval queue. Create an account and your first invoice is a minute away.

Create an account