Welcome to the Resmic Payment Infrastructure ✨
Resmic is an open-source, decentralised crypto payment infrastructure that lets you accept crypto payments directly to your wallet — no custody, no middlemen, no fees.
This guide helps you self-host Resmic entirely on your own infrastructure: smart contracts, backend services, database, payment front-end, and dashboard.
If you prefer the hosted solution, you can skip all of this and start instantly at https://dashboard.resmic.com.
- Deploy Smart Contracts (Factory + Temp Wallet)
- Set up PostgreSQL Database
- Fund Wallet with Gas
- Launch Node.js Backend Server (with Redis)
- Host Payment Page Frontend
- Host Dashboard Frontend
- Smart Contracts: Resmic SC Repo
- Backend Server: Resmic Backend
- Payment Page (Frontend): Resmic Payment Page
- Dashboard (Frontend): Resmic Dashboard
Resmic uses a smart contract factory system for deploying session-based wallets.
How it works:
- A user initiates a payment session
- The system predicts the contract address
- User sends the payment
- Upon detection, the smart contract is deployed (using the funds just received)
- Funds are automatically withdrawn to your main wallet
- Manually deploy the following contracts on your preferred EVM-compatible blockchain:
- Factory Contract
- Temp Wallet Contract
We use PostgreSQL to store transaction and session data.
- Required: PostgreSQL instance (hosted or local)
- Schema: Provided at a
/backend/src/dbqueries.jsrunnable file in the backend repo - Just run the file, all table will be generated.
Clone the backend server:
cd backend
# Create and update .env file.
npm install
npm run dev- Create and manage payment sessions
- Predict smart contract address
- Deploy contract when payment is received
- Listen to on-chain events via WebSocket/RPC
- Update database with status
- Send webhook (with signature verification) and email notifications
- Withdraw received funds to the configured main wallet
- Cache payment status using Redis (make sure Redis server is running)
- Node.js + NPM
- Redis (localhost, default port)
- Alchemy or compatible RPC URL per supported chain
- A funded wallet (private key in .env) to pay for contract deployment gas fees
This is the public-facing crypto checkout page your users will see.
cd paymentPage
# Create and update .env file.
npm install
npm run devCan be deployed to Vercel, Netlify, or any server.
Includes:
- Token selection
- QR code generator
- Chain selector
- Realtime payment status tracking
The dashboard provides a full control panel for managing your payment infrastructure.
cd dashboard
# Create and update .env file.
npm install
npm run devIncludes:
- Payment history & analytics
- API keys & webhook secret generation
- Transaction exports
- Real-time payment logs
Each repo includes a .env.example file with all required values.
To self-host Resmic and accept crypto payments in a fully decentralised way:
- Deploy the Smart Contracts (Factory + Temp Wallet)
- Set up PostgreSQL DB (run the schema setup file)
- Fund your main wallet with gas fees
- Launch the Node.js backend server
- Host your payment page frontend
- Host your Resmic dashboard
Resmic is fully open-source and we’re always open to contributions, questions, or improvements.
Feel free to open issues or contact us via GitHub.
Built with ❤️ by Resmic for decentralised payments.