Get SettleX running locally in ~5 minutes.
- Node.js 18+ and npm 9+
- A Stellar wallet extension set to Testnet — Freighter, xBull, Lobstr, or Rabet
- (Optional) A free Supabase project for cross-device sync
git clone https://github.com/SnigdhaMandal/SettleX.git
cd SettleX
npm installcp .env.local.example .env.localThe Stellar/Soroban testnet values are pre-filled. For live sync, add your Supabase URL + anon key (see SUPABASE_SETUP.md). Without Supabase the app still runs, storing data locally in your browser.
Copy your wallet's public key (starts with G…) and fund it:
https://horizon-testnet.stellar.org/friendbot?addr=YOUR_PUBLIC_KEY
npm run devOpen http://localhost:3000, connect your wallet, and create your first expense.
npm run build && npm run startThis branch adds a CSP, self-hosted fonts, a PWA layer, and more wallets. After
npm install, confirm everything compiles and passes:
npm run lint
npm run build # also builds the Serwist service worker
npm test # 45 unit testsThen run a Lighthouse audit (Chrome DevTools → Lighthouse → PWA) — it should report the app as installable.
- "remote fetch disabled" on install — some sandboxes block the JSR-hosted wallet kit. Install in a normal environment.
- Wallet won't connect — make sure the extension is set to Testnet.
- No balance — fund the account with Friendbot (step 3).
- Service worker not updating — hard-reload, or unregister it in DevTools →
Application → Service Workers. It's disabled in
npm run devby design.