Skip to content

Fierillo/lawalletv2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

498 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaWallet Logo

LaWallet NWC

Lightning Address Platform with Nostr Wallet Connect

Pre-Alpha — Do not use real data. Expect breaking changes!

An open-source platform for creating, managing, and serving Lightning Addresses connected via NWC. Built on a progressive self-custody model -- users start receiving payments instantly through address aliasing, then upgrade to NWC and eventually self-hosting at their own pace.

Stack: Next.js 16 + TypeScript + Prisma + PostgreSQL

CI Deploy with Vercel


Features

Admin

  • Create and manage Boltcard designs
  • Create and manage Lightning Addresses
  • Create and manage Boltcard cards (NFC)

User

  • Webapp Wallet
  • Create and manage Lightning Addresses
  • Manage Boltcard cards (NFC)
  • Setup with NWC

Landing Page

  • Fully responsive
  • Instructions
  • Waitlist form (Tally.so integration)

Architecture

Three independent containerized services with no shared infrastructure:

Service Container Description
Web Application lawallet-web Next.js app: frontend, REST API, lightning address resolution
NWC Proxy lawallet-nwc-proxy Provisions courtesy NWC connections from external providers
Payment Listener lawallet-listener Monitors NWC relays, dispatches webhooks on payments

Tech Stack

  • TypeScript v5.0+ — Typed JavaScript
  • React (Next.js v16) — Web framework
  • Tailwind CSS v3.3+ — Utility-first CSS
  • shadcn/ui v0.4+ — UI component library
  • Prisma v4.16+ — Database ORM
  • PostgreSQL — Relational database
  • Alby lib v1.6+ — NWC library
  • Radix UI — Headless UI primitives
  • Lucide Icons — Icon library

Open Standards

Standard Protocol Usage
NIP-47 Nostr Wallet Connect Payment connections
NIP-05 Nostr Identity User verification
NIP-07 / NIP-46 Nostr Signing Browser + remote auth
NIP-57 Zaps Lightning tips via Nostr
LUD-16 Lightning Address Address resolution
LUD-21 Verify Payment verification
LUD-22 Webhooks Payment notifications
BoltCard NFC Lightning NFC card payments

Getting Started

1. Install dependencies

Set the correct Node version with nvm:

nvm use

Install dependencies:

pnpm install

2. Set up environment variables

cp .env.example .env

Edit .env with your own values.

3. Generate Prisma client and run migrations

pnpm prisma generate
pnpm prisma migrate deploy
pnpm prisma db seed

4. Run the development server

pnpm dev

5. Open your browser


Documentation

Document Description
ARCHITECTURE.md System design, data flow, address resolution
ROADMAP.md 6-month development timeline and current progress
ONBOARDING.md Progressive self-custody: alias → NWC → self-hosted
SDK.md TypeScript Client SDK + React Hooks reference
TESTING.md Testing strategy (Vitest, MSW, Playwright)
DOCKER.md Docker setup and containerized deployment
VISION.md Post-grant vision: CRM + AI + Nostr communications

Roadmap by Month

Month Focus Status
1 Backend infrastructure + testing Completed
2 CI/CD + Client SDK + React Hooks In Progress
3 Admin Dashboard + Nostr login + E2E Planned
4 User Dashboard + Courtesy NWC Proxy Planned
5 Lightning compliance + NWC Listener Planned
6 Documentation + deployment Planned

Changelogs

Period Document
Jan 5 - Feb 5, 2026 MONTH-1.md

License

MIT



Supported by

OpenSats

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 95.9%
  • JavaScript 3.0%
  • Other 1.1%