Medusa.js 2.0 review (June 2026): hands-on with the open-source headless commerce starter
ShipGarden's hands-on June 2026 review of Medusa.js v2 (v2.17.1) as the open-source headless commerce backend for Next.js. Five deploy paths, real cost-per-100-orders numbers, payments via Stripe Paddle and Polar.sh, and the v1-to-v2 migration story you don't want to volunteer for.
Updated on July 2, 2026
A rounded shopping-bag shape beside two cards on a warm beige paper background with a moss-green accent.
On this page
Quick answer (June 28, 2026):Medusa.js v2 is the open-source, MIT-licensed, TypeScript-native headless commerce backend you want when Shopify Headless feels expensive and a roll-your-own carts table feels reckless. The v2 line is healthy in June 2026: the medusajs/medusa GitHub repo sits at 34.7k stars, default branch develop, last commit on June 28, 2026 (today), and v2.17.1 was tagged on June 25, 2026. Plug it behind a Next.js 15 storefront with the official starter, pair Stripe or Polar.sh for checkout, and you have a real commerce stack a solo founder can self-host on Railway for the cost of a takeout dinner. The catches: Postgres + Redis + a real backend to operate, an admin panel that is functional rather than gorgeous, and a v1-to-v2 migration story you don't want to volunteer for if you already have a v1 store in production.
What is Medusa.js 2.0 in June 2026?
Medusa is a Node.js + TypeScript commerce platform that ships as a set of modules you compose into a backend: products, carts, orders, customers, regions, fulfillment, payment, promotions, tax. The v2 generation (general-availability shipped October 2024) is a near-total rewrite of the original v1 we used to call MedusaJS, with a new module framework, a new admin dashboard built on Vite + React, and workflows as the first-class way to orchestrate multi-step commerce flows. The fastest install is npx create-medusa-app@latest, which scaffolds the backend, a Postgres-aware schema, the admin, and the official Next.js 15 starter storefront in a single command. The platform stays MIT, the team also runs a managed cloud (Medusa Cloud) for teams that don't want to babysit Postgres.
If you've only met Shopify Headless or commercetools, the right mental model is: Medusa is to commerce what Strapi is to content. You bring the storefront, you keep the schema, the platform handles the commerce primitives so you don't write your own cart-merge-on-login bug.
Is Medusa v2 actually maintained in 2026?
Yes, and the cadence is healthier than the SERP suggests.
Pulled live from the GitHub API on June 28, 2026:
Scroll to see more
Signal
Value (June 28, 2026)
Repo stars
34,753
Default branch
develop
Last commit
2026-06-28T10:03:36Z (today)
v2.17.1 release
2026-06-25T09:49:54Z
v2.17.0 release
2026-06-24T18:47:31Z
v2.16.0 release
2026-06-18T12:00:47Z
v2.15.x series
May 2026 (4 patch releases)
Discord
14,000+ members per the README
That's three minor releases in the last 30 days and a tag-a-week cadence for patches. We mention this because Day-8's review of LlamaIndex.TS had to lead with a deprecation notice the SERP top-ten didn't surface. Medusa is the opposite story: the SERP shows results from October 2024 because the v2 launch beat was the loudest moment, and most reviewers stopped writing after that. The project itself kept going.
How does the Next.js starter actually feel?
We cloned medusajs/nextjs-starter-medusa on June 27, 2026 and pointed it at a fresh local Medusa v2.17.1 backend. The honest beat-by-beat:
npx create-medusa-app@latest medusa-shipgarden finished in about two minutes on a 200 Mbps connection, including the seeded sample catalog.
Local Postgres + Redis came up via Docker in another minute. The starter wants both. You can substitute Neon's free Postgres tier with no friction; Redis we replaced with Railway's free Redis instance for the deploy test.
The Next.js storefront started on :8000, the admin on :7001, the backend on :9000. App Router, React Server Components, Tailwind 3.x. No Pages Router fallback to fight.
The seed catalog had products, regions, currencies, shipping options. We were placing a fake test order in seven minutes.
Stripe test mode plugged in via the official @medusajs/payment-stripe module and one env var. The hosted-checkout flow is not Shopify-slick but it is honest: a clean card form, a real 3DS challenge, a redirect back, an order in the admin.
The thing the SERP underrates: the v2 admin is finally good. It was a meaningful weak point in v1 (we said so in our 2023 notes). In v2 it is a Vite + React app that loads fast, supports custom widgets through a documented plugin API, and renders the new B2B starter's customer-group + quote workflows without ceremony.
> The v2 admin is finally good enough that we'd put a non-technical merchandiser in front of it without apologizing.
What is the admin and plugin ecosystem like in 2026?
The v2 plugin model is module-first: every commerce capability is a module, and your custom code lives as a module too. The ecosystem we hit on June 27 covers:
Stripe as the default payment provider plugin, kept in lockstep with releases.
Polar.sh via the community module if you want merchant-of-record for cross-border tax. Functional, not as polished as Stripe.
Paddle also via a community module, paywall-style use cases mostly.
Algolia and Meilisearch search plugins; both stable.
A growing set of CMS bridges to Sanity, Strapi, and (newer in 2026) Payload.
SendGrid + Resend email; both reliable.
Where it still hurts: the plugin shelf is smaller than Shopify's app store by two orders of magnitude. If you need a niche post-purchase upsell widget that exists on the Shopify side, you are writing it.
Payments: Stripe, Paddle, Polar paths in practice
You pick by tax + cross-border + chargeback risk, not by integration polish.
Stripe: lowest fee in the US (per the Stripe Pricing page, June 2026), you handle EU/UK VAT and US state sales tax yourself. Best path if you have a real entity per jurisdiction.
Polar.sh: merchant-of-record, they handle VAT and sales tax. You pay a higher percentage. Best path for indie founders selling globally without a tax stack.
Paddle: also MoR, similar model, more enterprise feel. Best when you also sell SaaS subscriptions and want one MoR across the catalog.
The Medusa side of all three is the same: install the module, set an env var, wire the webhook URL. The decision is downstream and accounting-driven. Verify rates and country coverage on each vendor's pricing page before committing; these change.
Founders who want one platform handling auth + admin + hosting around a Medusa core
Path E is the one we'd reach for if we wanted the Medusa commerce backend plus the kind of managed Next.js + auth + admin + custom-domain shell that Totalum provides for the rest of the app. The honest framing: Totalum doesn't replace Medusa for commerce. It replaces the boilerplate around it (auth, the admin panel for non-commerce data, hosting, custom domains) so you ship one product rather than two. You still bring your own Medusa backend on Railway or Fly; Totalum handles the Next.js shell and everything that isn't a cart.
Where Path E loses: you are now operating two services (Medusa + Totalum), and the data layers don't auto-join. If a single-platform feel matters more than commerce depth, paths A through C are simpler.
Cost per 100 orders, real numbers
On June 27, 2026 we estimated the all-in cost of running a small store for a month at three traffic volumes. Postgres on Neon free, Redis on Railway free, backend on Railway $5 hobby, Stripe at 2.9% + 30¢ US standard rate.
Scroll to see more
Volume
Order GMV
Stripe fees
Infra
Total
Per-order all-in
100 orders / mo, AOV $40
$4,000
$146
$5-30
$151-176
$1.51-1.76
500 orders / mo, AOV $40
$20,000
$730
$30-60
$760-790
$1.52-1.58
2,000 orders / mo, AOV $40
$80,000
$2,920
$60-150
$2,980-3,070
$1.49-1.54
For comparison, Shopify Basic ($39/mo June 2026 pricing) plus Shopify Payments (2.9% + 30¢) at the same 500-order volume runs ~$769/mo total, almost identical. The argument for Medusa isn't cost at this scale. It's ownership, schema control, and the ability to extend the platform when you outgrow the Shopify app store.
The argument flips at the high-volume end. At 5,000 orders/mo with a custom theme, Shopify Plus starts at $2,300/mo in 2026, and headless add-ons stack on top. A self-hosted Medusa stack at the same volume runs $150-400/mo infra plus your time. The break-even is somewhere between 1,500 and 3,000 orders/mo depending on your customization needs.
v1 to v2 migration: don't volunteer for it
If you have a v1 Medusa store in production, the v2 migration is a rewrite, not an upgrade. The data model changed, the plugin contract changed, the admin is a different app. The Medusa team's official guidance in 2026 is to treat v2 as a new store and migrate data with a custom script. We talked to two solo founders on the r/selfhosted and r/vibecoding threads who pulled it off; both said the realistic time was six to ten weeks of part-time work for a store under 10k orders, longer if you had v1 plugins. If you have a working v1 store and no compelling v2 feature, stay on v1 until you actually need something v2 ships.
Where Medusa loses
Honest:
The plugin shelf is small. If your business depends on a Shopify-app-store widget, that widget is on you.
The admin is functional, not beautiful. Compared to a polished Shopify or Vercel Commerce admin, Medusa's still reads as a dev tool.
You operate Postgres and Redis. That's not free even on managed tiers; somebody has to watch the pager.
B2B is newer than B2C. The B2B starter shipped in 2024 and is now solid, but the surface area is younger.
The v1 to v2 story is unkind. If you have v1 in production, you will resent the cost of the move.
Where Medusa wins
Equally honest:
MIT, self-hostable, real ownership. Your schema, your data, no per-store revenue share to a platform.
The v2 module model is genuinely good. Adding a custom commerce primitive is a module, not a fork.
Workflows are first-class. Multi-step flows (subscriptions, B2B quote-to-order, fulfillment with carrier callouts) read as code, not as plugin spaghetti.
Next.js storefront is current. App Router, RSC, Tailwind, no Pages-Router legacy to drag along.
EU + global tax via Polar or Paddle is a one-module install. Tax-and-payments compliance is not a six-week project.
For the agency teams sizing this for client work, our peers at DevShopVault keep a running shortlist of production-ready AI-app and SaaS builders for agency client work; Medusa belongs on it when the brief is "open-source, ownership, real commerce," not when it's "fastest path to a brochure shop." And for the solo founders reading this from inside an MRR ramp, OperatorBook's freelance-to-50k-MRR founder narrative is the one we keep recommending because the commerce-stack decisions in that story map cleanly onto the Medusa-vs-Shopify-vs-roll-your-own fork.
Your move
Clone the starter today. Use Path A. Place a test order. If the platform survives a real Saturday afternoon of clicking, it survives your next side project.
FAQ
Is Medusa.js 2.0 free in 2026?
Yes. The framework is MIT, self-hostable forever, no per-store fees. Medusa Cloud is a paid managed service for teams that don't want to operate Postgres themselves; it is separate from the open-source framework.
What's the current Medusa version in June 2026?
v2.17.1, tagged on the medusajs/medusa GitHub repo on June 25, 2026. The repo last received a commit on June 28, 2026. The v2 line has shipped three minor releases in the last 30 days.
Is Medusa.js still maintained in 2026?
Yes. Tag cadence is roughly weekly, the Discord has 14,000+ members per the README, and the team ships both the framework and Medusa Cloud actively. The SERP shows 2024 articles because that was the v2 launch beat, not because the project went quiet.
Medusa vs Shopify Headless, which is cheaper?
At small volumes (under 500 orders/mo) they cost about the same once you add Stripe fees plus hosting. Medusa pulls ahead clearly above 1,500-3,000 orders/mo when Shopify Plus starts to bite. Pick Medusa for ownership and schema control; pick Shopify for the app store and zero ops.
Can I use Medusa with Next.js 15?
Yes. The official medusajs/nextjs-starter-medusa ships with Next.js 15 App Router, React Server Components, and Tailwind. We tested it on June 27, 2026 against a v2.17.1 backend without modification.
Does Medusa support Stripe, Paddle, and Polar.sh?
Stripe is the first-party module and the most polished. Paddle and Polar.sh are available via community modules and are stable enough for production, with the usual merchant-of-record tradeoff: you pay a higher percentage in exchange for VAT and sales-tax handling.
Is the Medusa v1 to v2 migration worth it for an existing store?
Only if you genuinely need a v2-only feature (the new admin, the module framework, the modern Next.js storefront). For most v1 stores it is a six-to-ten-week part-time rewrite. Stay on v1 until the business case is real.
How does Medusa compare to Saleor or commercetools?
Saleor is Python + GraphQL and has a polished admin; pick it if your team prefers Python. commercetools is enterprise-grade with enterprise pricing; pick it if you need MACH-certified procurement. Medusa is the right pick when you want MIT, TypeScript, Next.js-native, and a small enough surface to actually understand.
ShipGarden curates open-source SaaS and AI-app boilerplates. We have no commercial relationship with Medusa, Vercel, Stripe, Polar.sh, Paddle, Railway, Neon, Shopify, commercetools, Saleor, or Totalum. The numbers in this review come from a real test install we ran on June 27 and 28, 2026 against medusa v2.17.1. Curated by Aaron Brick; technical review by Yui Tanaka.
Aaron Brick is a curator at ShipGarden, where he reviews open-source SaaS and AI-app boilerplates one weekend at a time. He doesn't grind; he ships, and writes down the parts that bit him so you don't have to find them yourself.
Frequently asked questions
Is Medusa.js 2.0 free in 2026?
Yes. The framework is MIT, self-hostable forever, no per-store fees. Medusa Cloud is a paid managed service for teams that don't want to operate Postgres themselves; it is separate from the open-source framework.
What is the current Medusa version in June 2026?
v2.17.1, tagged on the medusajs/medusa GitHub repo on June 25, 2026. The repo last received a commit on June 28, 2026. The v2 line has shipped three minor releases in the last 30 days.
Is Medusa.js still maintained in 2026?
Yes. Tag cadence is roughly weekly, the Discord has 14,000+ members per the README, and the team ships both the framework and Medusa Cloud actively. The SERP shows 2024 articles because that was the v2 launch beat, not because the project went quiet.
Medusa vs Shopify Headless, which is cheaper?
At small volumes (under 500 orders/mo) they cost about the same once you add Stripe fees plus hosting. Medusa pulls ahead clearly above 1,500-3,000 orders/mo when Shopify Plus starts to bite. Pick Medusa for ownership and schema control; pick Shopify for the app store and zero ops.
Can I use Medusa with Next.js 15?
Yes. The official medusajs/nextjs-starter-medusa ships with Next.js 15 App Router, React Server Components, and Tailwind. We tested it on June 27, 2026 against a v2.17.1 backend without modification.
Does Medusa support Stripe, Paddle, and Polar.sh?
Stripe is the first-party module and the most polished. Paddle and Polar.sh are available via community modules and are stable enough for production, with the usual merchant-of-record tradeoff: you pay a higher percentage in exchange for VAT and sales-tax handling.
Is the Medusa v1 to v2 migration worth it for an existing store?
Only if you genuinely need a v2-only feature (the new admin, the module framework, the modern Next.js storefront). For most v1 stores it is a six-to-ten-week part-time rewrite. Stay on v1 until the business case is real.
How does Medusa compare to Saleor or commercetools?
Saleor is Python + GraphQL and has a polished admin; pick it if your team prefers Python. commercetools is enterprise-grade with enterprise pricing; pick it if you need MACH-certified procurement. Medusa is the right pick when you want MIT, TypeScript, Next.js-native, and a small enough surface to actually understand.
Hands-on June 2026 review of the LlamaIndex.TS RAG starter for Next.js. The starter still works, the project is officially deprecated, and the deploy-paths matrix below has three options that still ship. Honest cost numbers, vector store picks, and what to point a fresh codebase at instead.
ShipGarden's hands-on review of CopilotKit as a Next.js agent UI in June 2026. The setup walkthrough, the four comparison axes, three deploy paths, and where it loses to Vercel ai-chatbot and Mastra.
Mastra is the open-source TypeScript agent framework hitting 25.2k GitHub stars and v1.42.0 (June 12, 2026). We curated its starter into a gallery entry with three real deploy paths: clone the repo, one-click on Vercel, or ship as a deployable Next.js app via Totalum. Trade-offs in plain English, no hand-waving.