You pay a Bitcoin Lightning invoice.
++ Their profile lists a Lightning address. Your app fetches an invoice and pays it — instant, + cheap, and on its own invisible. This step is 100% Lightning; Nostr isn’t involved yet. +
+Their Lightning server publishes a signed zap receipt.
++ Once the invoice clears, the server signs a receipt proving payment and posts it to relays. + Now the zap shows up publicly under the note — amount, sender, comment. +
++ Same sats either way — the public, signed receipt is what turns a + private Lightning tip into a visible zap. +
+
+ Under the hood (NIP-57): your client attaches a signed
+ zap request (kind 9734); the recipient’s server returns a
+ zap receipt (kind 9735). The server must opt in via
+ allowsNostr.
+