MicroAI Paygate
AI 요청 결제 게이트웨이로 EIP-712 서명, 영수증 발행, 클라이언트 서명 검증 지원
LamportPay의 비보관 결제 흐름을 살펴보세요: 솔라나 지갑, 주피터 스왑 견적, USDC 정산 및 Stables 은행 지급 샌드박스
Explore LamportPay’s non-custodial payment journey: Solana wallets, Jupiter swap quotes, USDC settlement and Stables bank-payout sandbox.
금융TypeScript · CSSGitHub @lamportpay온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Crypto in. Local money out. Non-custodial stablecoin (USDC/USDT on Solana) to bank payout, powered by Stables. TanStack Start + Supabase.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗From your Solana wallet to a bank account. Non-custodial.
LamportPay is a cash-out route for people who hold crypto on Solana but pay rent, school fees and family bills in local currency. Instead of moving funds to an exchange or trusting a stranger on a P2P marketplace, the user pays out from their own wallet in one guided flow:
Your wallet ──(Jupiter swap, only if needed)──▶ USDC in your wallet
──(one transaction, signed by you)──▶ licensed payout partner
──▶ fiat conversion ──▶ your bank account (or a named beneficiary's)
LamportPay orchestrates the route. It never holds customer funds, keys or identity documents: the user signs every movement of money, and KYC and fiat payout are handled by our licensed payout partner, Stables.
Status: Devnet / Sandbox. The full flow runs end to end on Solana devnet and the partner's sandbox for US, UK, India and the Philippines. No real funds move. Live mode (mainnet + production partner) is built behind a server-side switch and stays off until an independent security audit and a controlled real-money test are complete.
/pay)Getting value from a wallet into a bank account still means one of two compromises: hand custody to an exchange, or depend on a counterparty you don't know. We wanted a route where the user keeps control the whole way, sees the full cost before signing, and knows exactly which bank account will be paid.
order / execute, signed by the user, funds stay in the user's wallet) is built but runs only in Live mode, because Jupiter has no devnet. The step is skipped for users who already hold USDCtransfer.created webhooks, so sandbox status changes arrive through sync and reconciliation| Corridor | Currency | Status |
|---|---|---|
| United States | USD | Sandbox |
| United Kingdom | GBP | Sandbox |
| India | INR | Sandbox |
| Philippines | PHP | Sandbox |
| Nigeria | NGN | Planned (sandbox transfers stay in_progress) |
| Pakistan | PKR | Planned |
| Layer | Choice |
|---|---|
| App | TanStack Start + Vite, React, Tailwind |
| Solana | @solana/web3.js, Solana wallet adapter (Phantom, Solflare) |
| Swap | Jupiter Swap V2 API behind an authenticated server-side relay (each order relayed once) |
| Payout partner | Stables API (sandbox); webhooks verified with Svix signatures |
| Database | Supabase Postgres with row-level security and versioned migrations (supabase/migrations) |
| Hosting | Vercel |
Key design decisions:
src/routes/ marketing site, /pay app, admin, API routes (src/routes/api)
src/lib/payments/ fee math, limits, payment state, reconciliation
supabase/migrations/ database schema, RLS and privilege hardening
tests/ unit and integration tests (Vitest)
scripts/ webhook sender, reconciliation, secret scan
docs/ roadmap, architecture, security and testing records
Key docs: docs/ROADMAP.md · docs/wallet-settlement-design.md · docs/stables-sandbox-runbook.md · docs/security/pre-live-security-checklist.md · docs/testing/real-money-test-plan.md
npm install
cp .env.example .env # devnet RPC, Supabase, partner sandbox and Jupiter keys
npm run dev # http://localhost:8080
npm run test:unit # Vitest unit suite (what CI runs)
npm test # also runs integration suites that need `npm run dev` on :8080
npm run typecheck && npm run lint && npm run build
Never commit .env. scripts/check-repo-secrets.mjs scans for leaked secrets.
LamportPay started on 28 July 2026 as a prototype built with Lovable. That export is the first commit in this repository (11365b0, "Baseline: original LamportPay export (Lovable)"): the marketing site, a demo send flow with mock data, a small SOL → USDC swap demo using Jupiter's quote/order/execute routes, Solana transaction checks, a placeholder payout API and Supabase auth.
During the Colosseum hackathon period (commits from 26 September 2026) the team built the product on top of that prototype: the Stables payout integration (customers, KYC, bank validation, transfers, deposits), signed webhooks and reconciliation, the /pay app, the Jupiter swap layer inside the payment flow (secured relay, swap only when required), the non-custodial 2% fee split, the admin app, Devnet/Live modes, wallet identity, security hardening and tests. /pay replaced the demo /send flow as the product path.
We use AI-assisted development tools alongside our own engineering. Every change is reviewed and tested by the team before it ships: the unit suite currently runs 509 tests, and CI runs a secret scan, type checks, lint, the unit tests, a production build, a client-bundle secret scan and a dependency audit on every push.
Zoaib Ali (Founder & CEO) · Ghazanfar Abbas (CTO & Lead Developer) · Izzat Iftikhar (Marketing & Community) · Zaheer Muneer (Advisor) · Safi Ullah Adam (Advisor, Technology & AI) · Greg Mirt (Advisor)
Copyright 2026 Lamport Pay Ltd. Licensed under the Apache License 2.0.