Mahbubul Alam.
DiceSMS

DiceSMS

Virtual phone-number rental marketplace for SMS/OTP verification — reseller on wholesale SMS providers, with a "no code, no charge" refund guarantee.

Overview

DiceSMS is a virtual phone-number rental marketplace for SMS/OTP verification, built as a reseller on top of wholesale SMS providers (SMS-Man primary, 5sim and GrizzlySMS as fallbacks). The core business rule is the entire pitch: a rental is only charged once a verification code actually arrives — if nothing comes through before the rental window expires, it refunds automatically and the customer is never charged. That single rule removes the "get a number, hope it works" risk that makes competing services untrustworthy.

Key Features

  • No-code, no-charge rentals with live status polling and automatic refund on timeout.
  • Wallet system — crypto deposits (USDT, Bitcoin), peer-to-peer transfers, and a full transaction ledger.
  • Referral program with commission, a cap, and an attribution window.
  • Two API surfaces — a modern session-based API for the dashboard, and a drop-in-compatible legacy API matching the sms-activate/DaisySMS convention, so scripts already written against that convention work against DiceSMS unchanged.
  • Full admin console (14 backend modules) covering services, users, providers, payments, and a CMS (blog, FAQ, features, static pages, announcement banner).
  • Auth — email/password and Google OAuth, with optional TOTP 2FA.

Technical Highlights

  • Deliberately a single Next.js frontend — public marketing site, client dashboard, and admin console all in one codebase with role-based route access — rather than three separate apps, an explicit, documented architecture decision to avoid duplicating shared UI and auth logic across projects.
  • NestJS + Prisma + PostgreSQL backend with RabbitMQ and BullMQ/Redis for the provider-communication and background-job layers, plus an Express backend-for-frontend scaffold already in place for a planned mobile app.
  • Every claim in the project's own documentation is tagged against what's actually verified in the running code (✅/⚠️/❌/📅) rather than what was planned — including an honest "not yet deployed to a production domain" status, which is exactly the kind of documentation discipline that prevents a team from confidently shipping on top of a feature that was only ever a plan.

Impact

The "no code, no charge" guarantee plus a legacy-compatible API surface means DiceSMS can target both a self-service consumer who wants one number to work and a developer with existing automation scripts pointed at a competitor's API — without either audience needing a different product.