Skip to content
Open
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
4 changes: 3 additions & 1 deletion 99.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Classified Listings

`draft` `optional`

This NIP defines `kind:30402`: an addressable event to describe classified listings that list any arbitrary product, service, or other thing for sale or offer and includes enough structured metadata to make them useful.
This NIP defines listings that list any arbitrary product, service, or other thing for sale or offer and includes enough structured metadata to make them useful. Because these listings are addressable events as defined in [NIP-01 Kinds](https://github.com/nostr-protocol/nips/blob/master/01.md), each event MUST include exactly one `["d", "<stable unique identifier>"]` tag. The identifier SHOULD remain stable across revisions so relays and clients can fetch or replace the listing via `a`-tag lookups; implementers MAY derive it from a deterministic slug (for example, `<slugified-title>-<pubkey>`) or persist a generated random string if no natural slug exists.`

The specification supports a broad range of use cases physical goods, services, work opportunities, rentals, free giveaways, personals, etc. To promote interoperability between clients implementing NIP-99 for e-commerce, you can find the extension proposal [here](https://github.com/GammaMarkets/market-spec/blob/main/spec.md) which standardizes the e-commerce use case while maintaining the specification's lightweight and flexible nature. While [NIP-15](15.md) provides a strictly structured marketplace specification, NIP-99 has emerged as a simpler and more flexible alternative.

Expand Down Expand Up @@ -42,6 +42,8 @@ The following tags, used for structured metadata, are standardized and SHOULD be
- `"<frequency>"` is optional and can be used to describe recurring payments. SHOULD be in noun format (hour, day, week, month, year, etc.)
- `"status"` (optional), the status of the listing. SHOULD be either "active" or "sold".

Clients that publish related events (for example, offers, inquiries, or receipts) SHOULD reference the listing with an ["a", "<kind>:<pubkey>:<d>"] tag, using the listing’s kind, pubkey, and mandatory d tag value described above. This keeps downstream lookups aligned with the [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md) addressable-event convention.

#### `price` examples

- $50 one-time payment `["price", "50", "USD"]`
Expand Down