Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions content/nips.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ missing, it is because I have not made that promise, not because I forgot it.
| [NIP-71](https://github.com/nostr-protocol/nips/blob/master/71.md) | Video events: `kind:21`, and `kind:22` for short portrait video | Media worth looking at | 🚧 planned |
| [NIP-57](https://github.com/nostr-protocol/nips/blob/master/57.md) | Zaps you can send: a `kind:9734` request to the recipient's LNURL callback, and the `kind:9735` receipt that follows the payment | Money, carefully | 🚧 planned |
| [NIP-47](https://github.com/nostr-protocol/nips/blob/master/47.md) | Nostr Wallet Connect, so that invoice is paid in the app: a `nostr+walletconnect://` link, over kinds 13194, 23194 and 23195 | Money, carefully | 🚧 planned |
| [NIP-61](https://github.com/nostr-protocol/nips/blob/master/61.md) | Nutzaps: Cashu ecash sent straight to a pubkey (`kind:9321`), gated on a `kind:10019` naming the mints you trust. No LNURL provider in the path, which is what makes a brand-new account payable | Money, carefully | 🚧 planned |
| [NIP-60](https://github.com/nostr-protocol/nips/blob/master/60.md) | The wallet that holds what arrives: `kind:17375` wallet, `kind:7375` tokens, `kind:7376` spending history, which NIP-61 reuses to mark a nutzap redeemed | Money, carefully | 🚧 planned |
| [NIP-17](https://github.com/nostr-protocol/nips/blob/master/17.md) | Private direct messages: `kind:14` chat, `kind:15` files, and the `kind:10050` relay list they are delivered to | Private messages | 🚧 planned |
| [NIP-59](https://github.com/nostr-protocol/nips/blob/master/59.md) | Gift wrap, which does the wrapping NIP-17 defers: a `kind:13` seal signed by me, inside a `kind:1059` wrap signed by a throwaway key | Private messages | 🚧 planned |
| [NIP-29](https://github.com/nostr-protocol/nips/blob/master/29.md) | Groups, which live on one relay: an `h` tag on every event, relay-published metadata (`kind:39000`), and join and leave requests (`kind:9021`, `kind:9022`) | Groups | 🚧 planned |
Expand All @@ -83,6 +85,14 @@ endpoint hands back the invoice, and it is that server, not my app, that signs
and publishes the `kind:9735` receipt. A pubkey whose LNURL endpoint has not
opted into Nostr cannot be zapped at all.

That last sentence is the reason nutzaps are on the list rather than filed as a
duplicate of zaps. Lightning zaps only reach somebody who signed up with an
LNURL provider before you tried to pay them, so the people least likely to be
paid are the ones who just arrived. Ecash carries its own cost in exchange: a
mint is a custodian holding real value, both specs are `draft` and `optional`,
and client support is still thin. That belongs on screen when somebody picks a
mint, not buried in a setting.

Three milestones name no spec, and inventing one for them would be dishonest.
Notifications is assembled out of NIPs already on this page: NIP-10 replies,
NIP-18 reposts, NIP-25 reactions, NIP-27 mentions and NIP-57 zap receipts.
Expand All @@ -101,11 +111,6 @@ Refusing is a promise too, and these are the ones I get asked about. The
- **[NIP-96](https://github.com/nostr-protocol/nips/blob/master/96.md)**, HTTP
file storage. Marked `unrecommended` in the NIPs repo and replaced by Blossom.
Media goes through Blossom instead.
- **[NIP-60](https://github.com/nostr-protocol/nips/blob/master/60.md)** and
**[NIP-61](https://github.com/nostr-protocol/nips/blob/master/61.md)**, the
Cashu wallet and nutzaps. That is a second payment rail with a second wallet
behind it. Lightning zaps come first, and shipping those says nothing about
shipping these.
- **[NIP-13](https://github.com/nostr-protocol/nips/blob/master/13.md)**, proof
of work. No milestone needs it, and no mainstream relay I have checked
advertises a `min_pow_difficulty` above zero in its
Expand Down
7 changes: 3 additions & 4 deletions content/roadmap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ No dates. The order is a commitment; a calendar would not be.
8. **Money, carefully.** Zaps you can send and receive (NIP-57) and a NIP-47 wallet
connection, with the care that anything moving money deserves. The kind 9735 receipt is
the only proof a zap was paid, and it is the recipient's LNURL server that publishes it.
Then NIP-61 nutzaps, Cashu ecash sent to a pubkey: a Lightning zap needs an LNURL provider
the recipient signed up for in advance, and an account four clicks old has none, so this
is what makes a new person payable at all.
9. **Private messages.** NIP-17, gift wrapped per NIP-59 (a kind 13 seal inside a kind 1059
wrap), on the local store, signing through Notary, published only to the recipient's kind
10050 DM relays.
Expand Down Expand Up @@ -87,10 +90,6 @@ you price it.
setting would buy background mining, a cancel path and per-kind policy for nothing. Mining
when a relay actually asks, through `min_pow_difficulty` in its NIP-11 document or an `OK`
rejection that starts `pow:`, needs no setting at all.
- **Nutzaps (NIP-61).** They look like a variant of zaps and they are not: a kind 9321 nutzap
is Cashu ecash, and redeeming one needs a NIP-60 wallet (kind 17375) kept on relays plus a
mint list of your own. That is a second payment rail behind a second wallet, and item 8
already covers sending and receiving money.
- **NIP-96 HTTP file storage.** Supporting both upload paths looks like broader
compatibility. NIP-96 carries an `unrecommended` banner in its own spec and the NIPs index
strikes it through as replaced by Blossom, so uploads go to Blossom (item 7) and nowhere
Expand Down
Loading