The deal, plainly
Free to run.
Paid to specialise.
The core is GPL-3.0 and stays that way. It is funded by selling plugins — never by holding part of the core hostage, and never by a licence check anywhere on a request path.
The core
Content, commerce, media, languages, plugins, traffic recovery, operations and three storage drivers. Clone it, run it, change it, sell what you build on it. One process, your server, your database, your data. No seat count, no metering, and nothing that stops working if a company does.
The plugins
What needs a credential, a per-country obligation, or a support commitment. They install through the same plugin API anybody else can use, they are switchable feature by feature rather than by one master toggle, and they are how the core stays funded and free.
Where the line is
Seams, not
licence checks.
No licence gating, ever. The line is drawn by seams: the core owns the interface and an honest hand-modelled implementation; a paid pack owns what needs a credential, a per-country obligation, or a support commitment. Storing price history is core; the maintained per-country Omnibus display pack is paid. Computing tax from a rate table is core; maintaining twenty-seven countries’ rates is paid.
A merchant must never be unable to comply with the law because they did not pay. That outranks the commercial logic wherever the two disagree.
Free, however big the shop gets
What you never
have to buy.
- The whole catalogue, cart, checkout, orders, customers, coupons and shipping
- Stripe, PayPal and Klarna, and back-in-stock alerts
- Categories nested five levels deep, and the site menu edited in the admin
- A storefront starter for a separate frontend, and accessibility checked on every build
- Bulk product edit with a preview, and search that suggests as you type
- Order tags, an order timeline, and acceptance of the shop’s terms recorded at checkout
- Coupons for free shipping, a free gift or the cheaper of every two items at half price, limited by category, brand or basket total, or bound to one buyer’s email
- Newsletter consent on an append-only ledger, with double opt-in and one-click unsubscribe
- Basic weighted search, including Greek matching Latin spelling both ways
- Recommendations that need no personal data — bought together, also viewed, best sellers
- Price history, and the storage the Omnibus rules are computed from
- Tax computed from a rate table you maintain
- GDPR export and erase, consent categories, and the audit trail
- All three storage drivers, the plugin API, the theme API, and every hook
The paid tier, in full
Nine plugins.
Two of them exist.
The status line is the important one. Two of these run in production today; the rest are planned, and a page that let you mistake the second kind for the first would be the most damaging thing on this site.
- @astrobaas/optical
- Running in productionThe optical vertical: prescriptions validated to optometric ranges, frame geometry, face measurements, fit tolerance, and public schema endpoints a storefront can render a form from. Lens coatings and lens index, recommended from the prescription and charged on the order line, are built and not yet released.
- @astrobaas/iris
- Built; awaiting merchant documentationGreek IRIS instant bank transfer, where the merchant’s mobile number is the payment id. It is a payment-provider plugin like any other.
- @astrobaas/ecommerce-plus
- In development: Google Merchant feed built, not yet releasedDepth for larger shops on top of the free core, never in place of it: segments, abandoned-cart and post-purchase flows (back-in-stock alerts are already free in the core), product feeds for Google Merchant and Meta, and server-side events. Everything in it sits behind the existing marketing consent category and the GDPR export and erase paths.
- @astrobaas/search
- Built; not yet releasedGreeklish matching, typo tolerance and synonyms built from the shop’s own vocabulary, on top of the basic weighted search that stays free in the core. Facets are not in it yet.
- @astrobaas/campaign-games
- Built; not yet releasedA prize wheel the server decides, never the browser: the CMS draws the prize under daily caps, the visitor confirms their email with a code or a magic link, and only then is a single-use coupon bound to that address issued. Newsletter consent goes to the core’s consent ledger, and leads are kept only for a set time.
- Payment gateways
- PlannedStripe, PayPal and Klarna already ship free in the core, alongside bank transfer and cash on delivery. What would be sold is additional PSPs beyond those — Adyen, Apple Pay and Google Pay set-up, further buy-now-pay-later providers — each one somebody else's API contract to keep working.
- Compliance packs
- In development: first packs built, not yet releasedGreek myDATA e-invoicing through a licensed provider (the merchant stays the legal issuer; we never issue or transmit directly), EU VAT-number checks through VIES, maintained EU VAT rates, and GPSR readiness checks and templates. OSS and IOSS reports and Peppol come later. The obligation each of these tracks changes by country and by year, which is the support commitment being sold.
- Carrier connectors
- PlannedUPS, DHL, DPD, ELTA and Speedex: live rates, labels and tracking sync. Each one is somebody else’s API contract to keep working.
- Retention & revenue
- PlannedSubscriptions and recurring billing, loyalty and rewards, gift cards, referrals, a reviews aggregator that pulls from external platforms, and a paywall for publications.
- White-label
- PlannedA rebranded admin for agencies shipping AstroBaaS to their own clients.
The same shape, other trades
What a module is,
so you can judge the next one.
A vertical belongs in a module when its products carry structured attributes that need validating, and a generic catalogue would reduce them to free text. Anything else belongs in the core, for free.
- Fits
- Optical — prescriptions validated to optometric ranges, frame geometry, fit tolerance; built for a working optician and running in two shops. Pharmacy — batch numbers, expiry, restricted categories. Automotive parts — fitment by make, model and year. Jewellery — engraving, sizing, hallmark. Wine — vintage, region, age verification.
- Does not fit
- A theme. A field you could add with a plugin in an afternoon. And nothing a merchant needs in order to obey the law: storing price history and computing tax from a rate table are core and stay core. The paid pack is the maintained per-country table on top, never the ability to comply at all.
- The rule
- No licence check ever gates the core, and a module never becomes a condition of the core working. If a module is removed, everything else keeps running — and the health check tells you the module is gone rather than failing quietly.