Skip to content

Feature request: Lightning zaps for Nostr posts #2428

Description

@pixelminds

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions