User Modules · Detailed Feature Specification, Business Rules & Client Approval
This document defines the detailed business requirements of the user-facing modules of the Shyamji Exchange platform. Each module is described by its purpose, the features included, the reference screen(s) captured from the staging build, the user flow, and applicable business rules. Features explicitly listed as excluded are outside the agreed scope for the current phase.
Shyamji Exchange uses a black canvas with a gold wordmark/crest and a crimson-to-royal-blue gradient header bar. Odds buttons use a light-blue (Back) / light-pink (Lay) pairing. This palette is used consistently across the reference screens in this document.
Click any module link to jump to it and expand its detail.
The Authentication module governs how users create an account, sign in, explore the platform via a demo account, and recover access. It is the entry point to all platform features.

Allows a new user to create an account using a username, password, referral code and phone number verified by OTP.
| Username | Included |
| Password (show / hide) | Included |
| Referral Code (pre-fillable via link) | Optional |
| Phone Number with country code (+91 default) | Included |
| Send OTP | Included |
| Sign Up button | Included |
| Sign In redirect | Included |
| Back button | Included |
| 18+ / responsible-gambling disclaimer | Included |
Email Verification Google / Facebook Login KYC Verification

Allows registered users to securely log in, and lets prospects try the platform instantly via Demo Login without registering.
| Username | Included |
| Password (show / hide) | Included |
| Login button | Included |
| Demo Login button | Included |
| Forgot your password? link | Included |
| Sign Up redirect | Included |
| Back button | Included |
Two-Factor Authentication Biometric / Face ID Login
Allows visitors to explore the full platform without creating an account. Demo users receive a virtual wallet and cannot perform real-money transactions.
| One-click Demo Login | Yes |
| Virtual wallet (e.g. ₹1000) | Yes |
| Full sports & casino browsing | Yes |
| Demo bet placement | Yes |
| Real deposit / withdrawal | No |
| Profile update | No |
| Referral earnings | No |
| Bonus eligibility | No |
Demo user shows a generic label ("Demo User") in place of a username, with a virtual balance clearly visible in the header wallet summary.

Allows users to recover their username or reset their password using their registered phone number.
| Phone type selector (Phone) | Included |
| Country code + phone number | Included |
| Send OTP button | Included |
| Enter OTP | Included |
| Enter New Password / Confirm Password (show / hide) | Included |
| Reset Password button | Included |
| Sign In redirect | Included |
The Home Dashboard is the landing page after login. It surfaces promotional banners, top sports events, casino highlights and trending games, and gives quick access to every wallet action.




| Component | Description |
|---|---|
| Platform crest / wordmark | Redirects to Home |
| Home / Inplay / Cricket / Football / Tennis / Grey Hound / Horse Race / Casino | Primary navigation tabs, active tab highlighted |
| WhatsApp icon | Opens support chat |
| Balance (Bal) | Current available wallet balance |
| Username | Displays logged-in user, links to My Profile |
| Exp (Exposure) | Amount currently locked in open/unmatched bets |
| Bonus Bal | Bonus wallet balance |
| Deposit / Withdraw bar | Full-width shortcut buttons above the banners (logged-in view) |
| Section | Description |
|---|---|
| Indian Casino | Horizontally scrollable row of Indian-market table games with left/right paging arrows |
| Trending Games | 3-up row of currently trending casino titles |
| Casino Games | Wide provider-mixed row (Evolution, MAC88, JILI, etc.) |
| Recommended Games | Personalised / popular game row |
| Slot Games | Slot-only row |
| Casino Lobby | Provider logo tiles (BetSoft, Evolution Gaming, Ezugi, FunGame, Gamzix, JILI, Kingmaker, MAC88, POPOK, AE Sexy, SmartSoft, Spribe, Turbo Games) linking into each provider's game list |
A persistent left sidebar lists every sport and every account/wallet destination. It collapses to icons on narrower breakpoints and scrolls independently of the main content.

| User avatar / initial + name | Links to My Profile |
| Cricket, Football, Tennis, Horse Racing, Greyhound Racing, Kabaddi, Basketball, Baseball, Volleyball, Darts, Futsal, Table Tennis, Binary, Politics, Ice Hockey, MMA, Rugby, Multi Markets | Opens sport-specific listing; "No competitions found" shown when a sport has no live markets |
| Promotions | Promotional offers |
| Deposit | Manual deposit |
| Withdraw | Manual withdrawal |
| Bet History | Sports betting history |
| Casino Bet History | Casino betting history |
| Betting Profit & Loss | Market-wise P/L report |
| Account Statement | Full wallet ledger |
| Stake Settings | Custom quick-stake buttons |
| Bonus Statement | Bonus ledger |
| Referral | Referral code & link |
| My Profile | Account details |
| Logout | End session |
The In-Play page lists every sport currently live, with a sport filter row and a search box. Selecting a sport filter (e.g. Cricket) narrows the list to only that sport's live matches.


| Welcome / announcement strip | Included |
| Search Events box | Included |
| Quick-jump chips for featured matches | Included |
| Sport filter row (All / Cricket / Football / Tennis / Kabaddi / Basketball / Baseball / GreyHound / Horse Race) | Included |
| Per-sport event rows with LIVE tag, market shortcuts, BM/F badges | Included |
| Back / Lay odds with volume beneath each price | Included |
| Locked (suspended) selection indicator | Included |
| Trending Games rail (right column) | Included |
Each sport (Cricket, Football, Tennis, Kabaddi, Basketball, Baseball, Volleyball, Darts, Futsal, Table Tennis, Binary, Politics, Ice Hockey, MMA, Rugby, Multi Markets) uses one shared template: a left sidebar of that sport's tournaments/competitions, a header strip naming the sport with 1 / X / 2 column labels, and a full list of upcoming and live matches with odds.


| Quick-jump chips for featured matches | Included |
| Sport-specific competition sidebar (left, e.g. Chilean Cup, FIFA World Cup, UEFA Europa League Qualifiers) | Included |
| Match rows: date/time, teams, 1 / X / 2 back-lay pairs with volume | Included |
| LIVE tag on in-progress matches | Included |
| Trending Games rail (right column) | Included |
Lists racing venues grouped by country, each with a row of upcoming race post-times. Greyhound Racing uses the identical layout.

| Country tabs (FR, ZA, GB, IE, NZ, AU) | Included |
| Venue row with date | Included |
| Race post-time chips (one per race at that venue) | Included |
| Trending Games rail (right column) | Included |
The inner market page for a selected match shows every available market — Match Odds, Bookmaker, and Fancy (session) markets — plus a live stream slot and the persistent Bet Slip / Open Bets panel.

| Match header (teams, time, date) | Included |
| Live Stream panel | Included |
| Match Odds market with Cashout tag, Min/Max stake | Included |
| Bookmaker market with Cashout tag, Min/Max stake | Included |
| Fancy market with All / Normal / Ball By Ball / Over By Over filter and Yes/No pricing | Included |
| Bet Slip / Open Bets tab switcher (right column) | Included |
| Back (blue) / Lay (pink) price pairs with 3-deep depth and volume | Included |
The inner market for a selected race shows the full runner list with Back/Lay prices and depth, alongside the live stream and Bet Slip / Open Bets panel — reusing the same shell as the sports market.

| Venue / race header with countdown to post time | Included |
| Live Stream panel | Included |
| Runner list with jockey/trainer placeholder fields ("J:", "Age:") | Included |
| Min/Max stake per market | Included |
| Back (blue) / Lay (pink) 3-deep price ladder per runner | Included |
| Bet Slip / Open Bets tab switcher (right column) | Included |
A fixed panel beside every market lets the user stake a tapped selection and review currently matched bets on that market, without leaving the page.


| Selected runner / outcome name | Included |
| Odds value stepper (+ / −) | Included |
| Amount field | Included |
| Quick-stake chips (100, 500, 1000, 5000, 10000, 25000, 50000, 100000, 500000) | Included |
| Min Stake / Max Stake / Edit Stake / Clear buttons | Included |
| Live Profit/Loss and Total Amount preview | Included |
| Place Bet button | Included |
| Open Bets tab — Matched Bet / Odds / Stake table | Included |
The Casino module surfaces live-dealer tables and slot titles from multiple third-party providers. From the Home Dashboard it appears as curated rows; clicking the "Casino" nav tab opens the full Casino Lobby — every provider and game category in one searchable grid.


| Indian Casino row (Home Dashboard) | Included |
| Trending Games row (Home Dashboard) | Included |
| Casino Games / Recommended Games / Slot Games rows (Home Dashboard) | Included |
| Casino Lobby page (Header → Casino) | Included |
| Search Games box | Included |
| Provider tab row (All / JDB Gaming / Evolution Gaming / Mac88 / Smartsoft Gaming / Spribe / Ezugi / Turbo Games / Playtech / Betsoft / Gamzix / BetGames / Evoplay Entertainment / Asia Gaming / Vivo Gaming / KingMaker / Royal Gaming / JiLi Gaming …) | Included |
| Category filter row (All / Arcade Game / Baccarat / Bingo / Blackjack / Casino / Casual Games / Color Game / Crash Game / Dragon Tiger / Fish / Fish Shooting / Game Lobby / Game Show / Indian Games / Live / Live Baccarat / Live Blackjack / Live Dice …) | Included |
| Game tile grid with hover preview / play icon | Included |
| Game launch in new session / iframe | Included |
Lists active promotional campaigns as banner cards; each opens a detail page with the full offer description.


| Promotion banner grid (2 columns) | Included |
| Title strip per banner | Included |
| Detail page (banner + title + description) | Included |
| Back navigation | Included |
Users fund their wallet manually via UPI or bank transfer, then submit proof of payment for admin approval.



| UPI method (QR + UPI ID) | Included |
| Local Bank method (bank name, A/C holder, IFSC, A/C no., type) | Included |
| Rules and Regulations for Deposit (collapsible) | Included |
| Unique Transaction Reference field | Included |
| Upload Payment Proof | Included |
| Amount field + quick-amount chips (+500 … +100,000) | Included |
| "I Agree To Payment & Withdrawal Policy" checkbox | Included |
| Submit button | Included |
| Transaction history table with date filter (TXN Ref ID, Request/Updated At, Amount, Payment Method, UTR, Status, Remark) | Included |
Users save one or more payout accounts (Bank or UPI) and submit a withdrawal request against a saved account.





| Add Account modal — Account tab (Account Type, Bank Name, Account Holder Name, Account Number, IFSC) | Included |
| Add Account modal — UPI tab (Name, UPI, Phone Number) | Included |
| Saved account card with Enter Amount + Withdraw button | Included |
| Delete saved account | Included |
| Rules and Regulations for Withdrawal (collapsible) | Included |
| Transaction history table with date filter (TXN Ref ID, Request/Updated At, Amount, Payment Method, Bank/UPI, Status, Remark) | Included |
Shows every sports bet the user has placed, split into Current Bet (unsettled) and Past Bet (settled), with a sport filter.

| Sport filter dropdown ("All" default) | Included |
| Refresh button | Included |
| Current Bet / Past Bet tabs | Included |
| Columns: Place Date, Sport, Event, Market, Bet Type (Back/Lay), Selection, User Rate, Amount, Liability, Potential Profit | Included |
| Pagination (rows-per-page selector) | Included |
A parallel history to Module 14, scoped to casino-provider rounds instead of sports markets — same data structure the client confirmed matches the reference platform.

| From / To date filter + refresh | Included |
| Columns: Game Name, Game Round ID, Transaction ID, Bet ID, Bet Amount, P/L, Bet Outcome, Date/Time | Included |
| Pagination | Included |
| "No casino bet history found" empty state | Included |
A market-wise settled profit/loss report, filterable by sport (including Casino) and date range — same data structure the client confirmed matches the reference platform.

| Total P/L summary chip | Included |
| Sport tabs: Cricket / Football / Tennis / Casino | Included |
| Filtered P/L (per selected tab) | Included |
| From / To date filter | Included |
| Columns: Event, Market, Selection, Settle Time, Net | Included |
| Pagination | Included |
A full ledger of every wallet-affecting event — deposits, withdrawals, bet debits/credits, bonus movements — with the same filter set confirmed against the reference platform.

| Type filter (All / Credit / Debit …) | Included |
| Context filter (All / Deposit / Withdraw / Bet / Bonus …) | Included |
| From / To date filter + refresh | Included |
| Columns: Transaction ID, Transaction Time, Description, Type, Amount, Context, Status, Balance | Included |
| Pagination | Included |
Lets a user customise the label and value of the 9 quick-stake buttons shown in the Bet Slip.

| 9 Button Label fields | Included |
| 9 Input Value steppers (+ / −) | Included |
| Save button | Included |
Bonus credits reward signing up, depositing and referring friends. Every bonus is held separately from the real balance until the user clears a turnover requirement, after which it unlocks for withdrawal like any other funds.
| Joining Bonus — credited after the user's first deposit (not on signup alone) | Included |
| Deposit Bonus — a refill / reload bonus credited on qualifying subsequent deposits | Included |
| Referral Bonus — credited to the referrer and/or the referred user, on signup or on the referee's first deposit | Included |
Each bonus is released only once its turnover condition is met. A bonus policy uses exactly one of two turnover formulas:
Progress is tracked as "completed / required" turnover. The user can keep placing bets — including with real balance — while a bonus is unreleased; the restriction is on withdrawing the bonus amount and its winnings, not on betting.
A dedicated ledger, reached from the sidebar, lists every bonus the user has been awarded: bonus name, category (Joining / Deposit / Referral), amount awarded, turnover completed vs. required, installment progress, awarded / expiry dates, and status (Pending, Claimed, Expired).


| Search bonus box | Included |
| Category filter (All / Joining / Deposit / Referral) | Included |
| From / To date filter | Included |
| Columns: #, Bonus Name, Bonus ID, Category, Awarded Amount, Turnover (Completed / Required), Installments, Awarded At, Expire At, Status | Included |
| "View Installments" expander per row (when a bonus has more than one installment) | Included |
| Installment breakdown: Installment No, Amount, Total Turnover Required, Release Date, Status | Included |
| Pagination | Included |
| "No data available" empty state | Included |
Gives every user a personal referral code and shareable link to invite new players.

| Unique referral code + Copy Code button | Included |
| Referral link (prefilled register URL with ?ref= code) + Copy button | Included |
Lets a user view and update their personal details, and change their password.

| Personal Info / Change Password tabs | Included |
| Full Name | Included |
| Username (read-only) | Included |
| Phone Number with OTP re-verification on change | Included |
| Email Address (optional) | Optional |
| Reset / Save Changes buttons | Included |
Two persistent utilities pinned to the bottom of the sidebar / header on every page.
| Logout — sidebar item, ends the session and returns to Sign In | Included |
| "Follow on Telegram" button — pinned bottom of sidebar, opens the platform's Telegram channel | Included |
| WhatsApp support icon — header, opens support chat | Included |
By signing below, the client confirms that the modules described in this document — excluding Module 19 (Bonus), which remains pending final admin-policy detail — represent the agreed scope for the current development phase. Any feature not listed is out of scope and subject to a Change Request.
| Name | Role | Signature | Date |
|---|---|---|---|
| Client | |||
| Innosoft Group |