Your shop out front.
Jester behind the curtain.
Point your storefront at one API and stop rebuilding the boring half. Products, stock, payments, Discord alerts and a checkout page that wears your colours — from one dashboard.
Products & real stock
One listing, many variants — each with its own price, SKU and key pool. Stock is reserved the moment an invoice opens and released if it lapses, so nothing sells twice.
Custom statuses
Name your own product states — Restocking, Beta, Sold Out — and give each one a colour. They badge the dashboard and the checkout page alike.
Five ways to get paid
Stripe, Square, OVGC vouchers, direct crypto and MoneyMotion. Turn on what you use; buyers only ever see those.
Discord on every sale
Rich embeds the moment money lands — totals, items, method, masked buyer. Pick which events fire and which channel hears them.
Checkout in your colours
Buyers land on /invoice/… and see your palette, logo and type. Point us at your domain and we'll lift the theme for you.
One key, one shop
Scoped API keys, hashed at rest, revocable in a click. Every request is logged so you can see exactly what your storefront asked for.
Two calls and you're selling
Create an invoice from your own storefront, send the buyer to the URL we hand back, and wait for the webhook. Everything else — stock, receipts, alerts — happens here.
Full API referencecurl -X POST https://jester-guru.vercel.app/api/v1/checkout \
-H "Authorization: Bearer $JESTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [{ "sku": "NITRO-1M", "quantity": 1 }],
"customer": { "email": "buyer@example.com" }
}'
→ { "checkout_url": "https://jester-guru.vercel.app/invoice/2145512-1-213123-2-2323" }
Registration is key-only
Accounts are minted by hand. If you were given a key, redeem it — if not, ask the ringmaster for one.
I have a key