The open-source commerce framework, free forever
One coherent commerce backend in a public repository, built on TypeScript, NestJS and GraphQL. Core is released under GPLv3, and everything in it stays free: catalogue, orders, customers, payments, the dashboard, the APIs and the plugin model. The paid plans add capabilities on top. They take nothing out.
Already running Core and hitting a limit? Starter, Growth and Scale add company accounts, quotes, contract pricing and approvals on a flat monthly price. Core keeps working exactly as it does today.
What free forever means in practice
GPLv3 cannot be revoked
A licence already granted cannot be withdrawn. The Core you run today stays free to use, fork and self-host whatever we do next.
The paid plans are additions
Nothing has been moved out of Core and behind a plan. The paid capabilities are new work built on top of it, not the good parts of a trial edition.
Your plugins stay yours
A plugin exception sits on top of GPLv3, so your own plugins and custom code are yours to license as you choose.
Built in public, on a cadence
Patch releases monthly, minors quarterly, with the issues, pull requests and roadmap public. You can watch a feature arrive and argue about it before it does.
What you get in Core, and keep
The whole framework, not a starter tier. A team can run a real commerce business on Core alone and never pay us anything.
The commerce fundamentals
Products, variants, stock, orders, customers, payments, shipping, promotions and tax, already built and wired together.
The admin dashboard
The full back-office application for catalogue, orders, customers and settings, extensible with your own routes, panels and actions.
A headless GraphQL API
Admin and Shop APIs, both introspectable, extensible and type-safe. No metered calls, no rate card, no gateway in front of them.
Multi-channel, multi-region, multi-currency
Channels, currencies, languages, tax zones and shipping regions are core concepts, not paid add-ons. Run several storefronts, brands or markets off one backend through channels. Rules that limit which records each brand's or region's admins can see are part of Enterprise.
Documentation, releases and community
Comprehensive docs, monthly patches, quarterly minors, and community support on Discord and GitHub. Paid plans add direct support from our team; they don't switch the free channels off.
Not a toy, not a black box, not a blank framework
Closed SaaS gives you a sandboxed scripting hook and a webhook contract, then stops. A DIY composable stack hands you primitives to assemble and a glue layer you maintain forever.
Vendure sits in between. The commerce fundamentals are already built and wired together, and the extension points are first-class: same backend as the core, same access to its services and data.
One coherent backend, not seven services to keep in sync
Catalogue, pricing, orders, customers, channels, the admin API, and the extension model all live in one NestJS application. You don't assemble Vendure Core from packages. You clone it, run it, and start extending where your business logic lives.
One repo, one data model, one set of APIs, already shaped like commerce.
The stack is Node.js, TypeScript end to end, NestJS, GraphQL for the storefront and admin APIs, and a SQL database your operations team already runs. Engineers who've never touched Vendure recognise the shape on day one, and hiring against this stack is hiring on the open market, not a niche skill set behind a paywall.
What you change, and how
Five primitives cover most of what a real commerce business needs to model and customise. Each is plain TypeScript, typed end to end, and lives next to the core rather than inside a fork you have to rebase.
Plugins as NestJS modules
A Vendure plugin is a TypeScript class with a decorator on a regular NestJS module. Services, resolvers, entities, event handlers, and scheduled tasks, all in one unit your engineers already know how to write.
Strategy patterns
Replace default behaviour without forking the core: order codes, tax calculators, shipping eligibility, stock allocation, asset storage, password hashing. Swap the default, keep the upgrade path.
Custom fields
First-class on every core entity. They propagate automatically into the GraphQL schema and the admin dashboard, with auto-rendered forms for each field type.
Custom entities
Model your own tables alongside Vendure's, sharing the same migration tooling and dependency injection your services use. New entity, new GraphQL types, no separate data layer to maintain.
Events, lifecycle, and jobs
Subscribe to typed commerce events, hook into the NestJS lifecycle, and schedule background work on Vendure's job queue, processed on a worker you scale independently.
Your extension is your API
Every extension builds on the same headless GraphQL API the core exposes: one introspectable schema, one codegen pipeline. Admin and Shop are both extensible, both type-safe, both consumed the same way as the rest of Vendure.
Add types, queries, mutations and resolvers from inside your own code, introspectable alongside the core's with full TypeScript types from codegen. No separate gateway, no REST proxy, no second API surface to keep in sync.
A single plugin can extend both APIs. Admin operations for back-office tooling and dashboard panels, Shop operations for storefronts and headless clients. Authentication, channel scoping, and permissions stay consistent across both surfaces.
Customisations live next to the core, not inside it
Your customisations are your code, in your repo. The Vendure core is upgraded as a versioned dependency, the way your team upgrades anything else, and type-safety catches breaking changes at compile time rather than at runtime in production.
No permanent fork to rebase, no upgrade you skip because the cost is too high.
Day-to-day tooling
Predictable patterns, real type safety, and tools that behave like a modern backend stack.
Type safety, end to end
From entity to service to GraphQL to the admin UI. Autocomplete and refactors work as they do in the rest of your services.
A CLI that scaffolds the boring parts
vendure dev for local work, plus scaffolding for plugins and entities, codegen, and migration helpers. Real ergonomics, not a handful of npm scripts.
Testing tools that look like your stack
The @vendure/testing package boots a real test server against a throwaway database with seeded data, in the Vitest or Jest patterns your engineers already know.
Migrations that just run
Migrations generate, review and apply with the patterns your operations team already runs. No proprietary deployment dance, no platform-specific migration DSL.
Standard runtime, standard storage, standard ops
Vendure runs on the building blocks your platform team already operates. No proprietary runtime, no exotic dependencies, no sidecar services to keep alive.
A SQL database you already run
PostgreSQL, MySQL or MariaDB: your managed instance, your on-prem cluster, or whatever your standard is. No commerce-specific database, no proprietary storage layer.
Anywhere Node.js runs
A Node.js application on NestJS. Deploy on AWS, Azure, GCP, on-prem, Kubernetes, Docker or a single VM, including air-gapped environments. Standard Redis-compatible cache, standard S3-compatible object storage.
A scalable ecommerce platform
Stateless at the application layer, scaling behind any load balancer, with job processing on separate worker processes you scale independently. Munch runs more than 10,000 payment transactions a day at peak on Vendure.
Your release pipeline, your schedule
Pin to a version, run the migration in your own staging, and ship through the pipeline your team already uses. No forced upgrade windows.
Self-host as long as it serves you, move to Cloud with a paid plan
Self-hosting Vendure isn't a one-way door. The application you run inside your infrastructure is the same one Vendure operates on Vendure Cloud: same code, same data model, same APIs. Moving to Cloud is a runtime change, not a re-platform.
Self-hosting Core costs nothing, and it always will. Managed hosting comes with a paid plan: each one includes a base set of Vendure Cloud resources, and usage above that is billed on top. Cloud opens as a closed beta for paid plans, with general availability planned for Q1 2027. It is not available on Core.
Open source you can defend to security
Security's first reaction to open source is risk. The honest answer turns that around: when the code is inspectable, transparency is the control, not the gap.
Packages publish through OIDC trusted publishing, so there's no npm token sitting in CI for an attacker to exfiltrate.
Releases are staged and require human approval with 2FA before anything goes public. No silent, automated push to the registry.
Every release ships signed provenance. Run npm audit signatures to confirm what you install came from our pipeline, unaltered.
Built in public, used in production
8,500+ stars
Developers and engineering teams evaluating, prototyping, and running Vendure.
270+ contributors
From one-line fixes to entire subsystems.
120K+ monthly downloads
@vendure/core pulled from npm every month by teams shipping commerce on Vendure.
GPLv3 licence
Free to use, fork, and self-host under GPLv3, with a plugin exception so your own code stays yours. A commercial licence comes with every paid plan for teams that need one.
What engineering leads say about Core
What convinced me about Vendure is its fundamentally well-architected codebase. It's clear, intuitive, and easy to extend, making it adaptable to virtually any use case.

Vendure is a breath of fresh air. Built with developers in mind, easy to extend, and well-documented. It embraces the need for customization and enabled me to deliver on time, within budget. The community support is fast and incredibly helpful.

Core is free because we don't sell it
We make no money from Core, which is exactly why we can commit to it staying free. The paid plans are the business, and they exist for the point where a business customer asks for something a consumer checkout has no concept of: one account for their whole company, a price that is theirs alone, an order that has to be signed off. Building that yourself on Core is entirely legitimate, and plenty of teams do.
Have you outgrown Vendure Core?
Core is all you need when
- Your customers place standard orders and pay by card
- One login per customer is enough
- Published prices apply to everyone
- Community support on Discord and GitHub works for you
A paid plan starts to pay for itself when
- A customer wants one account for their whole business
- Buyers ask for a quote before they order
- Orders need approval, signing limits or an audit trail
- You need direct support from our team, or a commercial licence
Select any underlined capability to see what it does; the ones marked with a play icon have a video. All prices excl. VAT.
For a first B2B store, or a team whose current plan cannot give a customer one account for their whole business.
€199/mo
Save 11%9 of 32 capabilities
On top of the open-source core:
- Company accounts
- Quote requests
- Quick order
- Personal shopping lists
- Store credit
- Catalog search
- Vendure Cloud Beta seat included
Weighing it up against
For teams whose orders pass through procurement: signing limits, contract prices and an audit trail someone asks to see.
€2,499/mo
Save 10%24 of 32 capabilities
Everything in Growth, plus:
- Contract pricing
- Order approvals
- Audit log
- OIDC single sign-on
- B2B storefront
- Vendure Cloud Beta seat included
Weighing it up against
Free trials need a card. Nothing is charged for 14 days, and you can cancel any time before.
Moving from Core to a plan is a plan change, not a rewrite
Plans are additive, not a different product. Your plugins, custom entities, strategies and integrations keep running, your database keeps its data, and your storefront keeps its queries. You turn on capabilities; you do not re-platform.
Help while you stay on Core, hosting when you choose a plan
Professional Services
Support retainers and delivery help for teams running Core in production. Our engineers, without moving to a paid plan.
Vendure Cloud
Managed hosting, with Vendure running your project for you. Each paid plan includes a base set of Cloud resources, and usage above that is billed on top. General availability is planned for Q1 2027.
What engineering teams ask before they ship on Core
Yes. Core is published under GPLv3, and a granted licence cannot be withdrawn, so every version we release stays free to use, fork and self-host. Core is also the foundation the paid plans are built on, so keeping it healthy is not charity on our part. It is how our own product works.
Nothing is removed. Core keeps the catalogue, orders, customers, payments, promotions, channels, the dashboard, both GraphQL APIs and the plugin model, plus public releases and community support. The plans add capabilities on top, such as company accounts, quotes, contract pricing and approvals, along with direct support from our team and a commercial licence for Vendure Core for your project.
Yes. Core powers production commerce at IBM, Munch and Hans Kohler, among many others. The same code on GitHub is the code running those workloads; there is no separate production build you can't see.
GPLv3, with a plugin exception so your own plugins and custom code stay yours. Copyleft applies if you distribute a modified version of Vendure itself; running it internally to power your own commerce, which is what most teams do, carries no obligation. Every paid plan also includes a commercial licence for Vendure Core for your project, as an alternative to GPLv3. To ship Vendure in software you distribute, talk to us. See licensing for the details.
Each plan includes everything in the plan below it. Pick the cheapest plan that has the features you need. Starter at €199 a month covers company accounts, quotes and repeat ordering. Growth at €599 adds account hierarchies for customers with branches and departments. Scale at €2,499 adds approvals, contract pricing, an audit log and the B2B storefront.
Start with the migration guides. Each one maps your current platform to Vendure step by step and is written with an official Vendure partner or a Friend of Vendure who has made the move.
You do, by default, on any infrastructure where Node.js and a supported SQL database run, and it costs nothing beyond your own infrastructure. If you want Vendure run for you, that's Vendure Cloud on a paid plan. Each paid plan includes a base set of Cloud resources, and usage above that is billed on top. Cloud opens as a closed beta for paid plans, with general availability planned for Q1 2027.
Yes, and without moving to a plan. Vendure Professional Services offers support retainers to teams running Vendure Core in production who want direct support from the Vendure team. Talk to us for a quote.
Clone the repo, ship the prototype
Run Vendure locally in minutes on the stack your engineers already want to work with, and pay nothing until a capability you don't have is worth more than building it yourself.


