diff options
| author | Semisol <45574030+Semisol@users.noreply.github.com> | 2023-02-14 09:38:19 +0300 |
|---|---|---|
| committer | fiatjaf <fiatjaf@gmail.com> | 2023-02-16 12:25:47 -0300 |
| commit | 6849f3bdf4739c4fe52199504092cea7247fc615 (patch) | |
| tree | 14f44bb9ec9b557978bcce8c5ecee49d98c523db | |
| parent | 2a2c665e2719ff2e37e4aadc81a8002ebcc5c1f2 (diff) | |
NIP-57: Add amount tag to zap request
| -rw-r--r-- | 57.md | 4 |
1 files changed, 3 insertions, 1 deletions
| @@ -30,7 +30,7 @@ Having lightning receipts on nostr allows clients to display lightning payments | |||
| 30 | 30 | ||
| 31 | 3. Clients may choose to display a lightning zap button on each post or on the users profile, if the user's lnurl pay request endpoint supports nostr, the client SHOULD generate a `zap invoice` instead of a normal lnurl invoice. | 31 | 3. Clients may choose to display a lightning zap button on each post or on the users profile, if the user's lnurl pay request endpoint supports nostr, the client SHOULD generate a `zap invoice` instead of a normal lnurl invoice. |
| 32 | 32 | ||
| 33 | 4. To generate a `zap invoice`, call the `callback` url with `amount` set to the milli-satoshi amount value. A `nostr` querystring value MUST be set as well. It is a uri-encoded `zap request` note signed by the user's key. The `zap request` note contains an `e` tag of the note it is zapping, and a `p` tag of the target user's pubkey. The `e` tag is optional which allows profile tipping. The `zap request` note must also have a `relays` tag, which is gathered from the user's configured relays. The `content` MAY be an additional comment from the user which can be displayed when listing zaps on posts and profiles. | 33 | 4. To generate a `zap invoice`, call the `callback` url with `amount` set to the milli-satoshi amount value. A `nostr` querystring value MUST be set as well. It is a uri-encoded `zap request` note signed by the user's key. The `zap request` note contains an `e` tag of the note it is zapping, and a `p` tag of the target user's pubkey. The `e` tag is optional which allows profile tipping. The `zap request` note must also have a `relays` tag, which is gathered from the user's configured relays. The `zap request` note SHOULD contain an `amount` tag, which is the milli-satoshi value of the zap which clients SHOULD verify being equal to the amount of the invoice. The `content` MAY be an additional comment from the user which can be displayed when listing zaps on posts and profiles. |
| 34 | 34 | ||
| 35 | 5. Pay this invoice or pass it to an app that can pay the invoice. Once it's paid, a `zap note` will be created by the `zapper`. | 35 | 5. Pay this invoice or pass it to an app that can pay the invoice. Once it's paid, a `zap note` will be created by the `zapper`. |
| 36 | 36 | ||
| @@ -56,6 +56,8 @@ The lnurl server will need some additional pieces of information so that clients | |||
| 56 | 56 | ||
| 57 | e. There should be a `relays` tag with the relays to send the `zap` note to. | 57 | e. There should be a `relays` tag with the relays to send the `zap` note to. |
| 58 | 58 | ||
| 59 | f. If there is an `amount` tag, it MUST be equal to the `amount` query parameter. | ||
| 60 | |||
| 59 | 5. If valid, fetch a description hash invoice where the description is this note and this note only. No additional lnurl metadata is included in the description. | 61 | 5. If valid, fetch a description hash invoice where the description is this note and this note only. No additional lnurl metadata is included in the description. |
| 60 | 62 | ||
| 61 | At this point, the lightning node is ready to send the zap note once payment is received. | 63 | At this point, the lightning node is ready to send the zap note once payment is received. |