DeroPay

Accept DERO payments
in minutes

Invoices, real-time payment monitoring, HMAC-signed webhooks, and a self-hosted merchant dashboard. Everything runs on your infrastructure.

Get Started View Source

Invoice to confirmation

Watch the complete payment lifecycle — invoice creation, QR code, payment detection, and DAG confirmations.

DeroPay — Payment Flow

Premium Plan

Monthly subscription

25.0 DERO

Expires in 14:59

Invoice created · generating address...

Features

Everything a merchant needs

From invoice creation to webhook delivery. No third-party services, no API keys, no external dependencies.

Invoice Engine

Create invoices with unique integrated addresses. Automatic TTL expiry, partial payment handling, and full state machine lifecycle.

QR Code Payments

Customers scan a QR code with their wallet. Integrated addresses embed payment IDs — no manual input needed.

Real-Time Monitoring

Polling-based payment detection with configurable confirmation depth. DAG-aware with STABLE_LIMIT = 8 blocks.

HMAC Webhooks

Stripe-style signed HTTP POST notifications on every state change. Retry with exponential backoff.

Pluggable Storage

In-memory for development, SQLite for production, or bring your own. Simple InvoiceStore interface.

Merchant Dashboard

Self-hosted admin UI for invoice management, payment history, wallet status, and escrow operations.

Accept DERO Everywhere

Four ways to get paid

One gateway server, multiple distribution channels. Pick the one that fits your business — or use them all.

Payment Links

No website needed. Create an invoice, get a link, share it anywhere — email, social media, QR poster, text message. The hosted checkout page handles the rest.

Embeddable Widget

Drop a single <script> tag on any website. A 13KB JavaScript file renders a "Pay with DERO" button with a full payment modal. Zero dependencies.

WooCommerce Plugin

Accept DERO in the world's largest ecommerce platform. Thin PHP adapter connects your WooCommerce checkout to the gateway's REST API.

Medusa.js Plugin

TypeScript-native payment provider for Medusa v2. Extends AbstractPaymentProvider with automatic fiat-to-DERO conversion and webhook handling.

Five minutes to first payment

Configure your wallet RPC, create an invoice, and start monitoring.

server.ts
import { InvoiceEngine } from "dero-pay/server";
import { deroToAtomic } from "dero-pay";

const engine = new InvoiceEngine({
  walletRpcUrl: "http://127.0.0.1:10103/json_rpc",
  daemonRpcUrl: "http://127.0.0.1:10102/json_rpc",
  store: new SqliteInvoiceStore("./payments.db"),
  webhook: {
    url: "https://mystore.com/api/webhook",
    secret: process.env.WEBHOOK_SECRET!,
  },
});

const invoice = await engine.createInvoice({
  name: "Premium Plan",
  amount: deroToAtomic("25.0"),
  ttl: 900,
});

engine.start();