What Prism Is
Prism is a shop for digital products that you run on your own server. One app serves your public store at /, customer accounts at /account and your admin dashboard at /admin.
You add products, set prices and upload files. Customers buy, get a license and download what they paid for. Everything lives in your own PostgreSQL, MySQL or MariaDB database, with no platform fee on your sales.
Selling
A product has a name, price, cover, summary and a description written in BBCode. Then you add:
- Downloads, hosted by Prism or stored in an S3 or Cloudflare R2 bucket and handed out as expiring links.
- Addons, extras bought on top of the product, each with its own price and download.
- Links, buttons for docs, a support server or anything else.
- Updates, with a version and changelog for each release.
- Reviews, with star ratings from buyers.
A price of 0 makes a product free to claim. Drafts stay hidden until you publish them.
Checkout
Prism takes payments through Stripe, Polar, PayPal, NOWPayments and Razorpay. Turn on the cart to let customers buy several products at once, or keep it to Buy Now.
- Coupons take a percentage or a fixed amount off, with a minimum spend and a use limit.
- Sales discount everything, products only or addons only, with an optional banner across the store.
- Points reward customers for spending and let them pay with points later.
When a payment completes, Prism issues a license for each product and shows the buyer a success page with their downloads.
Customer Accounts
Customers sign in with Discord, Google, Apple, GitHub or email and password. Their account has three tabs:
| Tab | What it has |
|---|---|
| Account Details | Name, picture, email and points balance. |
| Security | Password, connected providers and signed-in devices. |
| My Licenses | Every license with its status, expiry, addons and download buttons. |
Designing the Store
You do not need to write code to make the store your own.
- The Theme Editor sets light or dark mode, the accent colour, corner radius, font, header and footer links, the sign-in page background and the product card style. A live preview shows changes before you save.
- The Page Builder lays out the landing page and custom pages from sections of one to four columns, with headings, text, buttons, images, features, FAQs and product showcases.
- Custom CSS covers anything else.
Each page has its own title, description, social image and search indexing setting.
The Dashboard
Sign in with the Discord account on your Prism license and you are the owner. From /admin you manage products, licenses, users, roles, coupons, sales, settings and appearance. Give your team roles so support staff only see what they need.
The Storefront API
Prism has public /api/v1/ endpoints for the catalog, reviews, updates and checkout, plus a management API for API tokens with scopes. Every response is signed, so your products can check that an answer really came from your shop. See the Storefront API.
Modules
Everything past startup is a module. Core ships with Prism and holds products, licenses, checkout and users. The Kora module connects Prism to Kora: link a Prism product to a Kora product and every purchase also issues a Kora license, with the key shown on the customer's My Licenses page.
You can write your own modules too. A module can add pages, routes, settings, events, models and fields on other modules' pages. See the developer docs.
What You Need
- A host that runs Node.js 20 or newer, or Bun.
- An empty PostgreSQL, MySQL or MariaDB database.
- A Discord application for sign-in.
- Your Prism license key from the Zero Development Discord.
The first start opens a setup wizard in your browser. It asks for the database, your license and your Discord app, then launches the shop without a restart.


