I've been building swift-nostr, an open-source Swift library for the Nostr protocol, and the part I think this crowd will care about most is that the Lightning integration is first-class — not a TODO.
The zap loop is actually closed:
- NIP-57 — sign the zap request (kind 9734), resolve the recipient's LNURL-pay endpoint, fetch the bolt11, decode it, and verify the kind-9735 receipt.
- NIP-47 (Nostr Wallet Connect) — pay that invoice through a remote wallet over Nostr. Full command set (
get_balance,make_invoice,lookup_invoice,list_transactions, keysend, multi-payments, notifications) plus a one-callpayZap.
So on Apple platforms you can now go from "user taps zap" to "sat paid + receipt verified" entirely in Swift.
Beyond payments:
- NIP-17 private DMs — gift wrap (NIP-59) + NIP-44, with kind-10050 DM relay routing
- NIP-65 outbox model with gossip routing
- 20+ NIPs total, modern Swift 6 (actor-isolated,
Sendable, async/await), all Apple OSes, MIT
It's early (v0.5) and I'm building it in the open. If you're thinking about Lightning-native social apps — or DVM/agent ideas that need to pay and get paid over Nostr — I'd love feedback, issues, or PRs.
https://github.com/yysskk/swift-nostr
Feedback and teardowns welcome ⚡