docs: add post login UI screenshots and general polish

This commit is contained in:
xmrcheckout
2026-01-17 15:29:56 +00:00
parent 59fbd0c78a
commit ee35140633
7 changed files with 46 additions and 6 deletions
+46 -6
View File
@@ -1,8 +1,14 @@
<p align="center">
<img src="ui/public/logo.png" width="120" alt="XMR Checkout logo" />
</p>
# xmrcheckout.com # xmrcheckout.com
Non-custodial Monero checkout software for merchants. Payments go directly from the customer to the merchant wallet. Non-custodial Monero checkout software for merchants. Payments go directly from the customer to the merchant wallet.
This project is intentionally conservative by design: xmrcheckout is open source and self-hostable. It creates invoices, shows payment instructions, and watches the chain for incoming payments using view-only wallet access (address + secret view key). It can also notify your systems via API and webhooks.
Hard rules:
- It never requests or stores private spend keys. - It never requests or stores private spend keys.
- It never signs transactions. - It never signs transactions.
- It never moves funds on behalf of users. - It never moves funds on behalf of users.
@@ -10,6 +16,7 @@ This project is intentionally conservative by design:
## Contents ## Contents
- [Who it's for](#who-its-for)
- [What it does](#what-it-does) - [What it does](#what-it-does)
- [Trust model](#trust-model) - [Trust model](#trust-model)
- [Repository layout](#repository-layout) - [Repository layout](#repository-layout)
@@ -19,24 +26,33 @@ This project is intentionally conservative by design:
- [Self-hosted deployment (no Docker)](#self-hosted-deployment-no-docker) - [Self-hosted deployment (no Docker)](#self-hosted-deployment-no-docker)
- [Development (API)](#development-api-python) - [Development (API)](#development-api-python)
## Who it's for
If you want Monero payments to go straight to your own wallet, this is for you.
Common fits:
- A merchant who wants a clean hosted checkout UI (self-hosted by you).
- A team that wants API + webhooks to plug into an existing order flow.
- Anyone who prefers a conservative trust model (view-only access for detection).
## What it does ## What it does
At a high level: Typical flow:
1. Your integration creates an invoice (defined in XMR). 1. Your integration creates an invoice (defined in XMR).
2. The UI shows payment instructions (address + amount). 2. The UI shows payment instructions (address + amount).
3. The system observes the chain using view-only wallet access to detect payments and update invoice status. 3. The system observes the chain using view-only wallet access to detect payments and update invoice status.
4. Optional integrations (for example webhooks) can be used to trigger your internal order flow. 4. Optional integrations (for example webhooks) can be used to trigger your internal order flow.
What it does not do: Not included (by design):
- It does not provide custody, refunds, or any fund-moving automation. - It does not provide custody, refunds, or any fund-moving automation.
- It does not act as a financial intermediary. - It does not act as a financial intermediary.
- It does not touch fiat rails in the core system. - It does not touch fiat rails in the core system.
## Trust model ## Trust model
- Funds always move from the customer to the merchant wallet; xmrcheckout only observes the chain to detect payments. - Funds always move from the customer to the merchant wallet; xmrcheckout only observes the chain and reports status.
- The maximum permission level is view-only wallet access (wallet address + private view key). - You keep spend authority. The maximum permission level xmrcheckout uses is view-only wallet access (wallet address + private view key).
- If any configuration or integration implies spend authority, treat it as a misconfiguration. - If any configuration or integration implies spend authority, treat it as a misconfiguration and stop.
## Repository layout ## Repository layout
@@ -45,6 +61,30 @@ What it does not do:
- `docker-compose.yml`: local stack and self-hosted deployment - `docker-compose.yml`: local stack and self-hosted deployment
- `nginx/`: optional reverse proxy / TLS termination (used by Docker Compose) - `nginx/`: optional reverse proxy / TLS termination (used by Docker Compose)
## Screenshots
Post-login UI:
### Dashboard
![Dashboard overview](screenshots/ui_dashboard.png)
### Invoices
![Invoice list and status](screenshots/ui_invoices.png)
### Create invoice
![Create invoice dialog (XMR amount)](screenshots/create_invoice_xmr.png)
![Create invoice dialog (fiat-denominated input, informational estimate)](screenshots/create_invoice_fiat.png)
![Create invoice dialog (summary)](screenshots/create_invoice_summary.png)
### Public invoice page
![Public invoice page awaiting on-chain payment](screenshots/public_invoice_pending_payment.png)
## Quick start ## Quick start
### Homepage only (Docker) ### Homepage only (Docker)
Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 KiB