Video Vault

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.

  1. 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.

  2. 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=…

  3. 03

    Telegram Stars

    Native Stars (XTR) pre_checkout_query and successful_payment updates immediately unlock folders or Full VIP in SQLite with discreet receipts.

  4. 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.