withMercur() wraps defineConfig() and wires the marketplace layer in. You pass it the same shape you would pass to Medusa, plus one Mercur-specific field.
withMercur()
medusa-config.ts
InputConfigWithArrayModules extended with:
What withMercur applies
Everything else you pass is forwarded to
defineConfig() unchanged, so any valid Medusa configuration stays valid here.
Environment variables
The starter (apps/api and projects created with create-mercur-app) reads:
Dashboard modules
The admin and vendor dashboards are served by two UI modules:Stripe Connect payout provider
Register@mercurjs/payout-stripe-connect as a provider of the payout module:
The payout module itself also accepts scheduling options (
authorizationWindowMs, sellerActionWindowMs, captureSafetyBufferMs, requiredFulfillmentStatus). See the Payout module.