npm run install:allTHIS WILL INSTALL DEPENDENCIES FOR:
- ROOT PROJECT
- FRONTEND (REACT + VITE + MULTI-WALLET SUPPORT)
- BACKEND (EXPRESS + POSTGRESQL + XAMAN API)
cd backend
cp .env.example .envEDIT BACKEND/.ENV AND ADD YOUR XAMAN API CREDENTIALS:
XAMAN_API_KEY=your_xaman_api_key_here
XAMAN_API_SECRET=your_xaman_api_secret_hereGET YOUR CREDENTIALS FROM: https://apps.xumm.dev/
cd frontend
cp .env.example .envTHE FRONTEND .ENV SHOULD ALREADY HAVE:
VITE_BACKEND_URL=http://localhost:3001FROM THE ROOT DIRECTORY:
npm run devTHIS WILL:
- ✅ START THE BACKEND API SERVER ON
http://localhost:3001 - ✅ START THE FRONTEND DEV SERVER ON
http://localhost:3000 - ✅ AUTOMATICALLY OPEN YOUR BROWSER TO THE APP
- INSTALL XAMAN APP FROM https://xaman.app
- CREATE OR IMPORT YOUR WALLET
- CLICK "CONNECT WALLET" ON XAH PAYROLL
- SCAN QR CODE WITH XAMAN MOBILE APP (OR CLICK DEEP LINK ON DESKTOP)
- APPROVE THE SIGN-IN IN XAMAN APP
WHY XAMAN?
- ✅ Most secure option (enterprise-grade security)
- ✅ Works on any device (QR code scanning)
- ✅ Official XRPL Foundation supported
- ✅ Hardware security module (HSM) support
- ✅ Biometric authentication
- Direct seed/address input for development and debugging
⚠️ NEVER use with real funds or production wallets⚠️ Only for testnet development
A wallet address can only be registered as EITHER an Employee OR an NGO/Employer, NOT both.
- Use separate wallet addresses for different account types
- If your wallet is already registered as an Employee, you cannot use it for NGO/Employer
- If your wallet is already registered as NGO/Employer, you cannot use it for Employee
- Switching between NGO and Employer is allowed (both are organization types)
- CONNECT YOUR WALLET (MUST NOT BE REGISTERED AS NGO/EMPLOYER)
- COMPLETE YOUR PROFILE AND ACCEPT TERMS OF SERVICE
- NAVIGATE TO WORKER DASHBOARD
- START LOGGING HOURS
- RECEIVE PAYMENT WHEN CHANNEL CLOSES (ALL ACCUMULATED EARNINGS IN SINGLE TRANSACTION)
- CONNECT YOUR WALLET (MUST NOT BE REGISTERED AS EMPLOYEE)
- CHECK THAT PORT 3001 IS NOT IN USE
- VERIFY XAMAN API CREDENTIALS IN
BACKEND/.ENV - RUN
CD BACKEND && NPM INSTALLTO ENSURE DEPENDENCIES ARE INSTALLED
- CHECK THAT PORT 3000 IS NOT IN USE
- VERIFY
VITE_BACKEND_URLINFRONTEND/.ENV - RUN
CD FRONTEND && NPM INSTALLTO ENSURE DEPENDENCIES ARE INSTALLED
- XAMAN: ENSURE BACKEND IS RUNNING AND API CREDENTIALS ARE VALID
- MANUAL MODE: VERIFY SEED/ADDRESS FORMAT IS CORRECT
- MAKE SURE BACKEND IS RUNNING ON PORT 3001
- CHECK THAT
FRONTEND_URLINBACKEND/.ENVMATCHES YOUR FRONTEND URL
- USE XAMAN FOR PRODUCTION - ENTERPRISE-GRADE SECURITY AND OFFICIAL XRPL SUPPORT
- USE MANUAL MODE FOR QUICK TESTING - FASTER ITERATION DURING DEVELOPMENT
- KEEP BOTH TERMINALS VISIBLE - WATCH BACKEND AND FRONTEND LOGS SIMULTANEOUSLY
- CHECK BROWSER CONSOLE - USEFUL FOR DEBUGGING WALLET CONNECTIONS
- TEST ON TESTNET FIRST - USE TESTNET XAH BEFORE GOING TO MAINNET
- Use Manual mode for quick testing - Faster iteration during development
- Keep both terminals visible - Watch backend and frontend logs simultaneously
- Check browser console - Useful for debugging wallet connections
- Test on testnet first - Use testnet XAH before going to mainnet
- CHECK THE BROWSER CONSOLE (F12) FOR ERRORS
- CHECK TERMINAL OUTPUT FOR BACKEND ERRORS
- VERIFY ALL ENVIRONMENT VARIABLES ARE SET CORRECTLY
- Ensure you're using Node.js v18 or higher
Happy coding! 🎉