Backend Architecture
Mercur’s backend is built directly on top of the Medusa Framework.Instead of replacing Medusa or hiding its internals, Mercur uses Medusa’s native plugin mechanism to introduce all marketplace logic-keeping the entire system transparent, modular, and fully extensible. This allows developers to build custom marketplace functionality the same way they would build a custom Medusa project, while also having access to Mercur’s marketplace services, workflows, and APIs.
Check Mercur main repository:
Github
Architecture Overview
Mercur extends Medusa through a set of modular Medusa plugins.Together, Medusa + Mercur form a single backend application with a unified API surface.

1. Medusa Core (commerce engine)
Handles core commerce primitives: products, pricing, carts, orders, customers, payments, inventory, fulfillment, etc.2. Mercur (marketplace engine)
Adds marketplace domain logic: sellers, commissions, moderation, requests, reviews, payouts, multi-vendor flows, and vendor-facing APIs.3. Customization Layer (your code)
Your project’s own routes, modules, workflows, links, subscribers, and custom rules - built exactly the same way you customize a standard Medusa project. You can extend both Medusa and Mercur through this customization layer.This gives you access to all Medusa APIs and all Mercur APIs as one combined system, while keeping your domain-specific logic separated and easy to maintain.
Plugin-Based Marketplace Architecture
Mercur is delivered as a collection of Medusa plugins, each implemented as a separate npm package. This has several advantages:- Install only the packages your project needs
- Keep upgrades isolated and predictable
- Clean overrides and customizations
- Full compatibility with Medusa’s architecture
- Your custom code stays separate from Mercur’s internals
@mercurjs/framework@mercurjs/b2c-core@mercurjs/commission@mercurjs/requests@mercurjs/reviews@mercurjs/algolia@mercurjs/resend@mercurjs/payment-stripe-connect
Unified Medusa + Mercur API
Because Mercur is implemented as Medusa plugins, the backend exposes one unified API containing:- All Medusa Admin API endpoints
- All Medusa Store API endpoints
- All Mercur Admin API endpoints
- All Mercur Vendor API endpoints
- All Mercur Store API endpoints
Three APIs and Actors
Mercur introduces three API surfaces built on Medusa’s routing system:Admin API
For platform operators managing the marketplace.Vendor API
A dedicated API for sellers, giving access only to their own products, orders, reviews, and Marketplace features.Store API
Customer-facing commerce operations. Mercur defines three actors:- User (Admin)
- Seller
- Customer
Customizing Mercur
Everything in Mercur is built using Medusa Framework conventions, which means you can customize Mercur in the exact same way you customize any Medusa project - modules, workflows, routes, links, subscribers, scheduled jobs, data models, and more. Learn more about the underlying customization patterns in theFramework section.
Using the Mercur CLI
The Mercur CLI provides the fastest path to starting a project.It automatically:
- scaffolds a full Medusa application
- installs and configures all Mercur packages
- prepares environment variables
- seeds initial data
- and creates a clean, empty customization layer for your project code
- A ready-to-run Medusa + Mercur backend
- Clear separation between Mercur code and your custom code
- A structure designed for maintainability and upgrades
- Full access to Medusa and Mercur APIs out of the box
a fresh customization layer on top of a fully wired marketplace engine.
Why This Architecture Matters
This design gives you:- All of Medusa’s flexibility
- All of Mercur’s marketplace capabilities
- Safe and predictable upgrades
- Separation of your custom logic from vendor code
- Long-term maintainability
- No vendor lock-in (MIT-licensed, plugin-based, transparent)
- A single, unified backend instead of a distributed patchwork