Catalog = Medusa’s Product module + Mercur’s marketplace layer. Products,
variants, categories, and collections are Medusa’s native
Product module.
Mercur adds the product_seller allowlist (which stores may sell a product),
the draft → proposed → published / rejected status lifecycle, and its
own product workflows. Products are shared master products, not
seller-owned, and a store sells one via an offer.Key features
- Shared master data: products live in one catalog, not owned by any store. Creating a product adds it to the shared catalog.
- Allowlist access control: the
product_sellerlink governs which stores may sell a given master product. - Approval governance: a
draft→proposed→published/rejectedlifecycle, with vendor-created products defaulting toproposed. - Attribution, not ownership: the creator of an unreviewed submission is recorded for audit, but the product still belongs to the shared catalog.
- Native Medusa structure: variants, categories, collections, tags, and types come straight from Medusa’s Product module.
- Sold via offers: a store lists a master product by creating an offer that carries its SKU, price, and inventory.
Get started
Learn how the domain fits together.Master products
The shared catalog, why products aren’t seller-owned, and submission attribution.
The store allowlist
The
product_seller link that controls who may sell a product.Status lifecycle
Draft, proposed, published, and rejected, plus how products move between them.
Variants & categories
Variants, categories, collections, tags, and types from Medusa’s Product module.
Examples
Build against the Catalog domain in your own code.Create a master product
Run
createProductsWorkflow from a route or seed script.Allowlist stores
Grant and revoke a store’s right to sell a product in code.
Publish or reject
Move a proposed product to published or rejected.
Resources
Data models, workflows, service methods, and events for the Catalog domain.Data models
The
Product, ProductVariant, ProductCategory, and the product_seller table.Links
How the catalog links to sellers, offers, attributes, and media.
Workflows
Mercur’s product create, review, and allowlist workflows.
Service
Medusa’s Product module service, resolved with
Modules.PRODUCT.Events
Events emitted as products are created and reviewed.