DimensionDev / DimensionDev/Flare
Feature request: Lightning zaps for Nostr posts
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 1.5k
- Forks
- 67
- Avg merge
- 11h 8m
- Merged PRs (30d)
- 84
Description
Description
Flare doesn't currently support zaps (NIP-57) on Nostr posts. Zaps are a pretty core part of the Nostr experience — most active clients (Amethyst, Damus, Primal, Nostrudel, Snort) support at least basic zap sending, so its absence stands out when browsing Nostr content in Flare's unified timeline.
I'm a regular Flare user across Nostr and the other supported platforms, and this is the main thing that sends me back to a Nostr-only client for that part of my timeline.
Suggested scope
I'd frame this as two separable pieces, since the second is meaningfully bigger than the first:
- Basic zap sending — read
lud16/lud06from a profile's metadata, fetch the LNURL-pay invoice, and hand it off to the user's existing Lightning wallet app (deep link or QR code) to pay. No wallet custody or balance inside Flare at all — just the NIP-57 request/receipt plumbing plus a zap button and amount on posts. In practice this is close to "just add a zap icon" on each post: any wallet that exposes a standard Lightning address works out of the box, no per-wallet integration needed. Rizful is a good example — free, no-KYC, browser-based, and its whole onboarding flow for Nostr is built around exactly this: set alud16address, connect it to a client, get zapped. If Flare just speaks LNURL-pay against whatever address is in the profile, wallets like Rizful (or Alby, Wallet of Satoshi, etc.) work immediately without Flare knowing anything about them specifically. - Nostr Wallet Connect (NIP-47) — lets users link a remote wallet for one-tap zaps without leaving the app. Bigger surface area (connection management, balance display, security considerations around stored connection secrets), so probably a separate effort after (1) lands, if there's interest at all.
I'm not proposing an implementation here — wanted to check whether this fits where you want Flare to go before anyone (myself included) puts time into it. Happy to help however's useful, whether that's scoping, testing, or writing the NIP-57 piece myself once there's agreement on direction.
For reference, Amethyst's quartz library has a mature Kotlin implementation of both NIP-57 and NIP-47 that could be a useful reference point, license permitting.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating Flare’s Nostr post and profile-metadata entry points, along with any existing deep-link or QR flows; first confirm whether the scope is only NIP-57 LNURL-pay handoff or also NIP-47. Done should mean an agreed scope, a zap action on posts, and a defined payment handoff that works without wallet custody in Flare.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile, payments
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100