DimensionDev / DimensionDev/Flare

Feature request: Lightning zaps for Nostr posts

Open
#2,428 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. Basic zap sending — read lud16/lud06 from 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 a lud16 address, 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.
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.