Month 6: NWC Payment Listener + Card Activation + Deploy Targets + Backup & Restore
Expansion phase: NWC Payment Listener as a live transport service, SIMPLE/ONE_TIME card activation, deploy targets, Backup & Restore. Settlement/compliance deferred to Month 7.
Period: June 5 - July 5, 2026 Status: Completed Depends on: Month 5 (Remote Wallets + Card System Apps + Platform Polish)
Status update (2026-07)
The infrastructure tier shipped across v1.1.0 → v1.4.0 — the NWC Payment
Listener as a live transport service, the SIMPLE / ONE_TIME card
activation flow (/wallet/activate/[id]), deploy targets (Docker Hub / Umbrel
/ Start9), Backup & Restore, and listener hardening. The settlement / share
/ compliance items were deferred to Month 7: MASTER card
account-share (FOREVER QRs + the CardClaim / LightningAddressShare /
RemoteWalletShare model), NWC Proxy Lite, full LUD-16 / LUD-21 / LUD-22 /
NIP-57 closeout, @lawallet-nwc/react, the WordPress plugin, the Resend
adapter, and the Nostr scheduler. The spec below is retained as the design of
record for that carried-over work.
Summary
Finalize all documentation, configure deployment targets, and prepare the codebase for security audit. This month transitions the project from active development to production-ready state.
Goals
- Ship the WordPress plugin (
lawallet-wordpress) — integrate LaWallet (Lightning Address / LNURL-pay / NWC) into WordPress sites - Create comprehensive documentation for API, codebase, and all services
- Configure deployment for Vercel, Netlify, Umbrel, Start9, Docker
- Prepare for security audit
- Finalize SDK and Hooks documentation
WordPress Plugin (lawallet-wordpress)
A WordPress plugin that integrates LaWallet (Lightning Address / LNURL-pay / NWC) into WordPress sites — accept Lightning payments / zaps and expose lightning addresses from a WordPress install.
- Repo: lawallet-wordpress
- Live demo: wordpress.lawallet.io
- Complements the existing
integrations/WORDPRESS.mdguidance
API Documentation
- OpenAPI/Swagger specification for all 30 API routes
- Request/response schemas derived from existing Zod validation schemas
- Authentication requirements per endpoint (NIP-98, JWT, public)
- Example payloads for every endpoint
- Deploy interactive documentation at
/docs/api(Swagger UI or Redoc)
Codebase Documentation
ARCHITECTURE.md (Expand Existing)
- System diagrams showing 2 independent services + lncurl
- Data flow for payments (NWC and alias/redirect)
- Address resolution priority logic
- Service communication patterns
- Auth chain documentation (NIP-98 → admin-auth → permissions)
CONTRIBUTING.md
- Local development setup guide (all 3 services)
- Coding standards and conventions
- PR process and review requirements
- Testing requirements (unit, integration, E2E)
Environment Variable Reference
- Complete reference for all services
- lawallet-web: 30+ variables (already validated by Zod)
- lawallet-listener variables
- lncurl configuration variables (
LNCURL_URL, etc.) - Required vs optional, defaults, examples
Service Guides
- NWC Payment Listener: setup, configuration, monitoring, troubleshooting
- Courtesy NWC (lncurl): setup, self-hosting, configuration
Integration Examples
- Lightning address integration (external app consuming LUD-16)
- WordPress integration (expand existing
integrations/WORDPRESS.md) - NWC connection sample code
- Webhook receiver example (Node.js)
- Custom domain setup guide
- Client SDK usage examples
- React Hooks usage examples with code snippets
Deployment
Vercel
vercel.jsonconfiguration (already exists, validate)- Environment variable mapping
- One-click deploy button
- Note: Next.js app only; Listener deployed separately, lncurl is external
Netlify
netlify.tomlconfiguration- Build settings for Next.js
- Redirect rules
Umbrel
- Updated
umbrel-app-storepackage - Web + Listener containers included
- Comprehensive configuration options
- Installation documentation
Start9
- Embassy service wrapper
- Manifest with web + listener services
- Health checks
- Submit to Start9 registry
Docker Compose
- Production
docker-compose.ymlwith 2 independent containers - Reverse proxy configuration (Traefik or nginx)
- SSL/TLS setup guide
- Backup strategy documentation
- Volume configuration (each service isolated)
Security Preparation
- Document all cryptographic operations:
- NWC encryption (NIP-47)
- NTAG424 chip encryption (AES-CMAC)
- Webhook HMAC-SHA256 signing
- JWT token generation/verification
- Nostr key handling
- Review authentication flows for vulnerabilities
- Create threat model documentation
- Identify attack surfaces per service
- Prepare codebase for external security audit
SDK + Hooks Finalization
- Full Client SDK API reference documentation
- Full React Hooks documentation with usage examples
- Code snippets for every hook
- Migration guide for SDK updates
Acceptance Criteria
| Deliverable | Criteria | Priority |
|---|---|---|
WordPress plugin (lawallet-wordpress) | Plugin integrates LaWallet (Lightning Address / LNURL-pay / NWC) into WordPress; live demo at wordpress.lawallet.io | P1 |
| API docs | OpenAPI spec complete, interactive docs deployed | P0 |
| ARCHITECTURE.md | Diagrams, data flow, all services + lncurl documented | P0 |
| CONTRIBUTING.md | Setup guide, standards, PR process | P0 |
| Vercel config | One-click deploy working | P1 |
| Netlify config | Deploy guide working | P1 |
| Umbrel package | Web + Listener containers, installable from app store | P0 |
| Start9 package | Embassy package submitted | P1 |
| Docker Compose | Web + Listener containers running with reverse proxy | P0 |
| Security docs | Threat model, crypto operations documented | P1 |
| SDK/Hooks docs | Full API reference, usage examples | P1 |
Month 5: Remote Wallets + Card System Apps + Platform Polish
Expansion phase: Remote Wallets (RemoteWallet model + NWC driver + Connection Map), card system apps (card-installer / card-manager), full NIP-05, relay picker, PWA wallet. NWC Listener shipped in Month 6.
Month 7: Subscription Manager + Nostr Chat
Monetization phase: paid tiers, perks (vanity LN address, email-to-Nostr, sat allowance), and Nostr DMs.