Skip to content

seansabado/stellar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stellar

Live Site Hosted Backend Official Website SaaS Demo Stack CI stellar.toml Last Commit Pitch Deck License: MIT Status

Network Verified Tx Soroban MAINNET Contract (Stellar Expert) Soroban MAINNET Contract (Stellar Lab)


🧩 Problem

Every day, thousands of laundromat operators in the Philippines face the same four problems:

Pain Point What It Costs
Cash + e-wallet screenshots as "proof" Hours of manual reconciliation daily
No real-time payment confirmation Staff handle disputes instead of orders
Delayed remittance Cash stuck, can't pay suppliers or staff
Multi-branch chaos No single source of truth across locations

The root cause: the payment layer is disconnected from the operation. Orders live in one place. Payment proof lives in someone's phone. For multi-branch operators this compounds — staff and owners spend time fixing mismatched statuses, handling disputes with incomplete proof, and manually consolidating reports.

🌟 Vision

One payment layer that connects laundry counter operations to the Stellar blockchain — fast enough for ₱50 orders, auditable enough for multi-branch reconciliation, and open enough to serve Southeast Asia's estimated 600,000+ laundry MSMEs.

🎯 Purpose

StellarPay resolves tenant-scoped customer orders, guides customers through a two-step payment flow, confirms Stellar payments from pending to verified, and persists receipts for replayable proof. The goal: a payment flow that is easy for customers, trustworthy for operators, and auditable for support teams.

👥 Target Users

Industry-inferred estimates suggest there are around 8,000 to 15,000 laundromat and laundry shop operators in the Philippines (not 120,000), with a plausible Southeast Asia total of 600,000+ laundry MSMEs.

Philippines breakdown (industry-inferred):

  • Metro Manila: ~3,000 to 4,000
  • Cebu: ~800 to 1,200
  • Davao: ~600 to 900
  • Rest of the Philippines: ~4,000 to 8,000

These ranges align with machine import volumes, detergent supplier distribution, franchise network sizes, and MSME density per barangay. No official PSA total exists for laundry shop counts.

Southeast Asia note: the 600,000+ figure is a reasonable industry estimate, not an official regional statistic.

Primary users:

  • Independent laundromat owners
  • Multi-branch operators
  • Frontline staff handling checkout
  • Finance and admin teams responsible for reconciliation and reporting

Secondary users: anchor/payment providers, franchise networks, and SME-enablement programs.

✨ Features

Customer Experience

  • Mobile-first app shell with top and bottom navigation
  • Google sign-in flow for customer session continuity
  • Orders list with operational filters and action states
  • Dedicated pay route per order with receipt history and profile views

Payment Workflow

  • Stellar payment request creation
  • Two-step checkout flow with merchant QR verification and explicit PAY NOW
  • Confirmation polling with pending and confirmed proof states
  • Receipt persistence for post-payment history
  • Transaction reference visibility for support and audit trails
  • On-chain payment audit log via Soroban PaymentRegistry smart contract

Reliability

  • SaaS/demo order fallback path for continuity
  • Service worker safeguards for local development stability
  • Post-deploy smoke test automation for public routes and assets

🛠️ Tech Stack

Layer Technology
Framework Next.js 15
UI React 19 + TypeScript
Identity Firebase Authentication
Payment integration Stellar SDK + Soroban smart contract
Smart contract Rust / Soroban SDK 22 (wasm32v1-none, 3,843 bytes)
APIs Next.js route handlers
Hosting Firebase App Hosting (stelllar, asia-east1)

🚀 How to Run Locally

Prerequisites: Node.js 20+, npm 10+

npm install
npm run dev:once

Open: http://localhost:3001

# Production build check
npm run build

# Production smoke check
npm run smoke:production

🌐 Deployment

Deployed via Firebase App Hosting (stelllar, region asia-east1).

Testnet

  • Contract Address: CCLFE47ZTMIV5UGJZOI7KIVAKXG7ZQAMROHLROHMHRCDPEZWE7MU7G33

  • Account: GBK4EPWBVRS5KLW6AR2QTPFD5ZUJIVCP3KTEY2CIF6QOCAYY4SDZO6WC

  • Explorer: Stellar Expert — Soroban Contract (Testnet)

  • 📸 Screenshot — Stellar Expert Contract (Testnet)

    Testnet Contract Screenshot

  • 📸 Screenshot — Stellar Expert Account (Testnet)

    Testnet Account Screenshot

Mainnet

  • Merchant Account: GBXEISJ7QAWSS6Z4MSHYGCVOLKTAV6GAHYNOYUOST2HYUDOSRDCNGDLD

  • Demo Customer Account: GBDZXAJCTGPMASCYPPE6V5NYRBWFFRYSTL4QV72IJ6JYQEI62QIPEQMG (hackathon-funded, auto-sends demo payments)

  • Explorer: Stellar Expert — Merchant Account

  • Verified TX: 7190d78f...

  • 📸 Screenshot — Stellar Expert (Mainnet)

    Mainnet Screenshot

Soroban MAINNET Proof (Quick View)

Soroban MAINNET contract logging + registry screenshot

🎥 Demo

⚡ Live Payment Demo — Try It Now

No wallet needed. No setup. Real Stellar mainnet.

How It Works

1. Open any pay link below on your phone
2. Step 1 — scan the counter QR (printed poster at the laundry counter)
3. Tap PAY NOW
4. 0.01 XLM auto-sends on Stellar mainnet
5. Success screen appears in ~5 seconds
6. Verify the transaction on Stellar Expert

Try a Live Order

Order Pay Link
LPX0026 stellar.laundromatai.app/pay/LPX0026
LPX0027 stellar.laundromatai.app/pay/LPX0027
LPX0028 stellar.laundromatai.app/pay/LPX0028

SEP-7 Payment QR (Step 2 — shown on screen after PAY NOW)

This QR is generated live for each order and displayed on the payment page. It encodes a SEP-7 stellar://pay URI pointing to the merchant account with a unique memo per order.

SEP-7 Payment QR — scan with any Stellar wallet

stellar://pay?destination=GBXEISJ7...&amount=0.01&memo=PAY-LPX0026

Compatible with Lobstr, Solar Wallet, and any SEP-7 compliant Stellar wallet.

Verified Mainnet Transactions

TX Hash Memo Explorer
7190d78f... PAY-LPX0025 View on Stellar Expert
74f91d58... PAY-LPX0025 View on Stellar Expert

Merchant Receiving Account

GBXEISJ7QAWSS6Z4MSHYGCVOLKTAV6GAHYNOYUOST2HYUDOSRDCNGDLD

View on Stellar Expert →

👨‍💻 Team

Sean Raynon Founder & CTO — LaundromatAI

📧 Email hello@laundromatai.app
📞 Phone +1 (877) 415-5442
🌐 Website laundromatai.app
🧑‍💻 GitHub github.com/seansabado
🧪 ORCID orcid.org/0009-0000-4157-7445
📸 Instagram instagram.com/seanraynon
💼 LinkedIn linkedin.com/in/seanraynon
👤 Personal seanraynon.com
📰 Media Kit laundromatai.app/media
📍 Address 254 Chapman Rd, Ste 208, Newark, Delaware 19702, USA

============================================================= -------------------------------------------- EOF -------------------------------------------------------

Additional Technical Proof and Deep-Dive (Optional)

If you want more technical detail beyond the required organizer scope, use this quick navigation map.

Table of Contents (Optional Section)

  1. Project Status Snapshot (immediately below)
  2. Demo Video
  3. Soroban Smart Contract (Mainnet Logging + Registry)
  4. Stellar Explorer Accounts
  5. Quick Entry Points
  6. Visual Preview
  7. Screenshots
  8. Why Stellar?
  9. Business Outcomes
  10. Roadmap
  11. What This Repository Demonstrates
  12. Architecture Flow
  13. Read Path By Audience
  14. Product Walkthrough
  15. Repository Structure
  16. Documentation Map
  17. Security and Governance Direction
  18. Current Status
  19. Known Limits

Project Status: Production-Grade — Stellar Mainnet Live
Full payment stack deployed on production infrastructure — Firebase App Hosting, Firestore, CI/CD, custom domain, SEP-0001 compliant stellar.toml. End-to-end XLM payments are confirmed on-chain and verifiable on Stellar Horizon. Now running on Stellar Mainnet. Payments settle against the live public ledger at merchant account GBXEISJ7QAWSS6Z4MSHYGCVOLKTAV6GAHYNOYUOST2HYUDOSRDCNGDLD. Verified TX: 7190d78f.

StellarPay Architecture Banner

Demo Video

Watch the demo

Full end-to-end walkthrough: SaaS order → customer checkout → Stellar payment confirmation → receipt history.

Stellar-powered payments for laundry MSMEs. Real orders, on-chain confirmation, and receipt persistence — running on production infrastructure with verifiable Horizon transactions. Try the live demo →

LaundromatAI x StellarPay connects tenant-scoped order visibility, identity-backed customer access, Stellar ledger verification, and receipt history into one fast, auditable checkout flow — built for frontline operations in the Philippines and Southeast Asia.

Soroban Smart Contract (Mainnet Logging + Registry)

PaymentRegistry — on-chain payment logging and registry for MSME order payments.

Contract ID CANEW7EC3W6BMVDJQNRDVTUZZ32QWIY5LNOEGWPVRWYF7LEJUUWEYWKB
Network Stellar Mainnet
Source contracts/payment-registry/src/lib.rs

Registry functions used in production:

  • record(order_id, amount_stroops, payer, tx_hash, network) -> bool — writes a confirmed payment record (idempotent)
  • get(order_id) -> Option<PaymentRecord> — reads a payment by order key (for example PAY-LPX0034)
  • count() -> u32 — total registry entries stored on-chain

Mainnet logging proof (already recorded):

  • record("PAY-LPX0039", ...) succeeded on mainnet
  • record("PAY-LPX0034", ...) succeeded on mainnet
  • Registry count() returned 2 after these writes

Verification endpoints:

  • https://stellar.laundromatai.app/api/contract/verify?orderId=LPX0034
  • https://stellar.laundromatai.app/api/contract/verify?orderId=PAY-LPX0034

Explorer links:

Soroban mainnet contract logging and registry

Open this screenshot source link

Stellar Explorer Accounts

Quick Entry Points

Visual Preview

StellarPay Social Preview

Screenshots

Below are sample UI screens from the StellarPay (LaundromatAI x StellarPay) production app:

Login Screen Dashboard Orders
Login Dashboard Orders
Profile Checkout QR Capture
Profile Checkout QR Capture
Stellar Ledger Ledger History QR Verified
Stellar Ledger Ledger History QR Verified
Ledger Confirmation Mainnet Payment History Mainnet Order Success
Ledger Confirmation Mainnet Payment History Mainnet Order Success

Why Stellar?

For MSME operators in the Philippines and SEA, traditional payment rails create three hard problems:

Problem Stellar's Answer
Settlement speed Transactions confirmed in under 5 seconds, 24/7/365 — no bank windows, no batch delays
Cost Fractions of a US penny per transaction — viable for ₱50–₱500 laundry orders
Auditability Every payment is on-chain and immutable — eliminates screenshot disputes between staff and customers
Cross-border readiness Built-in anchor ecosystem enables PHP ↔ USDC and remittance flows without rewiring the payment layer
No chargebacks Finality is real — confirmed means confirmed, no reversal risk for merchants

For an MSME commerce platform, Stellar is the only rail that is simultaneously fast enough for counter operations, cheap enough for micro-transactions, and auditable enough for dispute resolution.

Business Outcomes

  • Faster customer checkout: mobile-first payment flow reduces friction at the counter.
  • Better trust: status transitions, ledger references, and receipt history make payment outcomes clear.
  • Safer operations: tenant-scoped order resolution and auth-gated routes reduce ambiguity in demo and pilot use.
  • Better demo readiness: the app is designed to show an end-to-end customer payment journey, not just isolated screens.

Roadmap

Phase Timeline Focus
Phase 1 Now Single-branch demo, Soroban on-chain payment verification
Phase 2 Q3 2026 Multi-branch dashboard sync, USDC anchor integration
Phase 3 Q4 2026 Soroban escrow for franchise multi-party settlement
Phase 4 2027 Full SEA rollout: Indonesia, Malaysia, Vietnam

The Soroban contract layer is designed to evolve — from payment audit log today, to multi-party escrow and franchise royalty splits as the product moves to mainnet.

What This Repository Demonstrates

Area What it demonstrates
Customer checkout Guided order-to-payment experience with scan, pay, confirmation, and receipt history
Tenant isolation Customer data and order flow scoped to the demo tenant demo-tenant-ph
Identity-backed access Firebase customer sign-in gate before sensitive payment actions
Payment proof Confirmation polling, transaction references, timeline state, and receipt persistence
Operational resilience Demo/live fallback order loading, runtime hardening, service worker safeguards
Deployment discipline Firebase App Hosting rollout model with smoke-test automation and production verification

Architecture Flow

flowchart LR
	A[Customer Sign-In] --> B[Tenant-Scoped Orders]
	B --> C[Checkout Intent Creation]
	C --> D[Stellar Payment Request]
	D --> E[Payment Status Polling]
	E --> F[Confirmed Receipt History]
	E --> G[Support and Audit Visibility]
Loading

Read Path By Audience

Product Walkthrough

60-Second Demo Path

  1. Open the customer app.
  2. Sign in and show tenant-scoped orders.
  3. Open an unpaid order and show the PHP amount.
  4. Verify the merchant QR and trigger PAY NOW.
  5. Show the payment transition from pending to confirmed.
  6. Open History and show the saved receipt.

Judge-Facing Proof Points

  • Tenant-scoped customer flow tied to demo-tenant-ph
  • Identity-backed customer session before payment actions
  • PHP pricing and customer-facing payment messaging
  • Payment confirmation timeline and receipt persistence
  • Hosted deployment on Firebase App Hosting

Repository Structure

Primary App Routes

Supporting Modules

Documentation Map

Security and Governance Direction

  • Customer routes are auth-gated before sensitive actions
  • Payment flow remains tenant-scoped to demo customer context
  • Receipt history provides transaction proof visibility after confirmation
  • Deployment verification and smoke checks are treated as part of delivery quality

This repository is intended to be a professional public showcase. It should help reviewers understand engineering judgment, payment-flow reliability concerns, and customer experience design without requiring a full internal system walkthrough.

Current Status

  • App Hosting deployment is active
  • Core customer flows are operational
  • Runtime and asset stability hardening has been applied
  • Payment UX and mobile tap reliability have been actively refined
  • Local build verification is passing

Known Limits

  • Local-to-production parity is not yet perfect because auth and data behavior differ by environment
  • Demo flow is intentionally scoped to demo-tenant-ph
  • Some flows still prioritize demo reliability over full production generalization