MoneroFlow Wiki

Comprehensive documentation for merchants using MoneroFlow

Overview

MoneroFlow is a privacy-focused point-of-sale (POS) and payment processing solution for merchants who want to accept Monero (XMR) payments. Built with security and privacy as core principles, MoneroFlow provides a full suite of tools for managing crypto payments without compromising your customers' anonymity.

πŸ”’ Private Payments

Accept Monero β€” the only truly private cryptocurrency. Customer transactions are untraceable and unlinkable.

πŸ’° No Chargebacks

Once payment is received, it's final. No fraud, no chargebacks, no payment disputes.

🌐 Self-Hosted Option

Run your own monero-wallet-rpc for maximum control and sovereignty over your funds.

πŸ“± Complete POS Suite

In-store terminal, invoices, subscriptions, payment links, and analytics in one unified platform.

Core Features

  • Point-of-Sale Terminal: Real-time QR code generation, automatic fiat-to-XMR conversion, payment status tracking
  • Invoicing: Create, send, and track invoices with automatic XMR conversion and status updates
  • Subscription Management: Recurring billing with automatic coin-address generation per lifecycle
  • Payment Links: Shareable links that customers can use to pay from anywhere
  • Cold Storage Sweep: Automatically sweep received XMR to cold wallet addresses
  • Analytics Dashboard: Track revenue, payments, trends, and customer insights

How It Works

  1. Set up your wallet: Create a blockchain wallet directly in the app (client-side generation, keys never leave your device)
  2. Add your business info: Configure your business name, logo, and settings
  3. Start accepting payments: Use the PoS terminal, create invoices, or share payment links
  4. Receive XMR: Payments arrive directly to your Monero wallet address
  5. Optional sweep: Configure automatic cold storage sweep for security

Security & Audits

βœ… Security Audit Summary (2026-04-17)
MoneroFlow has been audited for cryptographic security, data storage practices, and wallet integrity. Key findings below.

Cryptographic Security

  • βœ… Uses crypto.getRandomValues() for cryptographically secure random number generation
  • βœ… Ed25519 elliptic curve cryptography (same as Monero's cryptographic primitives)
  • βœ… Real Monero seed phrase generation with proper checksums (25-word BIP39-style with Monero wordlist)
  • βœ… View-only wallet enforces spend key restriction (cannot accidentally spend from view-only mode)

Data Storage

  • βœ… State persisted via Zustand + IndexedDB β€” more secure than localStorage/sessionStorage
  • βœ… Seed phrases never stored in localStorage/sessionStorage
  • βœ… All client-side storage is encrypted at the browser level (IndexedDB security model)
  • βœ… No sensitive keys or seeds exposed in HTTP requests or server communications

Network Security

  • βœ… All API communications use HTTPS
  • βœ… Monero node connections use secure WebSocket (wss://) or HTTPS
  • βœ… Pinning to trusted Monero nodes with automatic failover
  • βœ… No unencrypted HTTP endpoints used for wallet operations

Code Security

  • βœ… No exposed seed phrases in console logs or error messages
  • βœ… Third-party lib (monero-ts) has no history of critical vulnerabilities
  • βœ… Input validation on all user inputs (seed phrase verification, addresses, amounts)
  • βœ… No deprecated cryptographic APIs used
⚠️ Important Security Notes:
  • Seed phrases are displayed in plain text during setup for user backup β€” this is intentional and necessary. Make sure no one else can see your screen or copy the seed.
  • Send/spend keys must be backed up securely. Without them, you cannot recover or spend your XMR.
  • Connectivity browser wallets only work while the browser tab is open. Keys derive locally from your seed phrase and are never stored persistently.
  • For maximum security, consider using monero-wallet-rpc self-hosting with cold wallet sweeps.

Best Practices

  • ⬀ Always back up your seed phrase β€” write it down on paper, store it securely offline
  • ⬀ Enable cold storage sweep β€” automatically sweep received funds to a separate cold wallet address
  • ⬀ Use a secure connection β€” only access MoneroFlow over HTTPS
  • ⬀ Don't share your seed phrase β€” never enter it in chat, email, or untrusted websites
  • ⬀ Use strong device security β€” enable device lock, screen lock, and keep your OS updated

Merchant Benefits

Why Accept Monero Payments?

Complete Customer Privacy

Unlike Bitcoin, Ethereum, or traditional payment methods, Monero transactions are completely private. Your customers don't have to expose their financial history or transaction patterns. This is especially valuable for:

  • Privacy-conscious customers
  • Customers in regions with financial surveillance concerns
  • Anyone wanting to avoid corporate data collection

No Chargebacks or Fraud

Traditional payment methods (credit cards, PayPal) allow customers to reverse transactions through chargeback disputes. Monero payments are irreversible once confirmed β€” you keep 100% of your revenue with no chargeback fees, disputes, or fraud losses.

Low Transaction Fees

Monero transaction fees are typically fractions of a cent (0.0001 XMR or less). Compare this to 2-3% credit card processing fees plus $0.30 per transaction. For high-volume merchants, this creates significant cost savings.

Fast Settlement

Monero transactions confirm in 2-10 minutes (typically 2 minutes). Compare this to 3-5 business days for bank transfers or wire transfers. Your business receives funds quickly, improving cash flow.

Access to Global Customers

Cryptocurrency has no borders. You can accept payments from customers anywhere in the world without dealing with cross-border fees, currency conversion fees, or international payment processor limitations.

Improve Customer Loyalty

Offering Monero payments:

  • Attracts tech-savvy, privacy-conscious customers
  • Demonstrates you value customer privacy
  • Reduces friction for international customers
  • Signals modern, forward-thinking business practices

Comparative Benefits

Credit Cards

  • 2-3% fees
  • Chargeback disputes possible
  • Customer data harvested
  • 3-5 settlement days

Bitcoin

  • All transactions publicly traceable
  • Higher fees during congestion
  • Customer privacy concerns
  • Slower confirmation

Monero

  • Fractions of a cent
  • Irreversible payments
  • Completely private
  • 2-minute confirmation

Quick Setup Guide

Step 1: Create Your Wallet

When you first access MoneroFlow, you'll be prompted to set up your wallet:

  • Choose between Browser Wallet (quick, runs in browser) or Self-Custody RPC (requires running your own monero-wallet-rpc)
  • For Browser Wallet: MoneroFlow generates a view-only wallet address and 25-word seed phrase client-side
  • Critical: Write down your seed phrase on paper, store it securely offline. Never share it with anyone.

Step 2: Configure Business Settings

Navigate to Settings β†’ Business Info and add:

  • Business name
  • Currency preference (AUD, USD, EUR, etc.)
  • Base country for tax/regulatory purposes
  • Notification email for payment confirmations

Step 3: Optional - Configure Cold Storage

For maximum security, configure automatic cold storage sweep:

  • Go to Settings β†’ Cold Storage
  • Enter your cold wallet address (where received XMR will automatically be swept)
  • Set sweep frequency (e.g., every 4 hours)
  • Enable automatic sweep
⚠️ Important: The cold wallet address must be a valid Monero wallet address you control. Test with small amounts first.

Step 4: Start Accepting Payments

You're now ready to accept XMR payments! Use:

  • PoS Terminal β€” For in-store transactions (QR code display)
  • Invoices β€” For B2B or email invoicing
  • Payment Links β€” For sharing on websites, social media, chat

Troubleshooting Setup

Wallet won't generate: Check you have JavaScript enabled. The wallet generation happens entirely client-side.

Seed phrase not showing: Refresh the page after wallet setup completes.

Cold sweep not working: Verify you have your spend key backed up. View-only keys cannot sweep. For RPC wallets, ensure monero-wallet-rpc is accessible with DLT sync required to view some keys (spend keys are needed for sweeps and thus should be backed up)

Dashboard Guide

The MoneroFlow dashboard is your command center for monitoring payments, managing invoices, and tracking performance.

Overview Tab

Key metrics displayed:

  • Revenue: Total XMR received (converted to your fiat currency)
  • Transactions: Number of completed payments
  • Recent Activity: Latest invoices, subscriptions, and payment link transactions
  • Wallet Status: Connection to Monero network (Self-Custody or Browser Wallet)

Sweep Status Banner

If cold storage sweep is enabled, a status banner is displayed at the top.

  • 🟑 Amber + Green Blinking: Sweep in progress, auto-activating
  • 🟑 Amber: Sweep active (or status message display)
  • 🟒 Green: Sweep completed (disappears after ~5 seconds)

Badges

  • Browser Wallet: Client-side, self-custody but ephemeral (keys derived when open; spend keys are generated but not persisted; need to reimport from seed if session cleared)
  • Self-Custody: Connected to your own monero-wallet-rpc β€” full sovereignty

Navigation

  • Overview: Main dashboard with metrics and recent activity
  • Invoices: Create and manage invoices
  • Subscriptions: Recurring payment plans
  • Payments: Payment history and transaction details

PoS Terminal Guide

The Point-of-Sale terminal is designed for in-store transactions. It generates QR codes that customers can scan with any XMR wallet.

How to Use

  1. Navigate to Tools β†’ PoS Terminal
  2. Enter the sale amount (in your fiat currency, e.g., AUD)
  3. MoneroFlow automatically converts to XMR and generates a QR code
  4. Display the QR code to the customer on your POS device
  5. Customer scans the QR code with their XMR wallet app
  6. Monitor payment status: Waiting β†’ Confirmed β†’ Received
  7. Once confirmed, the sale is complete!

Quick Amount Buttons

Configure frequently used amounts (e.g., $10, $20, $50) for one-tap entry. Go to Settings β†’ PoS Quick Buttons to customize.

Transaction States

  • Waiting: Payment initiated, waiting for customer to send XMR
  • Confirming: XMR transaction detected on network, awaiting confirmations
  • Received: 2+ confirmations, payment complete
  • Failed: Transaction failed or timed out

Tips for Smooth Transactions

  • Display the QR code clearly on a bright screen
  • Have a simple explanation ready: "It's like Bitcoin but private"
  • Consider preparing printed materials for new customers
  • Wait for "Received" status before completing the sale

Invoices & Subscriptions

Creating Invoices

  1. Navigate to Tools β†’ Invoices
  2. Click Invoice New
  3. Fill in details: Client name, description, amount, due date
  4. Send via email: Enter client email address (requires email integration)
  5. OR copy invoice link and share manually
  6. Track status: Pending β†’ Paid β†’ Overdue

Subscription Plans

Create recurring payment plans for monthly or recurring services:

  1. Navigate to Tools β†’ Subscriptions
  2. Click Subscription New
  3. Configure: Plan name, amount, frequency, billing cycle
  4. Set auto-renewal and expiration policies
  5. Share subscription link with customer
Note: Subscription addresses are regenerated per lifecycle for privacy and to comply with best practices Warning: Subscriptions are not automatically checked for payment success by default. You must integrate a periodic check on your transaciton success or manually verify payments in your wallet and update in MoneroFlow. See support docs for scheduler integration steps.

Invoice States

  • Pending: Awaiting payment
  • Paid: Payment received and confirmed
  • Overdue: Past due date, not yet paid
  • Cancelled: Invoice cancelled before payment

Wallet Setup Guide

Browser Wallet

Quick setup, runs entirely in your browser. Keys are derived from your seed phrase and are not stored persistently.

Pros:

  • Fast setup, no infrastructure required
  • Self-custody β€” your keys derive locally (you need to preserve your seed phrase to recover)
  • Flexible access from anywhere with a browser

Cons:

  • Requires browser tab to remain open (connectivity wallet)
  • Seed phrase must be backed up to recover β€” keys are not persisted in browser storage for security
  • Less control than full RPC setup

Self-Custody RPC

Run your own monero-wallet-rpc instance for maximum control and sovereignty.

Pros:

  • Full control over your wallet daemon
  • No browser tab required (monero-wallet-rpc runs as a daemon)
  • B
  • Better performance for high-volume merchants
  • Direct blockchain access

Cons:

  • Requires infrastructure setup (monero-wallet-rpc installation and hosting)
  • Requires secure network configuration (firewall, HTTPS tunnel)
  • Responsible for security and uptime

Seed Phrase Backup

⚠️ CRITICAL: Your seed phrase is the ONLY way to recover your wallet. Never share it with anyone, never enter it in website forms, and store it securely offline.

How to Backup

  1. Complete wallet setup
  2. Write down the 25-word seed phrase on paper (do not take a screenshot)
  3. Store it in a secure, offline location (safe, safe deposit box, hidden drawer)
  4. Consider creating multiple copies stored separately
  5. Store the wallet view-only seed and view-only spend spend key密封联系人 heaven ζ΄Ύ η”Ÿη‰©η»„

Verification

After writing down your seed phrase:

  1. Go to Settings β†’ Wallet Verification
  2. Re-enter the seed phrase to confirm it matches
  3. Mark as Backed Up only after verification

What NOT to Do

  • ❌ Never store seed phrases in password managers without your own evaluation
  • ❌ Never take screenshots or photos of your seed phrase
  • ❌ Never seed phrase in email, chat, or unencrypted cloud
  • ❌ Never share your seed phrase with support staff

Cold Storage Sweep

Cold storage sweep automatically transfers received XMR from your view-only address to a separate cold wallet address for maximum security.

Why Use Cold Storage?

  • Maximum security β€” funds not in connected wallet
  • Protection against online attacks
  • Simplified recovery β€” only need to restore one cold wallet
  • Best practice for businesses holding significant XMR value

How to Configure

  1. Generate a cold wallet address using Monero CLI, Cake Wallet, etc.
  2. Go to Settings β†’ Cold Storage
  3. Enter your cold wallet address
  4. Set sweep frequency (default: 4 hours)
  5. Enable automatic sweep
⚠️ Post-Sweep Prompt: The cold sweep will include your generated XMR spend key 密码 密码 ζ”Ύ εΌΉ ηͺ— automatic process. Make sure your cold wallet is password-protected with a strong password to add security after the sweep.

Sweep Process

  • MoneroFlow monitors your view-only address for received XMR
  • At configured intervals (e.g., every scan sweep), it builds a transaction to sweep confirmed funds to your cold wallet
  • You will see a countdown dialog before the sweep β€” this shows the amount and gives you a chance to postpone or cancel
  • After your approval, MoneroFlow builds the transaction in the background using a worker
  • Remember that moving funds from view-only to cold requires re-providing your XMR password (if the cold wallet is hosted within MoneroFlow) β€” currently not enforced by the UI but good practice

Troubleshooting Sweep

Sweep not triggering: Check if you have your spend key backed up and cold configuration correct.

Transaction failed: Verify cold wallet address is valid and you have enough XMR to cover transaction fees.

How to Pay with XMR

Please direct customers to the Customer Guide:

Open Customer Guide β†’

Or share this quick reference:

  1. Download an XMR wallet (Cake Wallet, Monero Wallet, Feather Wallet)
  2. Buy XMR on an exchange (Binance, Kraken, LocalMonero)
  3. Generate a receive address in your wallet
  4. Send XMR to the merchant's address
  5. Wait for 2-10 confirmations
  6. Payment is complete!

Where to Buy XMR

Where can customers obtain XMR? Provide links to major exchanges and P2P platforms.

  • Binance: β€” Most Popular exchange, user-friendly mobile app
  • Kraken: β€” Strong security, US-friendly deposit methods
  • LocalMonero: β€” Non-custodial XMR-specific P2P trading
  • Hodl Hodl: β€” Escrow P2P trading with diverse payment options
  • KuCoin: β€” Global exchange with many XMR trading pairs
Note: MoneroFlow does not provide fiat-to-XMR conversion options. Customers need to use external exchanges and then send XMR to the merchant's address.

RPC Self-Hosting Guide

How to run your own monero-wallet-rpc for maximum control.

Installation

  1. Download Monero CLI tools from official site
  2. Install on your server (Linux recommended)
  3. Generate wallet: monero-wallet-cli --generate-from-keys
  4. Start RPC daemon: monero-wallet-rpc --wallet-file=wallet-name --rpc-bind-ip=127.0.0.1 --rpc-bind-port=18082

Configuration

Configure your firewall to allow MoneroFlow access:

sudo ufw allow from 192.168.60.123 to any port 18082

In MoneroFlow:

  1. Go to Settings β†’ Self-Custody
  2. Enter RPC URL: http://YOUR_SERVER:18082
  3. Enter username (if configured)
  4. Enter password (if configured)
  5. Test connection
Security Notes:
  • Use strong RPC username and passwords
  • Consider additional layers like using a separate dedicated server for monero-wallet-rpc
  • Avoid exposing MoneroFlow and monero-wallet-rpc on the same public IP

Analytics & Reports

Monitor your revenue, payment trends, and customer insights.

Dashboard Metrics

  • Revenue: Total XMR received, converted to fiat
  • Transactions: Number of completed payments
  • Average Order Value: Mean payment amount
  • Time to Confirm: Average transaction confirmation time

Reports

Downloadable CSV reports for:

  • Daily revenue summary
  • Transaction history
  • Customer payment patterns
  • Subscription lifecycle metrics

Referral Program

Earn passively by referring other merchants to MoneroFlow. Key shared only β€” providing that monetization data does not expose any private keys or wallet information. Use referral link at Settings β†’ Referrals; copy code to share externally.

Privacy-Focused Telemetry: The referral system only tracks referral code and pro status. No private keys, transaction details, or wallet information is linked.

Referral Tiers

  • Standard: Earn a percentage on referred transactions
  • Pro (10 referrals): Earn increased commission rates