Gamma Markets ist ein Satz von E-Commerce-Konventionen, die direkt auf NIP-99 Classified Listings aufbauen. Sie wurden gemeinschaftlich von einer Arbeitsgruppe von Nostr-Marktplatz-Entwicklern entwickelt: den Teams hinter Shopstr, Cypher, Plebeian Market und Conduit Market. Gamma Markets füllt die Versand-, Bestellablauf-, Sammlungs- und Bewertungskonventionen, die NIP-99 selbst nicht definiert.

Funktionsweise

Gamma Markets fügt fünf Event-Kinds rund um das bestehende kind-30402-Listing-Event von NIP-99 hinzu, ohne dessen Form zu ändern:

  • Kind 30405 - Produktsammlungen, die mehrere Listings über a-Tags gruppieren
  • Kind 30406 - Versandoptionen mit länderspezifischer Preisgestaltung und optionalen gewichts- oder entfernungsbasierten Kostenregeln
  • Kind 16 - Bestellnachrichten: Erstellung (Typ 1), Zahlungsanforderungen (Typ 2), Statusaktualisierungen (Typ 3) und Versandaktualisierungen (Typ 4)
  • Kind 14 - Allgemeine Kommunikation zwischen Käufer und Händler
  • Kind 17 - Zahlungsbelege
  • Kind 31555 - Produktbewertungen, adressiert an einen bestimmten Verkäufer-pubkey und Listing-d-Tag

Die Zahlungspräferenzen eines Händlers werden über ein payment_preference-Tag in den kind-0-Profilmetadaten deklariert, und Clients entdecken kompatible Apps über NIP-89-Anwendungsempfehlungen. Die Bestellkommunikation baut auf NIP-17 Private Messages auf, ohne ein eigenes Verschlüsselungsschema.

Die zentrale Designentscheidung der Spezifikation ist, dass nichts kaskadiert: Ein Listing, das zu einer Sammlung gehört oder eine Versandoption nutzt, referenziert diese explizit über ein a-Tag, anstatt die Einstellungen des übergeordneten Elements automatisch zu erben. Das ist eine bewusste Abkehr vom älteren NIP-15-Stall-Modell, bei dem ein Produkt stillschweigend die Währung und Versandtabelle seines Stalls erbte.

Beispiel: Bestellerstellung (kind 16, Typ 1)

{
  "kind": 16,
  "content": "Please leave the package with the doorman.",
  "tags": [
    ["p", "<merchant-pubkey>"],
    ["subject", "New order"],
    ["type", "1"],
    ["order", "order-8f21"],
    ["amount", "115000"],
    ["item", "30402:<merchant-pubkey>:keyboard-mx-blue-01", "1"],
    ["shipping", "30406:<merchant-pubkey>:standard-regional"]
  ]
}

Warum es wichtig ist

NIP-99 allein standardisiert nur das Listing selbst, eine signierte, adressierbare Kleinanzeige. Vor Gamma Markets erfand jeder Client, der echten E-Commerce auf NIP-99 aufbaute, seine eigenen privaten Konventionen für Versand, Checkout und Bewertungen, was bedeutete, dass zwei NIP-99-konforme Clients jeweils ein Listing korrekt darstellen konnten, aber keinen gemeinsamen Weg hatten, eine Bestellung zwischen ihnen abzuschließen. Gamma Markets schließt diese Lücke, ohne das NIP-99-Listing-Format selbst zu verändern, sodass bestehende NIP-99-Listings ohne Änderung gültig bleiben.

Implementierungen

  • Shopstr - Nostr-Marktplatz, eines der vier Projekte, die die Spezifikation verfasst haben
  • Conduit Mono - Marktplatz-Protokoll, das seinen eigenen Bestellstatus- und Checkout-Ablauf im selben Designraum aufbaut

Primärquellen:

Erwähnt in:

Siehe auch: