DUM Club is a local-commerce platform first. Card payments, real merchants, real customers. The technical layer below is for developers, integration partners, and users who want to take their DUM Points balance on-chain. If you came here looking for a local handyman or a mobile detailer, head back to the homepage.
App Router, React 18, Tailwind, Geist typography. Statically generated where possible, server-rendered for authenticated routes.
Python 3.11 with async handlers. All business logic, Stripe webhooks, and DUM Points accounting live here.
All canonical state — merchants, projects, offers, orders, DUM balances. Row-level security on user data, public read on listings.
Card payments via Stripe Checkout. Merchants onboard via Stripe Connect Standard so payouts go directly to their bank, not through DUM Club.
Email and Google sign-in. Privy DIDs are the canonical user identifier across the platform. Solana wallets are auto-provisioned but never required for buying.
WebRTC-based live commerce streaming. Currently feature-flagged off (NEXT_PUBLIC_ENABLE_LIVE_STREAMS=false) — dormant infrastructure for future category drops.
DUM Points are tracked off-chain in PostgreSQL by default — that's how 99% of users will ever interact with them. Customers earn points at participating merchants, redeem them for discounts at other merchants, never touch a wallet, never pay gas, never think about a blockchain.
For users who want on-chain custody, DUM Points are also issued as an SPL token on Solana. The mint program is deployed on Solana devnet today and will move to mainnet after legal review of the regulatory posture (see disclosures below). Connecting a wallet and claiming earned points to chain is opt-in and lives behind an “Advanced” toggle on the DUM Hub page.
DUM Club is in early access. The cross-merchant rewards loop (earn at merchant A, redeem at merchant B) is the product wedge. The Solana SPL token is a complementary on-chain representation, not the primary value driver.