A store is the
Seller entity. The Admin and Vendor panels call it a “Store”.
The API and core modules call the same record a Seller (id prefix sel). You
never need to know Medusa to work with stores.Key features
- Role-based access control: many-to-many members, roles resolved per store, and a store switcher for users who belong to several stores.
- Store isolation: each store sees and acts on only its own data.
- Governed lifecycle: a four-state account model with operator-only transitions.
- Self-service onboarding: create stores yourself, or let sellers register publicly.
- Scheduled closures: temporary offline windows that don’t change account status.
- Premium placement: an operator-only flag the storefront uses for featured curation.
- Single-currency accounts: each store settles in exactly one currency.
Get started
Learn how the domain fits together.The store
The seller entity, its profile, currency, and business identity.
Team & members
Multi-user stores, roles, invites, and the store switcher.
Lifecycle
Statuses, transitions, scheduled closures, and premium.
Examples
Build against the Store domain in your own code.Create a store
Run
createSellersWorkflow from a route or seed script.Moderate stores
Approve, suspend, and terminate stores in code.
Manage the team
Invite and add members programmatically.
Resources
Data models, workflows, service methods, and events for the Store domain.Data models
The
Seller, Member, and related entities.Links
How the Store domain links to other modules.
Workflows
Seller and member lifecycle workflows.
Service
Module service methods for working with records directly.
Events
Events emitted as stores and members change.