T-shirts, cassettes, vinyl, you name it, hoodies, undies, socks, anything and everything band related. Record shops, distros, everyone welcome.
Musiquay is where the scene lives — and the scene runs on physical objects. T-shirts at the merch table. Vinyl at the record shop. Cassettes from the distro. Patches from the band's webstore. Posters from the designer. The physical economy of music is massive, fragmented, and underserved by every existing platform.
Bands and labels should be able to catalog and sell merchandise directly from their Musiquay profiles. Record shops — who have always struggled with websites and payment infrastructure — should be able to list their inventory and sell to anyone. Distros should be able to catalog what they carry and connect with artists looking for distribution. Fans should be able to resell merch and rare pressings to each other.
All on the same protocol. Same identities. Same payment infrastructure. Zero platform cut.
The merchandise system serves four distinct but interconnected use cases:
All four use cases share the same protocol primitives, the same payment rails, and the same principle: Musiquay is the infrastructure, not the middleman.
Nostr already has two relevant specs, and they map cleanly to the different selling patterns.
NIP-15 is designed for merchants selling products. It provides:
| Event Kind | Purpose | Musiquay Usage |
|---|---|---|
| Kind 30017 | Stall — a named collection of products with currency and shipping zones | Artist merch store, record shop inventory, distro catalog |
| Kind 30018 | Product — a single item for sale with price, quantity, images, specs, and shipping | Individual merch items, records, physical releases |
Key NIP-15 features:
specs key-value pairs. Specs handle size options, color variants, format details, condition grading — anything.NIP-15 is the right protocol for ongoing storefronts — artists selling merch, record shops listing inventory, distros cataloging their stock.
NIP-99 (kind 30402) — already used by the services marketplace — is better suited for one-off resale:
NIP-99 provides price, location, status (active/sold), images, and free-text description — everything a classified ad needs without the overhead of stalls and shipping zones.
| Scenario | Protocol | Why |
|---|---|---|
| Artist selling merch (ongoing store) | NIP-15 | Multiple products, structured inventory, shipping zones |
| Record shop listing inventory | NIP-15 | Large catalog, structured specs (format, condition, edition), shipping |
| Distro cataloging stock | NIP-15 | Structured catalog with format details and availability |
| Label selling physical releases | NIP-15 | Multiple editions, structured product data |
| Fan reselling a rare pressing | NIP-99 | One-off listing, simpler structure |
| Fan selling old merch | NIP-99 | One-off classified ad |
| Pre-order for upcoming release | NIP-15 | Product with future availability date, structured edition data |
Every artist and label on Musiquay can run a merch store directly from their profile. No third-party platform. No embedded Shopify. No platform cut.
Anything band-related:
NIP-15 product specs handle the complexity of physical goods:
{
"id": "bnd-tshirt-skull-2026",
"stall_id": "band-name-merch",
"name": "Skull Design T-Shirt",
"description": "Screen printed on heavyweight cotton. Design by [tagged designer].",
"images": ["https://blossom.musiquay.com/<hash-front>", "https://blossom.musiquay.com/<hash-back>"],
"currency": "EUR",
"price": 25.00,
"quantity": 150,
"specs": [
["sizes", "S, M, L, XL, XXL"],
["color", "Black"],
["material", "100% heavyweight cotton"],
["print-method", "Screen print"],
["designer", "<designer-pubkey>"]
],
"shipping": [
{"id": "eu", "cost": 5.00},
{"id": "worldwide", "cost": 12.00}
]
}
When an artist or label sells physical music, the product links to the edition data from the release credits system:
{
"id": "album-vinyl-first-press",
"stall_id": "band-name-releases",
"name": "Album Name — Vinyl (First Pressing)",
"description": "180g black vinyl in gatefold sleeve. Mastered for vinyl by [tagged engineer].",
"images": ["https://blossom.musiquay.com/<hash>"],
"currency": "EUR",
"price": 28.00,
"quantity": 200,
"specs": [
["format", "vinyl"],
["weight", "180g"],
["color", "black"],
["sleeve", "gatefold"],
["catalog", "ABC-001"],
["a", "32216:<label-or-artist-pubkey>:<edition-d-tag>"],
["a", "32211:<publisher-pubkey>:<album-d-tag>"]
],
"shipping": [
{"id": "eu", "cost": 6.00},
{"id": "worldwide", "cost": 15.00}
]
}
The a tags link directly to the edition event (32216) and album event (32211) — full provenance. Pressing plant, mastering engineer, catalog number, batch size — it's all there, one tap away from the product listing.
Artists can list products with future availability:
Ties into release countdowns from FEATURES_CALENDAR.md — the countdown event and the pre-order listing can reference the same release.
The merch itself has credits, connecting to the roster and credits systems:
designer spec linking to a pubkey).Everyone who made the physical object gets credited. The screen printer is part of the scene too.
This is huge. Independent record shops have always struggled with web presence and online sales. Building a website is expensive. Setting up payment processing is a pain. Maintaining an online catalog is a full-time job.
Musiquay gives them all of this for free.
A record shop is a Nostr identity on Musiquay — a keypair with a profile, just like an artist, a venue, or a promoter. Their profile includes:
A record shop's inventory is one or more NIP-15 stalls. Each product (record) is structured:
{
"id": "stock-item-12345",
"stall_id": "loja-do-som-vinyl",
"name": "Artist Name — Album Title",
"description": "Original 1st pressing. Sleeve VG+, media NM. Includes insert.",
"images": ["https://blossom.musiquay.com/<hash>"],
"currency": "EUR",
"price": 35.00,
"quantity": 1,
"specs": [
["format", "vinyl"],
["condition-media", "NM"],
["condition-sleeve", "VG+"],
["pressing", "1st pressing, 1987"],
["catalog", "SST-065"],
["includes", "insert"],
["a", "32211:<publisher-pubkey>:<album-d-tag>"],
["a", "32216:<label-or-artist-pubkey>:<edition-d-tag>"]
],
"shipping": [
{"id": "local-pickup", "cost": 0},
{"id": "pt", "cost": 4.00},
{"id": "eu", "cost": 8.00}
]
}
Key features for record shops:
Record shops are physical places. The calendar and location system applies:
A record shop's Musiquay presence IS their web presence:
They list records. People find them. People buy. Money goes directly to the shop's Lightning address or custodial account. Done.
Distribution labels and independent distributors occupy a unique niche — they're the connective tissue between artists/labels and the wider world.
A distro is a Nostr identity that:
The distro system creates matchmaking between creators and distributors:
Distro relationships overlap with the services marketplace:
Fans resell merch and physical music. This is where the Discogs marketplace angle lives — but on Nostr, with Lightning payments.
Resale uses NIP-99 classified listings (kind 30402) — the same protocol as the services marketplace, applied to physical goods:
{
"kind": 30402,
"pubkey": "<seller-pubkey>",
"content": "Selling my copy. Played a handful of times, basically mint. Shipping from Porto.",
"tags": [
["d", "resale-album-vinyl-001"],
["title", "Artist Name — Album Title (Vinyl, 1st Pressing)"],
["summary", "NM/VG+. Original 1st pressing with insert."],
["published_at", "1740000000"],
["location", "Porto, Portugal"],
["g", "ez3qe"],
["price", "45", "EUR"],
["t", "vinyl"],
["t", "resale"],
["t", "post-punk"],
["t", "1st-pressing"],
["image", "https://blossom.musiquay.com/<hash>"],
["status", "active"],
["a", "32216:<label-or-artist-pubkey>:<edition-d-tag>", "wss://relay.musiquay.com"]
]
}
When a resale listing references an edition event from FEATURES_CREDITS.md, the buyer gets full provenance:
This is what Discogs does, but on an open protocol with cryptographic identity. The seller is a real Nostr pubkey with a scene graph history, not an anonymous username.
The combination of edition tracking and resale listings creates a collector's paradise:
Not just records — fans resell all kinds of merch:
The same NIP-99 listing format handles all of it. Tags categorize by type, condition, and relevance.
The merchandise system introduces new participant types to the scene graph:
| Role | Description | Example Activity |
|---|---|---|
| Record Shop | Independent physical retail | Catalog inventory, sell new and used records, host in-store events |
| Distro | Distribution label / service | Catalog carried titles, connect with labels, ship to customers and retail |
| Merch Company | Screen printers, merch manufacturers | Print T-shirts, produce physical merch. Get credited on merch products. |
These join the existing participant types. A record shop is also potentially a venue (in-store events). A distro is also potentially a label. A merch company shows up on event rosters (produced the tour merch) and on product credits (printed the T-shirts). The scene graph handles the overlap naturally — it's all just Nostr identities with roles.
Same infrastructure, same principles:
Musiquay does NOT handle shipping or fulfillment. Sellers handle their own logistics — the same way they do on Bandcamp, Discogs, or any direct-sales model. The protocol structures the shipping zones and costs; the actual shipping is between seller and buyer.
Communication between buyer and seller happens via Nostr direct messages (NIP-17, NIP-44 encrypted) — address details, tracking numbers, delivery confirmations. Peer-to-peer, no platform involvement.
Physical releases for sale link to their edition data:
The merch system is the storefront for the credits system's catalog. One documents the record's history; the other sells it.
Merch and events are deeply connected:
The merch supply chain gets credited:
The merch ecosystem generates marketplace activity:
Every merch transaction and listing enriches the scene graph:
Boundaries, clearly stated:
| Concept | NIP | Notes |
|---|---|---|
| Stall (product collection) | NIP-15, kind 30017 | Merch stores, record shop inventory, distro catalogs |
| Product (item for sale) | NIP-15, kind 30018 | Individual merch items, records, physical releases with structured specs |
| Resale listing | NIP-99, kind 30402 | One-off second-hand sales. Same protocol as services marketplace. |
| Direct messages (buyer↔seller) | NIP-17 / NIP-44 | Shipping details, order communication |
| Edition linking | Custom (from FEATURES_CREDITS.md) | Product specs reference edition events for full provenance |
The merchandise system requires zero new custom event kinds. It reuses NIP-15 (structured marketplace) and NIP-99 (classifieds) entirely, with Musiquay-specific conventions for how specs and tags are used. This is the reuse-first NIP strategy at its best.
Open point — checkout transport. NIP-15 defines its type 0/1/2 checkout payloads inside NIP-04 messages, which are deprecated and are not available in the musiquay reference client (MLS only). The payloads themselves are fine; the transport needs re-homing to NIP-17 or MLS before implementation. See PROTOCOL_FLOWS.md.