POS Guide
This is a step-by-step walkthrough of the entire POS system, from initial setup to accepting payments.
End-to-End Overview
Setup (once) --> Cashier logs in --> Creates payment --> Customer pays --> Payment tracked
Phase 1: Merchant Setup (One-Time)
The merchant does this from the main dashboard, logged in with their account.
Step 1: Create Terminals
Go to Dashboard > POS > Terminals > Create Terminal.
For each physical register or POS station:
Enter a name (e.g., "Register 1")
Enter a short code (e.g.,
R1) -- this is an identifier, not a passwordSelect the merchant wallet address to receive payments
Optionally set a default blockchain network and token
Click Create
Repeat for each register.
Step 2: Create Cashiers
Go to Dashboard > POS > Cashiers > Create Cashier.
For each staff member:
Enter their name (e.g., "John Doe")
Enter a short code (e.g.,
JD) -- used in order trackingEnter a PIN -- must be 8+ digits, numbers only
Click Create
Share the PIN with the cashier privately
Repeat for each staff member.
Step 3: (Optional) Set Cashier Restrictions
If you want to limit which cashiers can use which terminals:
Go to Dashboard > POS > Terminals
Click Edit on a terminal
Toggle on only the cashiers who should access this terminal
Click Save
See Cashier Restrictions for details.
Step 3b: (Optional) Set Token Restrictions
If you want to limit which tokens are available on a terminal:
Go to Dashboard > POS > Terminals
Click Edit on a terminal (or configure during creation)
Toggle on Restrict Available Tokens
Select the tokens you want this terminal to accept
Click Save
When enabled, cashiers will only see the selected tokens and networks. See Token Restrictions for details.
Step 4: Set Up the Device
On your POS device (tablet, phone, laptop):
Open a browser
Navigate to the terminal URL:
https://your-domain.com/pos/{terminalId}Bookmark it or add to home screen
Use fullscreen mode for the best experience
The PIN login screen appears -- ready for cashiers
Phase 2: Cashier Login
This happens at the start of a shift or after a session expires.
Cashier sees the PIN keypad on screen
Cashier enters their 8+ digit PIN using the on-screen number pad
Only digits are shown -- no letters, no special characters
If the PIN is valid and the cashier is allowed on this terminal:
Login succeeds
15-minute session starts
Payment screen appears
If the PIN is invalid or cashier is not allowed:
Error message is shown
Cashier can try again
Phase 3: Creating a Payment
Once logged in, the cashier creates payments for customers.
Step 1: Enter Amount
The payment creation screen shows a numeric keypad
Cashier enters the amount in USD (e.g.,
50.00)Clicks Next or Continue
Step 2: Select Network & Token
Choose the blockchain network (e.g., Ethereum, Polygon, Base)
Choose the token (e.g., USDC, USDT, ETH)
If a non-stablecoin is selected, the system calculates the equivalent amount at current price
Clicks Create Payment
Step 3: Customer Pays
A QR code is displayed on screen
Below the QR, the wallet address is shown in truncated form -- tap it to reveal the full address (useful for customers who cannot scan)
The customer scans the QR code with their crypto wallet
The customer confirms the payment in their wallet
The terminal shows payment status (pending > confirmed > completed)
Partial payments: If the customer sends less than the requested amount, the terminal detects it automatically and shows a progress bar with options to collect the partial amount or wait for the remainder. See Payment History & Recovery for details.
Step 4: Order ID is Generated
The system automatically creates an Order ID:
This links the payment to Register 1, cashier John Doe, at the exact timestamp.
Payment Flow Summary
1
Cashier
Enters PIN on numeric keypad
2
Server
Verifies PIN, finds matching cashier
3
Server
Creates session (15 min)
4
Cashier
Enters payment amount ($50.00)
5
Cashier
Selects network and token
6
Server
Generates Order ID (POS-R1-JD-17078...)
7
Server
Creates QR code
8
Customer
Scans QR code with wallet
9
Customer
Confirms and sends payment
10
Blockchain
Confirms transaction
11
Server
Marks payment complete
Phase 4: Session Management
During the shift:
The countdown timer shows remaining session time
Every action (entering amounts, creating payments) resets the timer to 15 minutes
If the cashier is idle for 15 minutes, they are automatically logged out
A warning appears when less than 60 seconds remain
The cashier can manually log out at any time (e.g., end of shift, break)
The History button (clock icon) lets cashiers view their payment history and resume pending payments
Payment Recovery
If the terminal crashes, loses power, or the browser closes mid-payment:
Reopen the terminal and log in
Tap the History button in the header
Find the pending payment and tap Resume
The original payment is restored -- same QR code, same address, same amount. See Payment History & Recovery for full details.
Phase 5: Merchant Monitoring
The merchant can monitor all activity from the dashboard:
View all payments across terminals
Filter by terminal or cashier using Order IDs
See which cashier processed each payment
Manage terminals and cashiers in real-time
Reset PINs if a cashier forgets theirs
Deactivate cashiers who leave the team
Quick Reference
Create terminal
Dashboard > POS > Terminals
Merchant
Create cashier
Dashboard > POS > Cashiers
Merchant
Set restrictions
Dashboard > POS > Terminals > Edit
Merchant
Reset PIN
Dashboard > POS > Cashiers > Reset PIN
Merchant
Login to terminal
Terminal URL (/pos/{id})
Cashier
Create payment
Terminal (after login)
Cashier
View payments
Dashboard > Payments
Merchant
Last updated
