From 58cfc3189c700d1f0fb53cebc6819af12fa3b4ef Mon Sep 17 00:00:00 2001 From: pablof7z Date: Wed, 8 Oct 2025 14:29:40 +0300 Subject: [PATCH] relay tags in nip-60 on 17375 instead of 10019 --- 51.md | 1 + 60.md | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/51.md b/51.md index a7a16288..d9207c0f 100644 --- a/51.md +++ b/51.md @@ -32,6 +32,7 @@ For example, _mute list_ can contain the public keys of spammers and bad actors | Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) | | Search relays | 10007 | relays clients should use when performing search queries | `"relay"` (relay URLs) | | Simple groups | 10009 | [NIP-29](29.md) groups the user is in | `"group"` ([NIP-29](29.md) group id + relay URL + optional group name), `"r"` for each relay in use | +| Wallet relays | 17375 | relays for [NIP-60](60.md) wallet operations | `"relay"` (relay URLs) - stored in the wallet event itself, see [NIP-60](60.md) | | Relay feeds | 10012 | user favorite browsable relays (and relay sets) | `"relay"` (relay URLs) and `"a"` (kind:30002 relay set) | | Interests | 10015 | topics a user may be interested in and pointers | `"t"` (hashtags) and `"a"` (kind:30015 interest set) | | Media follows | 10020 | multimedia (photos, short video) follow list | `"p"` (pubkeys -- with optional relay hint and petname) | diff --git a/60.md b/60.md index 786ce977..d184d669 100644 --- a/60.md +++ b/60.md @@ -30,7 +30,10 @@ This NIP doesn't deal with users' *receiving* money from someone else, it's just [ "mint", "https://mint1" ], [ "mint", "https://mint2" ] ]), - "tags": [] + "tags": [ + [ "relay", "wss://relay1.example.com" ], + [ "relay", "wss://relay2.example.com" ] + ] } ``` @@ -39,6 +42,7 @@ The wallet event is an replaceable event `kind:17375`. Tags: * `mint` - Mint(s) this wallet uses -- there MUST be one or more mint tags. * `privkey` - Private key used to unlock P2PK ecash. MUST be stored encrypted in the `.content` field. **This is a different private key exclusively used for the wallet, not associated in any way to the user's Nostr private key** -- This is only used for receiving [NIP-61](61.md) nutzaps. +* `relay` - Relay(s) where the wallet's events (`kind:7374`, `kind:7375`, `kind:7376`) are published to and queried from. Clients MUST use these relays for all wallet operations. If no `relay` tags are present, clients SHOULD fall back to the user's [NIP-65](65.md) relay list. ### Token Event Token events are used to record unspent proofs. @@ -104,10 +108,14 @@ All tags can be [NIP-44](44.md) encrypted. Clients SHOULD leave `e` tags with a Multiple `e` tags can be added, and should be encrypted, except for tags with the `redeemed` marker. ## Flow -A client that wants to check for user's wallets information starts by fetching `kind:10019` events from the user's relays, if no event is found, it should fall back to using the user's [NIP-65](65.md) relays. +A client that wants to check for user's wallet information: + +1. Fetches the user's `kind:17375` wallet event from the user's [NIP-65](65.md) relays (or any known relays) +2. Reads the `relay` tags from the wallet event to determine which relays to use for wallet operations +3. If no `relay` tags are present, falls back to using the user's [NIP-65](65.md) relay list ### Fetch wallet and token list -From those relays, the client should fetch wallet and token events. +Using the relays from the wallet event's `relay` tags (or NIP-65 relays if not specified), the client should fetch wallet and token events: `"kinds": [17375, 7375], "authors": [""]`