Summary
While implementing the Gamma Markets spec, we noticed that Kind 16 (used for order processing) conflicts with NIP-18 Generic Repost. This causes clients like Amethyst to display order events as "reposts of nothing".
The Conflict
| Kind |
NIP Standard |
Gamma Markets Spec |
| 14 |
NIP-17 Chat messages |
General communication |
| 15 |
NIP-17 File messages |
(unused) |
| 16 |
NIP-18 Generic Repost |
Order processing ← conflict |
| 17 |
(unused) |
Payment receipts |
Question
Was Kind 16 intended to be Kind 14?
If all order communication used Kind 14 (with the type tag to differentiate message types), it would:
- ✓ Avoid the NIP-18 repost conflict
- ✓ Keep orders as private NIP-17 DMs (when wrapped in Gift Wrap)
- ✓ Work correctly in standard Nostr clients like Damus and Amethyst
- ✓ Use the existing
type tag (1-4) to distinguish order stages
Current Behavior
When a buyer places an order using Kind 16, clients that implement NIP-18 interpret it as a "Generic Repost" with no referenced event, showing confusing UI to users.
References
Thanks for clarifying!
FYI @IsaacWeeks
Summary
While implementing the Gamma Markets spec, we noticed that Kind 16 (used for order processing) conflicts with NIP-18 Generic Repost. This causes clients like Amethyst to display order events as "reposts of nothing".
The Conflict
Question
Was Kind 16 intended to be Kind 14?
If all order communication used Kind 14 (with the
typetag to differentiate message types), it would:typetag (1-4) to distinguish order stagesCurrent Behavior
When a buyer places an order using Kind 16, clients that implement NIP-18 interpret it as a "Generic Repost" with no referenced event, showing confusing UI to users.
References
Thanks for clarifying!
FYI @IsaacWeeks