BigCommerce cost vs self-hosted Medusa

Self-hosting Medusa replaces BigCommerce subscription fees with infrastructure, implementation, migration and upkeep you pay for and operate. This page shows how to compare the two on your own numbers.

On this page

Does self-hosted Medusa cost less than BigCommerce?

A renewal, a plan change or a data residency requirement usually forces this question, and the honest answer is that it depends on your order volume, your team and how much of the storefront you build yourself, not on a license fee. The Medusa core is MIT licensed, so there is no license fee to pay for the framework itself. The cost moves into infrastructure, build work and ongoing operations. BigCommerce's prices must come from your own contract or the current pricing page, so pull the plan fees, transaction or add-on charges and any app subscriptions you rely on before you model anything.

A self-hosted Medusa deployment carries recurring infrastructure costs for a PostgreSQL database, a Redis database, S3-compatible file storage and two Medusa instances, one in server mode for the API and admin dashboard and one in worker mode for background tasks. Ask your team or partner to price each of these in your own cloud account, then add the payment, search and email services you will connect, the storefront hosting, monitoring and backups. Build and migration work is largely one-time, but upgrades, security patching and on-call support recur. Medusa runs database migrations through a predeploy script before each startup, so plan a staging environment where those migrations are tested before production.

Check the licensing boundary before you commit. Medusa is open core: Enterprise Edition features based on role-based access control require a commercial agreement with MedusaJS, Inc. If your admin permissions model depends on those roles, add that agreement to the cost comparison as a recurring item, and confirm its terms in writing. Medusa is also available as Medusa Cloud managed hosting, which changes the infrastructure line in your model. Request a written scope and a quote from each option, and compare the totals over the same period, including the years of operation you expect to carry.

Which cost components move when you leave BigCommerce for Medusa

This table compares each cost component of a BigCommerce store with the same component in a self-hosted Medusa deployment, and marks whether it is one-time or recurring. The BigCommerce figure is set by your contract, while Medusa's core framework carries no license fee, so the real comparison sits in hosting, build, services and staff time. Read each row as a question to answer with your own quotes and usage data.

Cost componentBigCommerce sideSelf-hosted Medusa side
Software subscription or licenseRecurring plan fee set by your BigCommerce contract, with the tier tied to plan features and API limitsCore framework is MIT licensed, so the license cost is zero; Enterprise Edition features need a commercial agreement with MedusaJS, Inc. (recurring if used)
Hosting and infrastructureIncluded in the SaaS fee, so there is no separate server billRecurring cloud or data center charges for Medusa server and worker instances, PostgreSQL, Redis and S3 file storage
Storefront buildOne-time work to build or adapt a storefront, plus ongoing front-end maintenanceOne-time build of a storefront that calls the Medusa API, plus recurring front-end dependency upgrades
MigrationOne-time export through the Catalog API, mapping of catalog data, customers and orders, and redirectsOne-time import, mapping and validation work, usually the largest single project cost; confirm scope in a written quote
Payment and search servicesRecurring payment processing and any search add-ons, priced by BigCommerce or third partiesRecurring fees for your chosen payment providers and any hosted search service, which you contract directly
Upgrades and patchingHandled by BigCommerce as part of the platform serviceRecurring effort to apply Medusa version upgrades, run predeploy migrations and test releases
SupportIncluded in the plan or purchased tier, with the scope set in your contractRecurring cost of a retainer, internal staff or both; a DeployOpen retainer is quoted from written scope
Internal skills and staffingSmaller team for store administration and app managementRecurring need for Node.js, TypeScript and PostgreSQL skills, plus on-call coverage for production

What moves the comparison most

The gap between a BigCommerce plan fee and a self-hosted Medusa stack is shaped less by the software than by how much work sits behind it. The drivers below set how many components you run, how often you change them, and who carries the on-call and upgrade load.

Catalog and order volume

Volume drives the size of the Medusa database, the number of server and worker instances you size, and how much you pay for managed PostgreSQL and Redis. It also changes the cost of the one-time catalog extraction, because the Catalog API applies rate limits set by plan, so a large catalog takes longer to move. Ask your partner to estimate extraction time from your actual product, variant and image counts, and ask your hosting provider how storage and backups scale with order history.

Number of storefronts and channels

Each additional storefront, region or sales channel adds a frontend build, a deployment pipeline and content to maintain, even when they share one Medusa backend. On BigCommerce these are largely configuration inside one plan, while on Medusa they are engineering work you pay for once and then maintain. Confirm whether you need separate storefront deployments or one codebase with regional configuration.

Need for Enterprise Edition features

Medusa's core framework is MIT licensed, but Enterprise Edition features based on role-based access control require a commercial agreement with MedusaJS, Inc. If your admin team needs granular permissions, that line item can change the total cost more than hosting does. Ask the vendor which capabilities sit in Enterprise Edition and whether the license is per instance, per seat or per year before you build the business case.

Availability expectations

A hosted BigCommerce store carries uptime on the vendor's platform, while a self-hosted Medusa store makes you responsible for redundant application instances, database failover, Redis availability and backups. Higher availability targets push up spend on high availability hosting, monitoring and on-call coverage. Write down the uptime you need and who answers the page at night, and ask your hosting provider what availability terms apply to each managed service.

B2B and custom checkout scope

Standard checkout is largely covered by Medusa's commerce modules, but B2B pricing, quote flows, approval chains and custom checkout logic usually become custom modules or workflows that someone must write, test and maintain. On BigCommerce, many of these needs are met through apps with their own subscription fees. Map each B2B and checkout requirement to either a paid app or a build item so the comparison counts both sides.

In-house engineering skills

The skills you already have decide whether self-hosting is a modest ongoing cost or a standing hiring need. Running Node.js, TypeScript, PostgreSQL and Redis, applying migrations through the predeploy step on every release, and managing secrets for the server and worker all require ownership. If that skill set is missing, budget for a partner retainer or contract staff, and compare that recurring cost against the plan fee you would stop paying.

What running Medusa in production actually requires

A self-hosted Medusa store is not a single application. The production setup needs a PostgreSQL database, a Redis database, a Medusa instance in server mode for the API and admin dashboard, and a second Medusa instance in worker mode for background tasks. Each of these is a separate line item in the budget. The database and Redis services are paid for either as managed cloud services or as virtual machines you patch, back up and monitor, and the two Medusa instances are compute you size, scale and restart. Before a cost comparison with a SaaS plan means anything, ask who provisions, monitors and recovers each of these four components.

Production mode also swaps the development defaults for shared services. According to the Medusa deployment docs, Redis then backs caching, the event bus, the workflow engine and locking, so Redis availability affects checkout and order processing, not only speed. File storage moves to S3 or an S3-compatible bucket, which means a storage account, access policies and backup rules that a SaaS plan previously handled. Confirm with your platform team whether Redis will be a managed service with failover or a single self-managed node, because that choice drives both the recurring cost and the outage risk.

Two operational steps recur on every release. Medusa runs database migrations through a predeploy script before each startup, so your deployment pipeline needs a controlled window and a tested rollback path for schema changes. Each server and worker instance also needs database credentials plus COOKIE_SECRET and JWT_SECRET values, which must be generated, stored in a secrets manager and rotated under a written process. Your deployment should check the /health endpoint before routing traffic. Add these tasks to the internal runbook and assign an owner, because they are the work a SaaS provider currently absorbs.

How to build the comparison with your own numbers

This sequence turns a vague sense that self-hosting is cheaper or dearer into a three-year model built from your own BigCommerce invoices, your own cloud prices and a written migration quote, so both sides are costed on the same basis.

  1. Collect twelve months of BigCommerce invoices

    Finance and the store owner gather the last 12 months of BigCommerce plan invoices, including any overage, payment gateway or transaction charges that appear on the same statements. Split recurring subscription fees from variable fees, because only the recurring part carries forward into a three-year model. The step is done when every line item is tagged as recurring or variable and the total for the year reconciles to the bank statements.

  2. Inventory every app and integration

    The store administrator lists each installed app, custom integration, webhook, ERP or warehouse connector, and marketing tool that touches the store, with its monthly fee, its owner and what data it reads or writes. Some apps are free on the surface but depend on a paid service, so note those dependencies too. The step is complete when every app has a replacement candidate on the Medusa side, whether a module, a plugin you build, or a third-party service, and when apps with no replacement are flagged as scope risks.

  3. Price each Medusa hosting component

    The platform or infrastructure lead prices each component from your chosen cloud provider or data center: the Medusa server instance for the API and admin dashboard, the Medusa worker instance for background tasks, the PostgreSQL database, the Redis database and the S3-compatible file storage. Ask for a monthly figure per component at your expected peak and at redundant capacity, and add staging and backup copies. The step is done when each component has a quoted monthly cost and a note on what scales it.

  4. Quote build and migration as a fixed scope

    Request a written, fixed-scope quote for storefront build, catalog and customer migration, app replacement, redirects for SEO URLs and cutover testing from an implementation partner, and ask internal teams to estimate their own time. The quote should name the deliverables and what is excluded, so that the one-time cost is comparable with the subscription fees you already pay. The step is complete when build and migration appear as one-time costs with a written scope behind each number.

  5. Add payment and search provider costs

    Model the payment gateway and search service on both sides, since they often change with the platform. Ask your payment provider whether its fees differ for a self-hosted integration, and check whether search runs on a hosted service or on a self-managed engine that also needs hosting. The step produces a monthly figure for payments and search that is independent of the platform choice, so it can be compared line by line.

  6. Add upgrade, patching and support cost

    Estimate the recurring work of keeping a self-hosted Medusa store current: framework upgrades, database migrations that run before each startup, dependency patching, monitoring, backups and on-call coverage, either from internal staff time or from a retainer. Compare this with what the BigCommerce plan covers today, since the vendor operates and patches the hosted service. The step is done when upgrade and support appear as a recurring line with a named owner and a stated basis for the estimate.

  7. Model three-year totals for both sides

    Build a three-year table with one-time costs in year one and recurring costs in each year, once for BigCommerce with its current apps and once for self-hosted Medusa with the components above. Add a sensitivity row for traffic growth and for one additional app, so the reader sees what moves the result. Illustrative example: if the one-time build cost is high but the recurring BigCommerce fees are also high, the crossover point appears only in the model, which is why the table must use your figures. The step is complete when both totals are on one page with their assumptions listed next to them.

How the cost picture differs by team and starting point

A team that already runs Node.js services and PostgreSQL in production has the skills to operate Medusa, so most of the change is in how existing labor is allocated. The SaaS fee goes away, but the work of hosting, patching and monitoring the store moves onto engineers who already have other responsibilities. Medusa needs a PostgreSQL database, a Redis database, and two instances, one in server mode for the API and admin dashboard and one in worker mode for background tasks, so the infrastructure line is recurring and grows with traffic.

  • Infrastructure: Expect recurring cloud or data center charges for the server instance, the worker instance, PostgreSQL, Redis and S3-compatible file storage.
  • Build work: The storefront is a separate build, often a one-time project that engineers can scope internally or hand to an agency.
  • Upgrades: Each Medusa release and its database migrations run through the predeploy script, so budget recurring time for testing upgrades.
  • Payments and search: Payment provider and search service fees continue regardless of platform and must be mapped one by one.
  • Support: Internal staff replace vendor support, so the cost is on-call time and incident response.

Confirm first whether the team has on-call coverage for a commerce workload and how much of its current capacity is already committed to other products.

Costs teams forget on each side

A BigCommerce plan fee is only one line in the comparison. Running Medusa shifts several costs onto your team, and some BigCommerce costs disappear only after the cutover is complete. The cards below list the items that most often go missing from a first estimate.

BigCommerce app subscriptions

Many stores pay monthly fees for apps such as reviews, search, subscriptions or shipping rules, and those fees are often billed outside the main plan. Each app needs a replacement, either a Medusa module, a third-party service or custom code, and that replacement carries its own cost. Ask finance to list every app invoice for the last twelve months, then mark which ones have a self-hosted or open-source equivalent.

Storefront rebuild and theme work

Medusa supplies the commerce backend and APIs, but the storefront is code your team or a partner builds and maintains. Theme design, product pages, cart and checkout flows, and accessibility testing all need developer time before launch. If you currently use Catalyst or a BigCommerce theme, confirm how much of that front-end work can be reused.

Payment gateway and PCI DSS scope

Your gateway contracts and card data handling may change when checkout moves off BigCommerce. Confirm with each payment provider whether a new integration, a new merchant agreement or a new attestation is required. Also confirm with your QSA or acquirer how the self-hosted checkout changes your PCI DSS scope, because the hosting environment and the servers you operate become part of the assessed environment.

Search, monitoring and backup services

Hosted BigCommerce includes platform-level search, uptime monitoring and backups that your team must now provide. Plan for a search engine, log and metrics tooling, scheduled PostgreSQL backups and tested restores, and an S3-compatible bucket for files. Each of these is a recurring line item, and each needs an owner who responds when something breaks at night.

Medusa release tracking and upgrades

Medusa ships new releases often, and each self-hosted deployment runs database migrations through a predeploy script before startup. Your team must read release notes, test migrations in staging, and schedule upgrades for both the server and worker instances. Budget this as ongoing engineering time, not a one-time task, and ask any partner to name who handles upgrades after launch.

Cutover staff time and SEO redirects

Cutover consumes staff time from merchandising, customer service, finance and engineering over several weeks. Keep the BigCommerce store live until images, customers and orders are verified in the new system, and map every old URL to a new one with permanent redirects so search rankings and bookmarks survive. Ask for a written redirect map and a rollback plan before you set a go-live date.

Questions buyers ask before comparing BigCommerce and Medusa costs

How long does a BigCommerce to Medusa migration take?

The duration depends on catalog size, the number of custom fields and metafields, how much storefront you rebuild, and how many integrations you must reconnect. No public figure applies to every store, so ask any implementer for a duration tied to a written scope with named deliverables. Extraction through the Catalog API is usually a small part of the schedule. Storefront work, payment and search setup, and SEO redirect testing usually take more time.

Can our own team run a Medusa migration without outside help?

Yes, if you have engineers comfortable with Node.js, TypeScript, PostgreSQL and Redis. Medusa's deployment documentation covers the database, cache, event bus and worker setup, but it does not replace architecture decisions, data mapping or hardening. Teams without that depth often bring in an implementation partner for a fixed scope, then keep the platform in-house. Confirm your skills against the deployment docs before deciding.

What does a Medusa deployment ask of our engineers?

Plan for the full runtime, not just the storefront. A self-hosted Medusa deployment needs a PostgreSQL database, a Redis database, and two Medusa instances: one in server mode for the API and admin dashboard and one in worker mode for background tasks. Each needs database credentials plus COOKIE_SECRET and JWT_SECRET values. Migrations run through a predeploy script before each startup, and a deployment is checked through the /health endpoint. Your engineers also own S3 file storage, monitoring, backups and the storefront build.

What costs recur after a self-hosted Medusa launch?

Recurring costs are the infrastructure and the people who keep it running. These include the database and cache hosting, the server and worker instances, S3 storage, payment and search service fees, monitoring, backups, and staff time for upgrades and security patches. Medusa's core is MIT licensed, so there is no license fee for the open core, but Enterprise Edition features based on role-based access control require a commercial agreement with MedusaJS, Inc. Ask whether you need those features before you budget. BigCommerce's plan fees end when you cancel, while these costs continue for as long as you run the store.

Do BigCommerce Catalog API rate limits change the extraction cost?

They can change the timeline and the engineering effort, though not the license cost. The Catalog API manages products, categories, brands, bulk pricing rules, variants, images, custom fields and metafields, which gives you a programmatic path for extraction. Large catalogs mean more paged requests, and rate limits set by your BigCommerce plan determine how long a full pull takes. Ask your implementer to state how rate limits were accounted for in the scope, and to name who runs the extraction and retries.

Is Medusa Cloud a middle option between BigCommerce and self-hosting?

Yes. Medusa is available as Medusa Cloud managed hosting or self-hosted, so you can move the framework without taking on every server task yourself. Managed hosting shifts infrastructure operation to the vendor, but you still need to compare its terms, data location, backup and support commitments with your own hosting costs. Ask Medusa for current hosting terms in writing, and check which Enterprise Edition features are included before you decide.

What should we ask for in a written quote for this migration?

Ask for a fixed scope that lists each deliverable: catalog extraction, data mapping, customer and order import, storefront rebuild, payment and search setup, SEO redirects, hosting configuration, backups, and handover documentation. Request the assumptions behind each line, including catalog size, custom field count and rate limit handling. Ask which costs are one-time and which recur, who pays each third-party service, what testing is included, and what post-launch support is available as a separate retainer. Confirm acceptance criteria before work starts.

What a fixed-scope implementation covers

If you choose to run Medusa yourself, DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents the self-hosted platform inside your own infrastructure, whether that is your cloud accounts, a data center or an air-gapped network. For a Medusa store, that work typically spans the Node.js and TypeScript server and worker instances, the PostgreSQL and Redis services, S3 file storage, the predeploy migration step, the storefront deployment and the connections to your payment and search providers. The point of a fixed-scope engagement is that each of those components is named in the written scope, so you can see what you are buying before any work starts.

Most engagements are fixed-scope, which means the scope, deliverables and timelines are agreed in writing before work begins. Ask the provider to list each component, who operates it after handover, which secrets and health checks are verified (for example, the /health endpoint and the COOKIE_SECRET and JWT_SECRET values for each instance), and what documentation and runbooks you receive. Ask also which items are excluded, such as catalog extraction from BigCommerce, storefront redesign or third-party extension work, because those are the items that most often move a quote.

Ongoing support, upgrades and continuous security testing are available as retainers rather than bundled into the build. Medusa releases, PostgreSQL and Redis versions and the storefront framework all change over time, so the recurring cost depends on how often you expect to upgrade and who owns patching. DeployOpen does not publish a price list. A quote follows from the written scope, so the most useful step is to bring your component inventory, expected traffic profile, and integration list to a scoping conversation and ask for each cost line to be itemized.

How DeployOpen scopes a Medusa cost model and implementation

DeployOpen is a Chainscore Labs company that plans, implements, hardens, backs up and documents self-hosted open-source platforms inside your own infrastructure. For BigCommerce cost vs self-hosted Medusa, we start by turning the subscription bill into a component-by-component model that your team can check against its own environment.

How we scope

  • We list every cost component: hosting, PostgreSQL, Redis, server and worker instances, storage, search, payments and staff time.
  • We separate one-time work such as catalog migration and storefront build from recurring costs such as hosting, patching and support.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before any work starts.

How we build

  • We deploy Medusa server and worker instances with production Redis, S3 file storage and the predeploy migration step.
  • We set up database credentials, COOKIE_SECRET and JWT_SECRET handling, and check each deployment through the /health endpoint.
  • We run security testing on the storefront, APIs and infrastructure before the cutover is approved.

How we hand over

  • You receive a documented cost model that maps each line of your current SaaS invoice to its self-hosted replacement.
  • We document the runbooks for upgrades, backups, restores and secret rotation so your team can operate the stack.
  • We prepare configuration, controls and evidence for your compliance assessment, which independent auditors then assess.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer, scoped separately from the build.
  • Retainers can cover Medusa version upgrades, dependency patching and periodic security testing of your store.
  • Ask for a quote that states which hosting, search and payment services are included and which remain your own contracts.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.