Merchant Dashboard
DeroPay includes a self-hosted merchant dashboard — a Next.js admin UI for managing invoices, viewing payment history, and monitoring wallet status.
Features
- Invoice management — Create, view, and track invoices
- Payment history — Searchable list of all transactions
- Wallet status — Balance, connection health, sync status
- Real-time updates — Live invoice status changes
Live core vs. preview modules. Invoices, payment history, wallet status, escrow, and webhooks are wired to the real DeroPay engine. The dashboard also ships a broader commerce surface — products, orders, inventory, promotions, price lists — as UI previews backed by sample data, plus extension-point stubs (for example, payouts) for you to implement. Treat those sections as scaffolding, not live features, until you wire them to your own backend.
Setup
Navigate to the Dashboard
The dashboard is located in the DeroPay monorepo:
cd apps/dashboardConfigure Environment
cp .env.example .env.localEdit .env.local with your wallet settings:
DERO_WALLET_RPC=http://127.0.0.1:10103/json_rpc
DERO_DAEMON_RPC=http://127.0.0.1:10102/json_rpc
WEBHOOK_SECRET=your-webhook-secretInstall and Run
bun install
bun devArchitecture
The dashboard is a standalone Next.js 15 app that imports dero-pay as a workspace dependency. It communicates directly with your DERO wallet and daemon via JSON-RPC.
Dashboard (localhost:3100)
↓ dero-pay SDK
↓ JSON-RPC
DERO Wallet (localhost:10103)
DERO Daemon (localhost:10102)The dashboard runs on port 3100 by default to avoid conflicts with your main application on port 3000.
Deployment
For production, the dashboard should be:
- Deployed behind authentication (it has full access to your payment engine)
- Connected to your production wallet RPC
- Not exposed to the public internet
Consider using DeroAuth itself to protect the dashboard — authenticate with your merchant wallet to access the admin UI.