Private catalogs
Price a folder. Unlock it with Telegram Stars.
Fill in .env.local, then run the app and either the polling bot or the Telegram webhook.
01
Admin
Open /admin, sign in with ADMIN_PASSWORD, create priced folders with optional cross-sell upsells and VIP bundles, and upload media straight to Cloudflare R2.
02
Telegram Bot
The bot lists locked and unlocked folders, sends native Telegram Stars (XTR) invoices, schedules 7-minute cross-sell upsells, and opens /vault?tgId=…
03
Telegram Stars
Native Stars (XTR) pre_checkout_query and successful_payment updates immediately unlock folders or Full VIP in SQLite with discreet receipts.
04
Vault
Unlocked folders stream in a protected Reels feed, while locked folders show blurred photo & 2.5s video teasers with 1-tap Stars unlock.
Run it
- npm run dev
- npm run bot
For a hosted bot, run npm run telegram:webhook so Telegram posts updates (including pre_checkout_query and Stars payments) to /api/telegram. Use polling or the webhook, not both. Browser uploads need an R2 CORS rule that allows PUT from this site with the Content-Type header.