The commerce stack WooCommerce should have been — open source, edge‑native. Shipped.
One npm package turns an Astro + EmDash site into a working store — cart, Stripe checkout, subscriptions, multi-vendor marketplace, multi-currency, digital downloads, 12-page admin. MIT licensed. Zero platform fee. Runs on Cloudflare Workers, Vercel, or any Node host.
- 6
- product types in core — simple, variable, grouped, external, subscription, digital
- 0 %
- platform fee — you pay Stripe, no one else
- 0 kb
- JS shipped on storefront pages by default
# full storefront — products, cart, Stripe, admin — in one command
$ npm create @dashcommerce@latest
$ cd your-shop && bun run bootstrap
$ bun run dev # → http://localhost:4321
Twenty‑two years
of duct tape.
Commerce tools either tax your transactions forever (Shopify, SureCart, Lemon Squeezy) or stack a dozen plugins on a fifteen-year-old PHP core (WooCommerce). We picked neither.
- 01 security96%of WordPress vulns come from plugins
A typical WooCommerce store runs 40+ plugins. Each one is a supply-chain risk that nobody audited.
- 02 cost$1,500+the annual extension bill
Subscriptions, bookings, memberships, gateways — every feature you thought was free turns out to be a yearly invoice.
- 03 performance814 kbof JS on an unmodified shop page
Themes fight plugins. Plugins fight themes. The user downloads the war.
- 04 fees1.9%transaction fee on top of Stripe
Some "open" alternatives charge you to move your own money. That's not open — that's rent.
- 05 stackPHPas a foundation, in 2026
WordPress runs the web it built, not the web we're shipping now. Edge, typed, and reactive is a retrofit there — it's the baseline here.
- 06 schema50+DB tables before you sell one thing
WooCommerce's schema is archaeological. DashCommerce is three typed collections and a Stripe event log.
Everything a real store needs. Nothing a real store doesn't.
Subscriptions, marketplace payouts, multi-currency, digital downloads, abandoned-cart recovery, transactional email, 12-page admin — in core. No "extensions page." Nothing to license separately.
From a single SKU to
a vendor marketplace.
Simple · Variable (size/color/etc) · Grouped · External/affiliate · Digital download · Subscription. Defined in typed collections, indexed at build, served from the edge.
Prices in eight currencies, picked at cart.
Stripe Payment Intents.
Apple & Google Pay included.
Refunds & partial refunds, in‑dash.
Admin dashboard ships with full refund UI. Stripe events reconciled automatically.
Recurring, trials, upgrades, dunning.
Stripe Subscriptions wired to your products. Proration, lifecycle emails, all typed.
Marketplace payouts with a platform fee.
transfer_data + application_fee_amount. Turn any shop into a vendor platform.
Fixed/percent × cart/product, limits, exclusions.
Multi-zone, flat, weight, local pickup, free thresholds.
Soft-locks during checkout. No oversells. Low-stock alerts.
Moderation queue. Verified-purchase badges.
Receipt, refund, shipping, abandoned-cart, subscription lifecycle. Editable MJML templates.
Flat-rate by default. Stripe Tax wired in with one env var when you outgrow the default.
Addresses, order history, guest-cart merge on login. No WordPress user baggage.
A full storefront.
Clone. Configure. Ship.
@dashcommerce/starter
is our official Astro theme: the same tree we deploy to
demo.dashcommerce.dev
. Shop, PDP, cart, hosted or embedded checkout, account portal, subscriptions, thank-you polling, blog, and
EmDash admin with every DashCommerce screen wired up — plus a six-product seed that hits every product type.
What’s in the box routes · admin
- /shop · catalog, /cart · /checkout · /thank-you/…
- /account · portal · /subscriptions/[token] · guest /orders/lookup
- /_emdash/admin · orders through settings + dashboard widgets
- Full route list & quickstart →
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { sqlite } from "emdash/db";
import { dashcommerce } from "@dashcommerce/core";
export default defineConfig(({
integrations: [
emdash({
database: sqlite({ url: "file:./data.db" }),
plugins: [dashcommerce()],
}),
],
}); Folded Linen
Scarf
Heavy‑weight Belgian linen, stone‑washed and garment‑dyed. Cut and sewn in Porto.
Built to replace your whole extensions page.
Compared at parity with each platform's default install. No extensions marketplace — none needed.
| Capability | DashCommerce edge · typed | WooCommerce PHP · 2011 | Shopify SaaS · Liquid | SureCart SaaS · WP | FluentCart PHP · 2024 |
|---|---|---|---|---|---|
| 01 Runs at the edge (Cloudflare Workers) | partial | partial | |||
| 02 Zero JS by default | |||||
| 03 Typed content collections | |||||
| 04 Subscriptions in core | paid add-on | ||||
| 05 Digital downloads in core | paid add-on | partial | |||
| 06 Marketplace payouts (Stripe Connect) | paid add-on | partial | |||
| 07 Multi-currency, per-product | paid add-on | partial | partial | ||
| 08 No platform transaction fee | |||||
| 09 Sandboxed plugin model | partial | ||||
| 10 Source-available, MIT | yes (GPL) |
Swipe to compare
↳ Apples-to-apples isn't always apples-to-apples. Anything marked “partial” has its caveats — ask us.
Four phases.
Shipped in public.
Dates are targets, not promises. Everything here is tracked as a GitHub milestone with tagged issues.
Core + npm
On npm, plus `npm create @dashcommerce@latest` for one-command scaffolding. Full commerce engine, React admin, starter, docs, demo.dashcommerce.dev. Woo-shaped baseline without the plugin sprawl.
Distribution + themes
Paid niche templates, optional @dashcommerce/astro package, EmDash marketplace path (standard + Block Kit) when traction warrants the fork.
Pro + integrations
License-gated @dashcommerce/pro — Klaviyo-class sync, accounting, ShipStation, Avalara/TaxJar, multi-step automation beyond core cron.
Ecosystem
Third-party theme marketplace, Theme Club, partner analytics, MCP/agent hooks.
DashCommerce FAQ
- Is DashCommerce production-ready?
- v0.1.3 on npm. Every feature category is shipped; the 0.x range means minor versions may contain breaking changes. Pin
~0.1.3in production and review the CHANGELOG before upgrades. The live demo runs the same code you'd deploy. - Is DashCommerce free?
- Yes.
@dashcommerce/coreis MIT-licensed, free to install, and charges no per-transaction platform fee. You pay Stripe's processing fee directly to Stripe. You do not pay DashCommerce anything, ever. - How do I install it?
- Run
npm create @dashcommerce@latest. Scaffolds a full storefront — products, cart, checkout, admin, Stripe test keys wired up — in about ten minutes. See Getting started for the manual add-to-existing-EmDash path. - What is DashCommerce?
- An open-source commerce plugin for EmDash CMS, distributed on npm as
@dashcommerce/core. Adds products, cart, checkout, subscriptions, marketplace payouts, multi-currency, and a 12-page admin to any Astro + EmDash project. MIT, v0.1.3. - How is it different from WooCommerce?
- WooCommerce runs on WordPress/PHP and needs a dozen paid extensions to reach parity. DashCommerce runs on Astro at the edge, ships every major feature category in core, and charges zero platform fees. Both open source — DashCommerce is MIT, WooCommerce is GPL.
- Does it support subscriptions?
- Yes, in core. Stripe Subscriptions with trials, sign-up fees, proration, dunning emails, pause/resume, and a self-serve customer portal. No separate WooCommerce Subscriptions-style add-on required.
- Which payment gateways work?
- Stripe, first-class. Payment Intents, Payment Element (Apple Pay, Google Pay, Link, saved methods), Subscriptions, Connect, Tax. No other gateway in v0.1.x. You own the Stripe account directly — DashCommerce is not a Merchant of Record.
- Can I run a multi-vendor marketplace?
- Yes. Stripe Connect in core —
transfer_data+application_fee_amountper PaymentIntent, vendor invites, activation, configurable platform fees. Designed for 2-50 vendor marketplaces. Marketplace use case. - Can I migrate from WooCommerce, Shopify, or Gumroad?
- Yes, with realistic effort. See WooCommerce, Shopify, and Gumroad guides. Active subscriptions need customer re-authentication; app-store integrations don't transfer automatically. There is no one-click migrator — plan a project.
- How is it different from Shopify?
- Shopify is hosted SaaS ($29–$2,500+/mo subscriptions, platform fees, app subscriptions). DashCommerce is self-hosted open source — run it on your own infra, pay Stripe and nothing else. Shopify wins on operational simplicity; DashCommerce wins on ownership and cost at scale. Full comparison.
Ready when you are.
@dashcommerce/core is live on npm. Scaffold a real storefront in one command — no license keys, no transaction fees, no waitlist.
# scaffold a working storefront in one command
npm create @dashcommerce@latest
cd your-shop
bun run bootstrap
bun run dev