Skip to content

Repository files navigation

🌟 LumenShake

Global Payroll Infrastructure on Stellar Network

Submission Ready Network Stellar License

Node.js PostgreSQL Rust Next.js

Metrics Monitoring Docs Commits CI


Cross-border USDC payroll β€’ SEP compliance β€’ Local fiat cash-out β€’ Real-time monitoring


πŸ“‹ Quick Links

🎯 Item πŸ”— Link / Status
πŸ“œ Smart Contract CCRD5GASTD5IQQPX2ELACIYQRTHQDPWMPFG7AWNWVRP5F6CRT2L3SEAJ
🌐 Live Demo 🚧 Deploying to Vercel β€’ Local: https://lumenshake.vercel.app/
πŸ‘› 35 Wallet Addresses View Below β€’ All Verifiable on Stellar Explorer
πŸ“Š Metrics API GET /api/metrics/dashboard (auth required)
πŸ“ˆ Monitoring Prometheus: http://localhost:9090 β€’ Grafana: http://localhost:3001
πŸ” CI/CD Pipeline Workflow β€’ Setup Guide
πŸ–ΌοΈ Demo Screenshots UI Gallery + Twitter Post
πŸ“ Feedback Form Google Form
πŸ“Š Feedback Data Google Sheet β€’ Excel Export

πŸ” CI/CD Pipeline

LumenShake includes a production-oriented GitHub Actions pipeline.

  • Workflow file: .github/workflows/CI.yaml
  • CI triggers: Pull requests to main, pushes to main, and manual dispatch
  • Backend CI: dependency install, migration run, and API smoke checks
  • Web CI: lint + production build checks
  • Contracts CI: Rust cargo test on both smart contracts
  • CD: on main push, backend Docker image is published to GHCR

Setup & branch protection checklist: CI_CD_SETUP.md


πŸ–ΌοΈ Demo UI Gallery

Landing Page Overview
Landing Page Overview
Payroll Team
Payroll Team
Ledger CashOut
Ledger CashOut

🐦 Twitter Post

Twitter Post


πŸ“ User Onboarding & Feedback

Required Fields

The feedback/onboarding form collects:

βœ… Name β€’ βœ… Email β€’ βœ… Wallet Address β€’ βœ… Product Rating β€’ βœ… Feedback Comments

Feedback Artifacts

πŸ“‹ Form πŸ“Š Responses
Google Form Google Sheet
- Excel Export (XLSX)

πŸ‘› Verifiable Wallet Addresses

Network: Stellar Testnet β€’ Total: 35 Wallets (30 Employers + 5 Employees)

Verification: All addresses verifiable at https://stellar.expert/explorer/testnet/account/{ADDRESS}

πŸ“‹ Click to expand wallet list (35 addresses)
# Role Wallet Address Explorer
1 employer GBTQ4UVEBMKDJVCFLLQPXUZHTZEGR2IELEBQXQPEBG22LIGI2FFACZKB View
2 employer GCOXOXNV676RBJ7NKYQPHCRORI22U7X5H7G5VBXSYWEKIJHV5YDEFDL6 View
3 employer GD3QSMMHZ4VPBILHEPHQSCLTXKNWKGPOFL7H5ER7BBGVURRDLIP7CTOU View
4 employer GBMJ2P6XWZ57IQWJ72MA5UJZYX2LDIHE2YBLDLSXHH3ODVYZ7QKXP2SK View
5 employer GDEUNZR7AD7KMO34HJD73ERZMWRAG7V2JDHWRYQAFW36K6G3E5PXUJWN View
6 employer GAZUMDA7LNFMJXJUDATYREAIJEPZLVM3IPBTVXEYIR7XFFOE23MMEJF3 View
7 employer GC6YIXJQDB5RZSXHKZL5VWJL2V5GJX2QXN5BRWOYSV4M24XJMTYDXPJX View
8 employer GAODUR2PU4PPJKOXZEK6XGSCBPD5TXQEFNRP25CGEFBM62GES4NBEGKY View
9 employer GC24ZIPUE6CYNCRKBR3VAMKVC3XX6W2PXQCPQ6JST4PC3MCH2LSC7R6I View
10 employer GBJWCRCUKMP4KYZDRIUODFSL7P5CUBPAEBIRALPENVDS6GTNWDMAHAZD View
11 employer GADXI6S5IPWHTOZMKSHCOBHONPFMND33Z5FGEY3MD2EVED2YJFJ5VAGV View
12 employer GBOXLDJ4SIOY3EVZT2WBD6VRMNS35YYJWBISO3W4HNKRES7PY3QBFCQ7 View
13 employer GCGSFT6NFDRL24QY6EINMLMCL6YQHPZZBMNBSIEV2EYVFGILJBOXNJDZ View
14 employer GAIM73XH27DFGS43JWA5EXNDKGREK5TY6ZW7GXXPPMYTBPVAY6AKR6PO View
15 employer GC36DZX6MG5OL4W4L27GMEDVBVTNNJ2DKRAII3X7V4UPMHNAMC46O7LX View
16 employer GC4Q66VBLDDYMPMJ6NIZEBL5XTVVQBAEBXR5CQWM2S6GF4ALZUXDV5GO View
17 employer GD3A2WCYSF5FZFOAZNRZF5H52CTGA5ZNIJFHRRARFSX7NGU4YY6BACT6 View
18 employer GAYYAZM2FZ3Q5B46MOURR4LCA5OZDGPNNOK66ETFTFDGJCHFXGLPH72R View
19 employer GD25SZREHBPNVDEDE6DFSUQINKU7HGZ2LW3SSVZ6NPDWYO7MGHJB2ULS View
20 employer GCOFIURNH3HD72LVY4UAZGXLF6C7EXHMEKZBT6SD3TEKNJ24ZWDJVCWW View
21 employer GB3LWDPR7IETLZJNADBWLJSWNLFYTU3HK6WBPONT72JWUIIHA7BMZMQI View
22 employer GDI6N5ZX7GACMUZKNB5LDYR2P3CUHJJC6C6FNBPN3ZE5VKH5XKKFY6RC View
23 employer GDAQGMSA4HNBDWUBKC6PCEOMVYNWZZ5ZXUQEX5M2QN3HYOPWJF53RIYR View
24 employer GA4MTCRYEXY4UXFKRGTUJPQGAL5UX7K5Z2OKLEF3AKD7DJDCWCGDJ5XR View
25 employer GBBVDLDLMZOSRMSUVOK5JSJO7FRPQGSPLQWUPNGEQFNZNF4DVAN5WHBW View
26 employer GBGB3HUQGAFWXC25BMAA5EJHX5ARIY7VS2PPQGS2XHWBKAGPGSLMOCJJ View
27 employer GCV6S2HYDW2DW7OOOTBOXRUAARGSUD62QCXQRW634DIFVDUBJIPEYEDD View
28 employer GAPB6DRCXCDJFZKDQOHMX7CPAG66LMFX2U3GHEFHFPYFD3U6RKWS7L7S View
29 employer GDCJI6YTJR3TUCU6I7AMTHDHEIJFD6JQCME3OP4LIJ5AAC5UJVIZHLEK View
30 employer GB3LVW6R75AJL2L2UNAPL7ADJPPHLYEG3Y6ST43IA6BQOBS65C4DZYNG View
31 employee GA2AR2NFVEMRCFKUPJ6IA3M4TIZP5FRPRVTNZRR2CWI62LGZZEXO4FBI View
32 employee GCA6VETGBQQOQPUEBCYXEFDKBTUBE4XSJH2ZIR3XX3I46AOIIOLR3UQA View
33 employee GD2FWUBHI4ITSDSP6737PRPA2YZVC6SX6H2NOS5VQX6675EBHJGC2ZDB View
34 employee GCV6ZYSNUV2L4QT3D7HDKWWDCTK5NPU3K7EXZ5GGKSQ4HEYQDTJN2ULE View
35 employee GBXK4HYAUJRB3PRVG4R2J5VWJMKJDFOV7M3KYLEDOQVWHS7YUZSRU4NT View

πŸš€ Next-Phase Improvement Plan

Feedback-Driven Roadmap (Based on user onboarding & product feedback themes)

# Improvement Area Baseline Commit Status
1 Wallet Onboarding UX - Improve success rate & error clarity c68d1c7 πŸ”„ In Progress
2 Payroll Observability - Strengthen transaction sync guarantees b8dc1a5 πŸ”„ In Progress
3 Payroll Tab UX - Enhance API integration resilience 4d82465 πŸ”„ In Progress
4 Documentation Quality - Expand onboarding clarity 23f1369 βœ… Complete
5 Feedback Loop - Continuous improvements c74ccc3 πŸ”„ Ongoing

🌍 Advanced Feature Deep Dive

Cross-Border Flows (SEP-24 + SEP-31 Anchor Rails)

LumenShake implements cross-border payment rails as the required advanced feature, combining:

  • SEP-24 interactive deposit/withdrawal transaction lifecycle
  • SEP-31 send/receive cross-border transfer workflow
  • Webhook event delivery for lifecycle updates and integrations
  • KYC-aware processing through SEP-12 customer data and validation paths

End-to-end flow summary

  1. Authenticated wallet user starts a SEP-24 deposit/withdrawal or SEP-31 send flow.
  2. Transaction is persisted with status transitions for polling and reconciliation.
  3. Compliance/KYC rules are enforced via customer and payroll gate logic.
  4. Webhook delivery records are created for downstream event consumers.
  5. Monitoring and metrics capture operational health of payment processing.

Why this satisfies advanced feature criteria

  • It goes beyond basic payroll transfer execution and adds interoperable cross-border rails.
  • It introduces anchor-style transaction orchestration and lifecycle tracking.
  • It integrates with compliance and observability components instead of being an isolated demo endpoint.

πŸ“ˆ Data Indexing Deep Dive

The platform uses a dedicated indexing migration to support high-volume payroll, KYC, webhook, and cross-border transaction queries.

Indexing strategy

  • B-tree indexes for standard equality/range lookups
  • Composite indexes for common multi-column query patterns
  • Partial indexes for high-selectivity operational queries
  • BRIN indexes for time-ordered large tables
  • GIN indexes for array containment queries (event_types)
  • Covering indexes (INCLUDE) for analytics/report queries

Implementation proof

Artifact Purpose
backend/migrations/006_comprehensive_indexing.sql Core indexing migration with operational and analytics indexes
docs/TASK12_INDEXING_COMPLETE.md Index design rationale and performance analysis

πŸ›‘οΈ Detailed Security Checklist

Security is implemented as layered controls across auth, API, data, and operations.

Security controls and evidence

Area Control Status Evidence
Authentication SEP-10 challenge/signature verification βœ… backend/src/services/sep10.js
Replay protection Nonce tracking (sep10_nonces) βœ… backend/src/services/sep10.js
Session security JWT signing + expiration βœ… backend/src/services/sep10.js
Security headers Helmet CSP/HSTS/frameguard + custom headers βœ… backend/src/middleware/security.js
Abuse protection Multi-profile rate limiting (strict/standard/health) βœ… backend/src/middleware/rateLimiter.js
Input validation express-validator rules for key endpoints βœ… backend/src/middleware/validation.js
Input sanitization Request sanitization for body/query/params βœ… backend/src/middleware/validation.js
SQL injection defense Parameterized SQL queries βœ… backend/src/services + backend/src/routes
Data protection at rest AES-256-CBC PIN encryption βœ… backend/src/services/moneygram.js
Idempotency safety Idempotency key cache + replay response βœ… backend/src/middleware/idempotency.js
Auditability API action logging in audit_logs βœ… backend/src/middleware/audit.js
KYC enforcement KYC gate middleware for payroll operations βœ… backend/src/middleware/kycGate.js, backend/src/routes/payroll.js

🌟 Project Overview

LumenShake is a full-stack blockchain payroll platform built on Stellar Network, enabling employers to pay workers globally using USDC stablecoins with seamless cash-out to local fiat via MoneyGram.

πŸ—οΈ Architecture

Component Technology Purpose
🎨 Frontend Next.js 16 Landing page + 5-tab dashboard
βš™οΈ Backend Express.js + Node.js APIs, workers, metrics, compliance
πŸ“œ Smart Contracts Rust + Soroban On-chain payroll execution
πŸ“Š Monitoring Prometheus + Grafana Real-time metrics & alerting
πŸ’Ύ Database PostgreSQL 14+ 19 tables, 39 indexes

✨ Key Features

Feature Status Description
🏠 Professional Landing Page βœ… Beautiful marketing site with wallet integration
πŸ“Š 5-Tab Dashboard βœ… Overview, PayRoll, Team, Ledger, CashOut
πŸ“œ Smart Contract Payroll βœ… Soroban-based automated USDC distributions
🌍 MoneyGram Cash-Out βœ… Convert USDC to local fiat in 200+ countries
πŸ” SEP-10 Authentication βœ… Industry-standard Stellar wallet auth
πŸ‘€ KYC/AML Compliance βœ… Built-in SEP-12 customer verification
πŸ’Έ Cross-Border Payments βœ… SEP-31 international remittances
πŸ“‹ Transaction Ledger βœ… Complete on-chain audit trail
πŸ”„ Auto-Sync βœ… Smart contract ↔ Database synchronization
πŸ“ˆ Real-time Monitoring βœ… Prometheus/Grafana dashboards
πŸ›‘οΈ Security First βœ… Rate limiting, validation, encryption, audit logs

πŸ“ Repository Structure

LumenShake/
β”œβ”€β”€ πŸ“‚ backend/                 # Express APIs, workers, metrics, compliance
β”‚   β”œβ”€β”€ πŸ“‚ src/
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ routes/         # API endpoints (auth, payroll, moneygram, etc.)
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ services/       # Business logic (SEP-10, SEP-12, SEP-24, SEP-31)
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ middleware/     # Security, validation, audit, rate limiting
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ database/       # Database connection & migrations
β”‚   β”‚   β”œβ”€β”€ πŸ“„ index.js        # Main server entry point
β”‚   β”‚   └── πŸ“„ worker.js       # Background worker for recurring tasks
β”‚   β”œβ”€β”€ πŸ“‚ migrations/         # 8 SQL migrations (schema, compliance, indexing)
β”‚   β”œβ”€β”€ πŸ“‚ scripts/            # User onboarding, account funding, sync scripts
β”‚   └── πŸ“‚ logs/               # Application & error logs
β”‚
β”œβ”€β”€ πŸ“‚ web/                     # Next.js frontend application
β”‚   β”œβ”€β”€ πŸ“‚ components/         # Dashboard, tabs, wallet connection, toast
β”‚   β”œβ”€β”€ πŸ“‚ hooks/              # Custom React hooks (useDashboardData)
β”‚   β”œβ”€β”€ πŸ“‚ utils/              # Contract, explorer, wallet utilities
β”‚   └── πŸ“‚ types/              # TypeScript type definitions
β”‚
β”œβ”€β”€ πŸ“‚ contracts/               # Soroban smart contracts (Rust)
β”‚   β”œβ”€β”€ πŸ“‚ payroll_contract/   # Main payroll contract
β”‚   └── πŸ“‚ test_usdc/          # USDC token contract for testing
β”‚
β”œβ”€β”€ πŸ“‚ monitoring/              # Prometheus + Grafana monitoring stack
β”‚   β”œβ”€β”€ πŸ“„ prometheus.yml      # Prometheus configuration
β”‚   β”œβ”€β”€ πŸ“„ grafana-dashboard.json  # Pre-configured Grafana dashboard
β”‚   └── πŸ“„ setup.sh            # One-click monitoring setup
β”‚
β”œβ”€β”€ πŸ“‚ docs/                    # 60+ documentation files
β”‚   β”œβ”€β”€ πŸ“„ TECHNICAL_DOCUMENTATION.md
β”‚   β”œβ”€β”€ πŸ“„ USER_GUIDE.md
β”‚   β”œβ”€β”€ πŸ“„ API_REFERENCE.md
β”‚   └── ... (57 more files)
β”‚
└── πŸ“‚ scripts/                 # Deployment & automation scripts
    β”œβ”€β”€ πŸ“„ deploy.sh
    β”œβ”€β”€ πŸ“„ deploy-testnet.sh
    └── πŸ“„ demo-verify.sh

⚑ Quick Start

πŸ“‹ Prerequisites

Requirement Version Link
Node.js 20+ nodejs.org
npm 10+ npmjs.com
PostgreSQL 14+ postgresql.org
Freighter Wallet Latest freighter.app
Rust + Soroban CLI Latest soroban.stellar.org

πŸ› οΈ Setup

# 1. Clone repository
git clone https://github.com/janvi100104/Lumenshake.git
cd Lumenshake

# 2. Install backend dependencies
cd backend && npm install

# 3. Install frontend dependencies
cd ../web && npm install

# 4. Configure environment variables
cp backend/.env.example backend/.env
cp web/.env.example web/.env.local

πŸ’Ύ Database Setup & Run

# Navigate to backend
cd backend

# Run database migrations
npm run migrate

# Optional: Seed test data
node scripts/onboard-users.js
node scripts/fund-accounts.js

# Terminal 1: Start backend server
npm run dev
# β†’ API: http://localhost:4000

# Terminal 2: Start frontend
cd ../web
npm run dev
# β†’ Web: http://localhost:3000

🌐 Access Points

Service URL Status
🎨 Web Application http://localhost:3000 βœ… Running
βš™οΈ Backend API http://localhost:4000 βœ… Running
πŸ’š Health Check http://localhost:4000/health βœ… Running
πŸ“Š Metrics http://localhost:4000/metrics βœ… Running
πŸ“ˆ Prometheus http://localhost:9090 🚧 Optional
πŸ“‰ Grafana http://localhost:3001 🚧 Optional (admin/admin)
πŸ”” Alertmanager http://localhost:9093 🚧 Optional

πŸ”§ Optional Services

Background Worker

Handles recurring payroll processing and automated tasks:

cd backend
npm run worker

Monitoring Stack

Full Prometheus + Grafana monitoring with pre-configured dashboards:

cd monitoring
./setup.sh

# Access monitoring:
# β€’ Prometheus: http://localhost:9090
# β€’ Grafana: http://localhost:3001 (admin/admin)
# β€’ Alertmanager: http://localhost:9093

πŸ“š Key Documentation

Documentation Link Description
πŸ“˜ Project Guide PROJECT_GUIDE.md Complete project overview
πŸ”Œ API Reference API_REFERENCE.md All API endpoints
πŸ“– Technical Docs TECHNICAL_DOCUMENTATION.md Architecture & implementation
πŸ‘₯ User Guide USER_GUIDE.md Step-by-step instructions
πŸ§ͺ Testing Guide TESTING_GUIDE.md Test procedures
πŸ”§ Operations Runbook OPERATIONS_RUNBOOK.md Production operations
πŸš€ Deployment Guide DEPLOYMENT_GUIDE.md Deploy to Vercel/Heroku
πŸ” CI/CD Setup CI_CD_SETUP.md Workflow, checks, GHCR publish setup
πŸ”’ Security Audit TASK10_SECURITY_AUDIT_COMPLETE.md 40/40 checks passed
πŸ“Š Monitoring TASK11_MONITORING_COMPLETE.md Prometheus/Grafana setup
πŸ“ˆ Data Indexing TASK12_INDEXING_COMPLETE.md 39 indexes, 40-66x faster
🌍 SEP-24/31 Guide SEP24_SEP31_GUIDE.md Cross-border payments
πŸ’° MoneyGram Guide MONEYGRAM_GUIDE.md Cash-out integration

🀝 Contribution and Governance

Document Link Purpose
🀝 Contributing Guide CONTRIBUTING.md How to contribute
πŸ“œ Code of Conduct CODE_OF_CONDUCT.md Community guidelines
πŸ”’ Security Policy SECURITY.md Report vulnerabilities
πŸ’¬ Support SUPPORT.md Get help

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Write tests
  5. Commit using conventional commits
  6. Push to the branch
  7. Open a Pull Request

Code Standards

  • βœ… ESLint configured for code quality
  • βœ… Prettier for consistent formatting
  • βœ… Conventional commits for clear history
  • βœ… Targeted integration test scripts and load-test utilities

πŸ“Š Performance Metrics

Operation Before Indexing After Indexing Improvement
User lookup 50ms 1ms πŸš€ 50x faster
Transaction history 200ms 5ms πŸš€ 40x faster
Status polling 500ms 10ms πŸš€ 50x faster
Date range queries 1000ms 15ms πŸš€ 66x faster

🌐 SEP Standards Compliance

SEP Standard Status Description
SEP-10 Web Authentication βœ… Complete Stellar wallet-based auth
SEP-12 KYC/AML βœ… Complete Customer information exchange
SEP-24 Interactive Payments βœ… Complete Deposits & withdrawals
SEP-31 Cross-Border βœ… Complete International remittances

πŸ›‘οΈ Security Highlights

Security Feature Status Implementation
SEP-10 Authentication βœ… Challenge + signature verification with JWT issuance
Rate Limiting βœ… Strict: 100/15m, Standard: 200/15m, Health: 500/min
Input Validation βœ… express-validator + request sanitization middleware
SQL Injection Prevention βœ… Parameterized queries across services/routes
CORS Protection βœ… Origin restricted via FRONTEND_URL configuration
Security Headers βœ… Helmet CSP/HSTS + custom anti-cache headers
Data Encryption βœ… AES-256-CBC for sensitive PIN storage
Audit Logging βœ… API request audit entries persisted to audit_logs
Idempotency Keys βœ… Duplicate request replay protection middleware
KYC Gate βœ… Operation-based KYC enforcement on payroll routes

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

Organization Contribution Link
🌟 Stellar Development Foundation Stellar network & SDKs stellar.org
πŸ’° MoneyGram Cash-out integration moneygram.com
πŸŽ’ Freighter Wallet Wallet integration freighter.app
πŸ“œ Soroban Smart contract platform soroban.stellar.org

πŸ“ž Support & Contact

Channel Link
πŸ™ GitHub Repository github.com/janvi100104/LumenShake
πŸ› Issue Tracker github.com/janvi100104/LumenShake/issues
πŸ’¬ Discussions github.com/janvi100104/LumenShake/discussions
πŸ“§ Email janvisinghal10@gmail.com
πŸ’¬ Stellar Discord discord.gg/stellardev
πŸ“ Feedback Form Google Form

πŸ“Š Project Statistics

GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests GitHub Contributors GitHub Last Commit


Built with ❀️ on Stellar Network

Documentation β€’ Support β€’ Feedback

About

LumenShake is a full-stack blockchain payroll platform built on Stellar Network, enabling employers to pay workers globally using USDC stablecoins with seamless cash-out to local fiat via MoneyGram.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages