From 2b0dbb0b231c5594ad8e4e545a4239c77dc6b1e9 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 27 Sep 2025 14:28:32 -0400 Subject: [PATCH 1/9] NIP-41: Add places -- geohash ladder addressable locations (kinds 30300) --- 41.md | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 41.md diff --git a/41.md b/41.md new file mode 100644 index 00000000..6f240dbe --- /dev/null +++ b/41.md @@ -0,0 +1,155 @@ +# NIP-41 + +## Places (geohash ladder addressable locations) + +`draft` `optional` + +Clients need a simple, relay-indexable way to discover physical places (e.g., RV parks, cafés, venues) and to query them efficiently on maps. It should work with relays that don't have "Search Capability" (NIP-50). This NIP defines a parameterized replaceable event for “Places” that are **geohash-addressable** via a ladder of `g` tags—from coarse to fine precision—so clients can query by exact `#g` matches without prefix search. + +## 2. Event Kind + +- **Kind:** `30300` +- **Type:** Addressable (NIP-01) +- **Parameterized key:** the first `["d", ]` tag (e.g., a business permit, slug, or another stable ID) + +## 3. Required/Recommended Fields + +### 3.1. Required fields/tags + +- `["d", ""]` — stable place identifier (e.g., `permit:FL:44-54-00003` or `slug:lochloosa-harbor`) +- At least one `["g", ""]` tag. + The **recommended pattern** is to include a **ladder** of geohash prefixes from coarse to fine precision (e.g., `d`, `dj`, `dj3`, `dj3p`, …). This enables fast map queries with `#g` matching at various zoom levels. + +### 3.2. Recommended tags + +- `["name", ""]` +- `["r", ""]` — official website or listing +- `["image", ""]` — cover image +- `["phone", ""]` +- `["addr", "", "", "", "", ""]` +- `["t", "", ...]` — freeform type tags (e.g., `business`, `rv_park`, `restaurant`, `accepts_btc`) used to reduce results for usecase +- Provider cross-refs, inventory, and flags as needed—for example: + - `["provider", "", ""]` + - `["rv_spaces", ""]` + - `["accepts_btc", "yes"|"no"]` + +### 3.3. Optional tags + +- Hours, amenities, compliance, etc. (namespaced if domain-specific): + - `["hours", "Mo-Su 08:00-20:00"]` (freeform for now) + - `["amenity", "wifi"]`, `["amenity", "laundry"]`, … + - `["permit", "jurisdiction", "id"]` (if you don’t use it in `d`) + +### 3.4. Content + +- `content` is a short human description (markdown or plain text). Rich, machine-readable details should live in tags to remain filterable. + +--- + +## 4. Geohash (`g`) Tag Rules + +- A `g` tag value is a standard **Base32 geohash** (lowercase), length 1–12. +- Include **multiple** `g` tags forming a **coarse→fine ladder** for the same point, e.g.: + + ``` + ["g","d"] + ["g","dj"] + ["g","dj3"] + ["g","dj3p"] + ["g","dj3pz"] + ["g","dj3pzs"] + ["g","dj3pzsu"] + ["g","dj3pzsuc"] + ``` + +- Reason: relays and clients can match `#g` **exactly** at any zoom level without needing prefix search. The Place then appears in map queries that request any of those zoom-appropriate buckets. + +> Publishers **should** generate the ladder from a single point (lat/lon → geohash) and decide the deepest precision they care to expose (e.g., 7–9 chars for point-of-interest). + +--- + +## 5. Querying + +### 5.1. Relay filters + +- Fetch all Places within a geohash bucket: + + ```json + { "kinds": [30300], "#g": ["dj3pzs"], "#t": ["rv_park"] } + ``` + +- Zoom out: use shorter prefixes already present as `#g` values (e.g., `["dj3p"]`). + +- Fetch/refresh a specific place (parameterized key): + + ```json + { + "kinds": [30300], + "authors": [""], + "#d": ["permit:FL:44-54-00003"] + } + ``` + +--- + +## 6. Example (valid per this NIP) + +```json +{ + "kind": 30300, + "pubkey": "598cece47f7ed9516a30d43f0045b6cfb78454af3829c18a941c4196959345ee", + "created_at": 1758720595, + "tags": [ + ["d", "permit:FL:44-54-00003"], + ["t", "business"], + ["t", "rv_park"], + ["t", "accepts_btc"], + ["name", "CSTP RENTALS, LLC"], + ["r", "https://www.mhvillage.com/parks/121442"], + [ + "image", + "https://assets.mhvillage.com/assets/image/search-results/home-gray-600.jpg" + ], + ["phone", "(305) 451-5880"], + ["addr", "95350 Overseas Highway", "Key Largo", "FL", "33037", "USA"], + ["provider", "campspot", "lochloosa-harbor"], + ["rv_spaces", "28"], + ["booking_url", "https://www.mhvillage.com/parks/121442"], + ["g", "d"], + ["g", "dh"], + ["g", "dhq"], + ["g", "dhqy"], + ["g", "dhqy8"], + ["g", "dhqy82"], + ["g", "dhqy82n"] + ], + "content": "CSTP Rentals, LLC mobile home park located in Key Largo, FL. All-Ages community mobile homes for sale. View lots, community details, photos, and more.", + "id": "8121da23881ebfa4be496392a78130699d97e434206c2995465d0df8cbc9fa40", + "sig": "dd00e06be69158902987e1c5d643d47b284e52f367988e62e1d644a6f0d15fb5b0c5e86ccd954c4117a10df435b15825568fd07d533b447c2062450d0b2f0f0f" +} +``` + +--- + +## 7. Client Guidance + +- Clients may choose to `limit` returned events at a more coarse precision. +- For map tiles/zoom levels, choose the geohash precision to query: + - World/continent: 1–2 chars + - Region/state: 3–4 + - Metro/city: 5–6 + - Neighborhood/POI: 7–9 +- Query one or more `#g` values covering the viewport. (For polygons, derive covering geohash buckets and query all of them.) + +--- + +## 8. Examples + +- https://rvparker.westernbtc.com + +## 9. Validation Rules and Privacy + +- Must have at least one `["d", ...]` and one `["g", ...]`. +- `["g", ...]` must be valid Base32 geohash, lowercase, no `a,i,l,o`. +- Publishing precise geohashes reveals location; authors may choose a coarser precision if needed. +- Clients should treat unauthenticated data as unverified and display provenance. From b59fcb223dea76ec8b3b2b8541b9a0fe45202f6b Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 1 Oct 2025 23:52:24 -0400 Subject: [PATCH 2/9] change kind to match existing physical locations --- 41.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/41.md b/41.md index 6f240dbe..3a8bc425 100644 --- a/41.md +++ b/41.md @@ -8,7 +8,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ## 2. Event Kind -- **Kind:** `30300` +- **Kind:** `37515` - **Type:** Addressable (NIP-01) - **Parameterized key:** the first `["d", ]` tag (e.g., a business permit, slug, or another stable ID) @@ -75,7 +75,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - Fetch all Places within a geohash bucket: ```json - { "kinds": [30300], "#g": ["dj3pzs"], "#t": ["rv_park"] } + { "kinds": [37515], "#g": ["dj3pzs"], "#t": ["rv_park"] } ``` - Zoom out: use shorter prefixes already present as `#g` values (e.g., `["dj3p"]`). @@ -84,7 +84,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ```json { - "kinds": [30300], + "kinds": [37515], "authors": [""], "#d": ["permit:FL:44-54-00003"] } @@ -96,7 +96,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ```json { - "kind": 30300, + "kind": 37515, "pubkey": "598cece47f7ed9516a30d43f0045b6cfb78454af3829c18a941c4196959345ee", "created_at": 1758720595, "tags": [ @@ -146,6 +146,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ## 8. Examples - https://rvparker.westernbtc.com +- https://go.yondar.me ## 9. Validation Rules and Privacy From 59422fcacf46ac7fd7013729b61a23a7843a1e7e Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Oct 2025 11:30:52 -0400 Subject: [PATCH 3/9] changes to better reflect already present formats --- 41.md | 103 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/41.md b/41.md index 3a8bc425..e2a9af3a 100644 --- a/41.md +++ b/41.md @@ -18,27 +18,26 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - `["d", ""]` — stable place identifier (e.g., `permit:FL:44-54-00003` or `slug:lochloosa-harbor`) - At least one `["g", ""]` tag. - The **recommended pattern** is to include a **ladder** of geohash prefixes from coarse to fine precision (e.g., `d`, `dj`, `dj3`, `dj3p`, …). This enables fast map queries with `#g` matching at various zoom levels. + The **recommended pattern** is to include a **ladder** of geohash prefixes from coarse to fine precision (e.g., `d`, `dj`, `dj3`, `dj3p`, …). **Recommended precision is at least 7**. This enables fast map queries with `#g` matching at various zoom levels. ### 3.2. Recommended tags - `["name", ""]` -- `["r", ""]` — official website or listing +- `["website", ""]` — official website or listing - `["image", ""]` — cover image - `["phone", ""]` -- `["addr", "", "", "", "", ""]` -- `["t", "", ...]` — freeform type tags (e.g., `business`, `rv_park`, `restaurant`, `accepts_btc`) used to reduce results for usecase -- Provider cross-refs, inventory, and flags as needed—for example: - - `["provider", "", ""]` - - `["rv_spaces", ""]` - - `["accepts_btc", "yes"|"no"]` +- `["payment_method", "", ""]` - e.g.: ["payment_method", "USD", "cash"] +- `["address", "", "", "", "", ""]` +- `["amenity", ""]` +- `["hours", "", "", "", ...]` - e.g., ["hours","thu","09:00/12:30","13:30/17:00"] +- `["t", ""]` — freeform type tags used to reduce results for usecase (e.g., `business`, `rv_park`, `restaurant`, `accepts_btc`) +- `["r", ""]` ### 3.3. Optional tags -- Hours, amenities, compliance, etc. (namespaced if domain-specific): - - `["hours", "Mo-Su 08:00-20:00"]` (freeform for now) - - `["amenity", "wifi"]`, `["amenity", "laundry"]`, … - - `["permit", "jurisdiction", "id"]` (if you don’t use it in `d`) +- Non-indexed labels for usecase: + - `["rv_spaces", ""]` + - `["booking_provider", "", ""]` ### 3.4. Content @@ -49,7 +48,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ## 4. Geohash (`g`) Tag Rules - A `g` tag value is a standard **Base32 geohash** (lowercase), length 1–12. -- Include **multiple** `g` tags forming a **coarse→fine ladder** for the same point, e.g.: +- Include **multiple** `g` tags forming a **coarse → fine ladder** for the same point, e.g.: ``` ["g","d"] @@ -62,9 +61,9 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ["g","dj3pzsuc"] ``` -- Reason: relays and clients can match `#g` **exactly** at any zoom level without needing prefix search. The Place then appears in map queries that request any of those zoom-appropriate buckets. +- Reason: relays and clients can match `#g` **exactly** at any zoom level. The Place then appears in map queries that request any of those zoom-appropriate buckets. -> Publishers **should** generate the ladder from a single point (lat/lon → geohash) and decide the deepest precision they care to expose (e.g., 7–9 chars for point-of-interest). +> Publishers **should** generate the ladder from a single point (lat/lon → geohash) and decide the deepest precision they care to expose (e.g., 7–8 chars for point-of-interest). --- @@ -75,10 +74,27 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - Fetch all Places within a geohash bucket: ```json - { "kinds": [37515], "#g": ["dj3pzs"], "#t": ["rv_park"] } + { + "kinds": [37515], + "#g": [ + "dhvj", + "dhvm", + "dhvn", + "dhvp", + "dhvq", + "dhvr", + "dhvt", + "dhvw", + "dhvx", + "djj0", + "djj2", + "djj8" + ], + "#t": ["rv_park"] + } ``` -- Zoom out: use shorter prefixes already present as `#g` values (e.g., `["dj3p"]`). +- Zoom out: use shorter prefixes already present as `#g` values (e.g., `["dhv"]`). - Fetch/refresh a specific place (parameterized key): @@ -100,30 +116,42 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV "pubkey": "598cece47f7ed9516a30d43f0045b6cfb78454af3829c18a941c4196959345ee", "created_at": 1758720595, "tags": [ - ["d", "permit:FL:44-54-00003"], + ["d", "permit:FL:1234567"], ["t", "business"], ["t", "rv_park"], - ["t", "accepts_btc"], - ["name", "CSTP RENTALS, LLC"], - ["r", "https://www.mhvillage.com/parks/121442"], - [ - "image", - "https://assets.mhvillage.com/assets/image/search-results/home-gray-600.jpg" - ], - ["phone", "(305) 451-5880"], - ["addr", "95350 Overseas Highway", "Key Largo", "FL", "33037", "USA"], - ["provider", "campspot", "lochloosa-harbor"], - ["rv_spaces", "28"], - ["booking_url", "https://www.mhvillage.com/parks/121442"], + ["name", "Lochloosa Harbor RV Park"], + ["r", "wss://relay.westernbtc.com"], + ["payment_method", "USD", "credit_card"], + ["payment_method", "USD", "apple_pay"], + ["payment_method", "USD", "cash"], + ["payment_method", "BTC", "onchain"], + ["payment_method", "BTC", "lightning"], + ["hours", "mon", "09:00/17:00"], + ["hours", "tue", "09:00/17:00"], + ["hours", "wed", "09:00/20:00"], + ["hours", "thu", "09:00/12:30", "13:30/17:00"], + ["hours", "fri", "10:00/22:00"], + ["hours", "sat", "10:00/24:00"], + ["hours", "sun"], + ["amentiy", "WiFi"], + ["amentiy", "Washer / Dryer"], + ["website", "https://westernbtc.com"], + ["image", "https://lochloosaharbor.example/cover.jpg"], + ["phone", "+1-352-555-0123"], + ["address", "123 Harbor Rd", "Hawthorne", "FL", "32640", "USA"], + ["booking_provider", "campspot", "lochloosa-harbor"], + ["booking_url", "https://example.com"], + ["rv_spaces", "82"], ["g", "d"], - ["g", "dh"], - ["g", "dhq"], - ["g", "dhqy"], - ["g", "dhqy8"], - ["g", "dhqy82"], - ["g", "dhqy82n"] + ["g", "dj"], + ["g", "dj3"], + ["g", "dj3p"], + ["g", "dj3pz"], + ["g", "dj3pzs"], + ["g", "dj3pzsu"], + ["g", "dj3pzsuc"] ], - "content": "CSTP Rentals, LLC mobile home park located in Key Largo, FL. All-Ages community mobile homes for sale. View lots, community details, photos, and more.", + "content": "Some description.", "id": "8121da23881ebfa4be496392a78130699d97e434206c2995465d0df8cbc9fa40", "sig": "dd00e06be69158902987e1c5d643d47b284e52f367988e62e1d644a6f0d15fb5b0c5e86ccd954c4117a10df435b15825568fd07d533b447c2062450d0b2f0f0f" } @@ -153,4 +181,3 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - Must have at least one `["d", ...]` and one `["g", ...]`. - `["g", ...]` must be valid Base32 geohash, lowercase, no `a,i,l,o`. - Publishing precise geohashes reveals location; authors may choose a coarser precision if needed. -- Clients should treat unauthenticated data as unverified and display provenance. From 7a7319d09078cfca61775bd1c29b114034fe0dce Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Oct 2025 11:34:36 -0400 Subject: [PATCH 4/9] choose plain text for .content --- 41.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/41.md b/41.md index e2a9af3a..9f6d1674 100644 --- a/41.md +++ b/41.md @@ -41,7 +41,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ### 3.4. Content -- `content` is a short human description (markdown or plain text). Rich, machine-readable details should live in tags to remain filterable. +- `content` is a plain text short readable description. --- From cf17f7f61cc36feb71f4a0213663bc3aa3dd7941 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Oct 2025 11:51:14 -0400 Subject: [PATCH 5/9] typos --- 41.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/41.md b/41.md index 9f6d1674..08d999f5 100644 --- a/41.md +++ b/41.md @@ -133,8 +133,8 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ["hours", "fri", "10:00/22:00"], ["hours", "sat", "10:00/24:00"], ["hours", "sun"], - ["amentiy", "WiFi"], - ["amentiy", "Washer / Dryer"], + ["amenity", "WiFi"], + ["amenity", "Washer / Dryer"], ["website", "https://westernbtc.com"], ["image", "https://lochloosaharbor.example/cover.jpg"], ["phone", "+1-352-555-0123"], From aeee8cbaacbb906734cfd1927c773c9d695168cb Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Oct 2025 13:43:00 -0400 Subject: [PATCH 6/9] change t tags to l tags --- 41.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/41.md b/41.md index 08d999f5..088810bd 100644 --- a/41.md +++ b/41.md @@ -10,13 +10,13 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - **Kind:** `37515` - **Type:** Addressable (NIP-01) -- **Parameterized key:** the first `["d", ]` tag (e.g., a business permit, slug, or another stable ID) +- **Parameterized key:** the first `["d", ]` tag (e.g., a random ID) ## 3. Required/Recommended Fields ### 3.1. Required fields/tags -- `["d", ""]` — stable place identifier (e.g., `permit:FL:44-54-00003` or `slug:lochloosa-harbor`) +- `["d", ""]` — a random ID (e.g., `permit:FL:44-54-00003`, `slug:lochloosa-harbor`, etc.) - At least one `["g", ""]` tag. The **recommended pattern** is to include a **ladder** of geohash prefixes from coarse to fine precision (e.g., `d`, `dj`, `dj3`, `dj3p`, …). **Recommended precision is at least 7**. This enables fast map queries with `#g` matching at various zoom levels. @@ -30,7 +30,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - `["address", "", "", "", "", ""]` - `["amenity", ""]` - `["hours", "", "", "", ...]` - e.g., ["hours","thu","09:00/12:30","13:30/17:00"] -- `["t", ""]` — freeform type tags used to reduce results for usecase (e.g., `business`, `rv_park`, `restaurant`, `accepts_btc`) +- `["l", ""]` — freeform type labels used to reduce results for usecase (e.g., `business`, `rv_park`, `restaurant`, etc.) - `["r", ""]` ### 3.3. Optional tags @@ -117,8 +117,8 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV "created_at": 1758720595, "tags": [ ["d", "permit:FL:1234567"], - ["t", "business"], - ["t", "rv_park"], + ["l", "business"], + ["l", "rv_park"], ["name", "Lochloosa Harbor RV Park"], ["r", "wss://relay.westernbtc.com"], ["payment_method", "USD", "credit_card"], From 42f55631239e52056dec88040efa1654b0b872c4 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Oct 2025 23:04:29 -0400 Subject: [PATCH 7/9] change t tags to l tags, remove r all together --- 41.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/41.md b/41.md index 088810bd..efab8ffd 100644 --- a/41.md +++ b/41.md @@ -31,7 +31,6 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - `["amenity", ""]` - `["hours", "", "", "", ...]` - e.g., ["hours","thu","09:00/12:30","13:30/17:00"] - `["l", ""]` — freeform type labels used to reduce results for usecase (e.g., `business`, `rv_park`, `restaurant`, etc.) -- `["r", ""]` ### 3.3. Optional tags @@ -90,7 +89,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV "djj2", "djj8" ], - "#t": ["rv_park"] + "#l": ["rv_park"] } ``` @@ -120,7 +119,6 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ["l", "business"], ["l", "rv_park"], ["name", "Lochloosa Harbor RV Park"], - ["r", "wss://relay.westernbtc.com"], ["payment_method", "USD", "credit_card"], ["payment_method", "USD", "apple_pay"], ["payment_method", "USD", "cash"], From 4b750618adbf958eac08c495c8ed4557a55081ed Mon Sep 17 00:00:00 2001 From: Josh Date: Sun, 5 Oct 2025 11:35:47 -0400 Subject: [PATCH 8/9] Conform L and l tags to NIP-32 --- 41.md | 10 ++++++---- README.md | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/41.md b/41.md index efab8ffd..4030d524 100644 --- a/41.md +++ b/41.md @@ -30,7 +30,8 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV - `["address", "", "", "", "", ""]` - `["amenity", ""]` - `["hours", "", "", "", ...]` - e.g., ["hours","thu","09:00/12:30","13:30/17:00"] -- `["l", ""]` — freeform type labels used to reduce results for usecase (e.g., `business`, `rv_park`, `restaurant`, etc.) +- `["L", "physical-location"]` +- `["l", "", "physical-location"]` - freeform type labels used to reduce results for usecase (e.g., `business`, `rv-park`, `restaurant`, etc.) ### 3.3. Optional tags @@ -89,7 +90,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV "djj2", "djj8" ], - "#l": ["rv_park"] + "#l": ["rv-park"] } ``` @@ -116,8 +117,9 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV "created_at": 1758720595, "tags": [ ["d", "permit:FL:1234567"], - ["l", "business"], - ["l", "rv_park"], + ["L", "physical-location"], + ["l", "business", "physical-location"], + ["l", "rv-park", "physical-location"], ["name", "Lochloosa Harbor RV Park"], ["payment_method", "USD", "credit_card"], ["payment_method", "USD", "apple_pay"], diff --git a/README.md b/README.md index f5194ded..036ba870 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos - [NIP-38: User Statuses](38.md) - [NIP-39: External Identities in Profiles](39.md) - [NIP-40: Expiration Timestamp](40.md) +- [NIP-41: Physical Locations](41.md) - [NIP-42: Authentication of clients to relays](42.md) - [NIP-44: Encrypted Payloads (Versioned)](44.md) - [NIP-45: Counting results](45.md) @@ -264,9 +265,10 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | `31990` | Handler information | [89](89.md) | | `32267` | Software Application | | | `34550` | Community Definition | [72](72.md) | +| `37515` | Physical Location | [42](42.md) | +| `37516` | Geocache listing | [geocaching](geocaching) | | `38172` | Cashu Mint Announcement | [87](87.md) | | `38173` | Fedimint Announcement | [87](87.md) | -| `37516` | Geocache listing | [geocaching](geocaching) | | `38383` | Peer-to-peer Order events | [69](69.md) | | `39000-9` | Group metadata events | [29](29.md) | | `39089` | Starter packs | [51](51.md) | From cdf9db61e689cb5aa5418e4a08783a9963610b82 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 7 Oct 2025 13:59:20 -0400 Subject: [PATCH 9/9] Change kind --- 41.md | 9 ++++----- README.md | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/41.md b/41.md index 4030d524..d48d2e0f 100644 --- a/41.md +++ b/41.md @@ -8,7 +8,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ## 2. Event Kind -- **Kind:** `37515` +- **Kind:** `33000` - **Type:** Addressable (NIP-01) - **Parameterized key:** the first `["d", ]` tag (e.g., a random ID) @@ -75,7 +75,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ```json { - "kinds": [37515], + "kinds": [33000], "#g": [ "dhvj", "dhvm", @@ -100,7 +100,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ```json { - "kinds": [37515], + "kinds": [33000], "authors": [""], "#d": ["permit:FL:44-54-00003"] } @@ -112,7 +112,7 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ```json { - "kind": 37515, + "kind": 33000, "pubkey": "598cece47f7ed9516a30d43f0045b6cfb78454af3829c18a941c4196959345ee", "created_at": 1758720595, "tags": [ @@ -174,7 +174,6 @@ Clients need a simple, relay-indexable way to discover physical places (e.g., RV ## 8. Examples - https://rvparker.westernbtc.com -- https://go.yondar.me ## 9. Validation Rules and Privacy diff --git a/README.md b/README.md index 036ba870..1c4ae9b3 100644 --- a/README.md +++ b/README.md @@ -264,8 +264,8 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | `31989` | Handler recommendation | [89](89.md) | | `31990` | Handler information | [89](89.md) | | `32267` | Software Application | | +| `33000` | Physical Location | [42](42.md) | | `34550` | Community Definition | [72](72.md) | -| `37515` | Physical Location | [42](42.md) | | `37516` | Geocache listing | [geocaching](geocaching) | | `38172` | Cashu Mint Announcement | [87](87.md) | | `38173` | Fedimint Announcement | [87](87.md) |