NOTOUT
Business Requirements
Document (BRD)
Betting Exchange & Casino Platform

NOTOUT Exchange — Business Requirements Document

User Modules · Detailed Feature Specification, Business Rules & Client Approval

Project
Betting Exchange & Casino Platform
Reference
NOTOUT Exchange
Document version
1.0
Status
For Client Approval
Prepared by
Innosoft Group
Date
DD Mon YYYY

A About This Document

This document defines the detailed business requirements of the user-facing modules of the NOTOUT Exchange platform. Each module is described by its purpose, the features included, the user flow, applicable business rules, validation, and acceptance criteria. Features explicitly listed as excluded are outside the agreed scope for the current phase.

Scope & change controlOnly features described in this document are within the agreed development scope. Any feature not explicitly mentioned here is considered out of scope and will require a separate Change Request (CR). Each module carries its own approval block; the consolidated client sign-off is on the final page.

How to review

B Contents

Click any module link to jump to it and expand its detail.

Module 01
User Authentication
Module ID AUTH-001Role New / Registered UserScope Registration · Login · Demo Login · Forgot Password

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.

1.1 Registration

Reference screen

NOTOUT Sign Up / Registration screen
Registration — Sign Up screen

Purpose

Allows a new user to create an account using their personal details. Once registration is successful, the user can log in and access all available platform features.

Features included

First NameIncluded
Last NameIncluded
UsernameIncluded
Country CodeIncluded
Mobile NumberIncluded
Referral CodeOptional
PasswordIncluded
Show / Hide PasswordIncluded
Sign Up ButtonIncluded
Sign In RedirectIncluded
Back ButtonIncluded

Registration flow

Landing page
Click "Sign Up"
Registration form opens
Enter personal details
Click Sign Up
Account created successfully
Redirect to Login

Input fields

FieldMandatory
First NameYes
Last NameYes
UsernameYes
Country CodeYes
Mobile NumberYes
Referral CodeNo
PasswordYes

Validation

  • Username must be unique.
  • Mobile number must be unique.
  • Password must contain at least 8 characters.
  • Referral code is optional.
  • Empty mandatory fields display validation messages.

Error scenarios

  • Username already exists.
  • Mobile number already registered.
  • Required field missing.
  • Invalid phone number format.
  • Weak password.

Success scenario

  • User account is created successfully.
  • User is redirected to the Login screen.

Not included

OTP Verification Email Verification Google Login Facebook Login KYC Verification

Client Approval — Registration
ApprovedChanges Required
Remarks:

1.2 Login

Reference screen

Login screen
Login — Sign In screen

Purpose

Allows registered users to securely log in and access the betting platform.

Features included

Username LoginIncluded
PasswordIncluded
Password Visibility ToggleIncluded
Login ButtonIncluded
Forgot PasswordIncluded
Sign Up RedirectIncluded
Demo LoginIncluded
Back ButtonIncluded

Login flow

Open Login page
Enter username
Enter password
Click Login
Credentials verified
Dashboard opens

Validation

  • Username is mandatory.
  • Password is mandatory.
  • Invalid credentials display an error.
  • Blocked users cannot log in.
  • Disabled users cannot log in.

Error scenarios

  • Invalid username.
  • Incorrect password.
  • User account disabled.
  • Server error.

Success scenario

  • User is redirected to the Home Dashboard.

Not included

Two-Factor Authentication (2FA) Biometric Login Face ID Fingerprint Login

Client Approval — Login
ApprovedChanges Required
Remarks:

1.3 Demo Login

Purpose

Allows visitors to explore the platform without creating an account. Demo users receive virtual funds and cannot perform real-money transactions.

Features included

Demo Login ButtonYes
Virtual WalletYes
Sports BrowsingYes
Exchange BettingYes
Casino AccessYes

Restrictions

Real DepositNo
Real WithdrawalNo
Profile UpdateNo
Referral EarningsNo
Real BettingNo

Demo user flow

Click Demo Login
Temporary demo account created
Virtual wallet assigned
Home Dashboard opens

Dashboard indicators

The demo user should clearly see: Demo username, demo wallet balance, and a demo badge / indicator.

Client Approval — Demo Login
ApprovedChanges Required
Remarks:

1.4 Forgot Password

Reference screen

Forgot Password screen
Forgot Password — reset via OTP

Purpose

Allows users to reset their password using their registered mobile number.

Features included

Mobile NumberIncluded
Country CodeIncluded
OTP Request ButtonIncluded
Create New PasswordIncluded
Confirm PasswordIncluded
Password VisibilityIncluded
Reset Password ButtonIncluded

Password reset flow

Click Forgot Password
Enter registered mobile number
Request OTP
Receive & verify OTP
Enter new password & confirm
Reset password
Redirect to Login

Validation

  • Mobile number must exist in the system.
  • OTP must be valid.
  • New password and confirm password must match.
  • Password must meet security requirements.

Error scenarios

  • Mobile number not registered.
  • Invalid OTP.
  • OTP expired.
  • Password mismatch.
  • Weak password.

Success scenario

  • Password is updated successfully.
  • User is redirected to Login.

Not included

Email Reset Link Security Questions Account Recovery via Support

Client Approval — Forgot Password
ApprovedChanges Required
Remarks:
Module 02
Home Dashboard
Module ID HM-001Role Demo / Registered UserReference NOTOUT Home Dashboard

The Home Dashboard is the primary landing page after login or demo login. It provides quick access to sports betting, casino games, wallet actions, promotions, betting history, and account management.

Reference screens

Home dashboard
Home Dashboard — banner, quick access & trending
Logged-in header
Logged-in header — balance, exposure, deposit / withdraw

Features included

Top Navigation MenuIncluded
User InformationIncluded
Wallet SummaryIncluded
Deposit ButtonIncluded
Withdraw ButtonIncluded
Left Navigation MenuIncluded
Sports CategoriesIncluded
Promotional Banner SliderIncluded
Exchange / Casino / In-Play ShortcutsIncluded
Trending GamesIncluded
Footer & Social LinksIncluded
LogoutIncluded

Dashboard flow

User login / demo login
Home Dashboard
Sports
Casino
Wallet
Select event
Place bet

2.1 Header Section

ComponentDescription
Platform LogoRedirects user to Home page
HomeOpens Dashboard
In-PlayDisplays live betting events
Cricket / Football / TennisSport-specific betting markets
SportsbookStatic label only — no live Sportsbook events; not a navigable module in this phase
CasinoCasino lobby
UsernameDisplays logged-in user
Wallet BalanceCurrent available balance
ExposureCurrent betting exposure
Deposit / WithdrawOpen Deposit / Withdrawal pages

Business rules

  • Username should always be visible.
  • Wallet balance should refresh after every successful transaction.
  • Exposure should update after placing or settling bets.
  • Deposit and Withdraw buttons should remain visible on every page.

2.2 Left Navigation Menu

Sports categories

CricketCricket tournaments
FootballFootball tournaments
TennisTennis tournaments
CasinoCasino providers
Favourite GamesSaved favourites

Wallet & account

PromotionsPromotional offers
Deposit / WithdrawSubmit requests
My WalletWallet summary
Bet HistorySports betting history
Casino Bet HistoryCasino betting history
Betting P&LProfit & loss report
Turnover HistoryBetting turnover report
Account StatementComplete wallet ledger
BonusBonus info Future
ReferralReferral dashboard
Stake SettingsDefault betting stake
My Profile / Change PasswordAccount management
Privacy / Terms / ContactPolicy & support
LogoutEnd current session

2.3 Wallet Summary

FieldDescription
UsernameLogged-in User ID
Wallet BalanceAvailable betting balance
Withdrawal BalanceWithdrawable balance
ExposureAmount locked in open bets

Business rules

  • Wallet balance should update instantly after settlement.
  • Demo users display a virtual wallet.
  • Exposure should never exceed available balance.

2.4 Promotional Banner, Quick Access & Trending Games

Promotional banner

  • Multiple auto-sliding banners with manual previous/next navigation.
  • Banner click redirects to the configured page.
  • Only active banners are displayed; sequence follows Admin configuration.
  • Managed through the Admin Panel.

Quick access cards

CardAction
ExchangeOpens Exchange betting
CasinoOpens Casino lobby
In-PlayOpens Live events

Casino categories (Home quick access)

The Home Dashboard surfaces casino games grouped into 8 categories: Trending · Most Played · International Casino · Indian Casino · Live Casino · Table · Slots · Crash. Each card shows the game thumbnail and name; clicking launches the game.

  • Category composition and featured games are configured from the Admin Panel.
  • Only active games are displayed.

2.5 SEO Content Block

A static SEO content block is shown just above the footer (admin-managed rich text) — used for on-page search-engine content, not for user interaction.

2.6 Footer

Included features

Company InformationYes
Safe Gaming MessageYes
CopyrightYes
Social Media IconsYes
Security BadgeYes

Social platforms

Instagram, Telegram, X (Twitter), TikTok, YouTube, WhatsApp, IMO.

Social links are seeded in code — they are not configurable from the Admin Panel.

2.7 Demo User Restrictions

Browse SportsAllowed
Browse CasinoAllowed
View OddsAllowed
Practice BettingAllowed
DepositNo
WithdrawNo
Referral EarningsNo
Real WalletNo

2.8 Excluded Features (Phase 1)

VIP Membership Loyalty Program Live Chat Support Multi-language Push Notifications Personalized Recommendations Dark/Light Theme Toggle

2.9 Acceptance Criteria

No.Requirement
1User is redirected to Home Dashboard after successful login.
2Header menu is visible and functional.
3Wallet summary displays correct values.
4Left navigation displays all approved menu items.
5Promotional banners are displayed correctly.
6Quick access cards redirect to the correct modules.
7Trending games are displayed and launch successfully.
8Footer links and social media icons are visible.
9Demo user restrictions are enforced.
Client Approval — Home Dashboard
ApprovedChanges Required
Remarks:
Module 03
Sports Sidebar Navigation
Module ID HM-002Role Logged-in / Demo UserReference NOTOUT Sidebar Navigation

The Sports Sidebar provides quick access to sports categories, tournaments, account features, wallet functions, reports, and security actions. It is the primary navigation panel across the platform.

Reference screen

Sports sidebar
Sports Sidebar — expanded categories & tournaments

Features included

User Profile HeaderIncluded
Sports CategoriesIncluded
Expandable Sports MenuIncluded
Tournament ListingIncluded
Wallet MenuIncluded
Reports MenuIncluded
Account MenuIncluded
Security MenuIncluded
LogoutIncluded

Sidebar structure

User information

User avatar and username.

Sports categories

Cricket — tournament list:

  • Simulated Reality League / T20 International SRL
  • Women's T20 Blast
  • T20 Blast
  • Major League Cricket
  • Test Matches
  • One Day Internationals
  • Afghanistan Regional T20
  • Maharaja T20 Trophy
  • ICC Women's T20 World Cup

Football · Tennis · Casino · Favourite Games

Wallet & reports

Promotions · Deposit · Withdraw · My Wallet · Bet History · Casino Bet History · Betting Profit & Loss · Turnover History · Account Statement · Bonus · Referral · Stake Settings

Account & security

My Profile · Change Password · Privacy Policy · Terms & Conditions · Contact · Logout

User flow

Home Dashboard → Open Sidebar
Sports
Wallet
Reports
Profile
Select menu item
Navigate to target page

Business rules

  • Only one sport category may remain expanded at a time; clicking a category toggles its tournament list.
  • Clicking a tournament opens the event list for that tournament; only active tournaments are displayed.
  • Demo users can browse sports and tournaments; real users can place bets based on account permissions.
  • Menu items are configurable from the Admin Panel; disabled modules are not displayed.

Excluded features

Drag-and-drop customization Multi-language labels Tournament recommendations Recently viewed events Sidebar search

Acceptance criteria

No.Requirement
1Sidebar is visible on desktop and mobile.
2Sports categories expand and collapse correctly.
3Tournament list loads successfully.
4Wallet and report menus navigate correctly.
5Profile and security menus open correctly.
6Logout ends the user session.
7Demo user restrictions are enforced.
Client Approval — Sidebar Navigation
ApprovedChanges Required
Remarks:
Module 04
In-Play Events Listing
Module ID IPL-001Role Registered / Demo UserNav Header In-Play · Exchange Card · Sidebar Sports

The In-Play module displays all live sports events currently available for betting. Users browse live matches across sports, view real-time odds, search events, and navigate to the detailed betting market. Odds are supplied by the integrated Sports API and update continuously.

Reference screens

In-Play events
In-Play — live events
Today events
Today
Upcoming events
Upcoming
Bet result normal
Bet Result — Normal
Bet result fancy
Bet Result — Fancy

Navigation flow

User login → Home Dashboard
Header → In-Play
Exchange card
In-Play events page
Select match → Market details
Place bet

Features included

In-Play NavigationIncluded
Today / Upcoming EventsIncluded
Search EventIncluded
Live Sports ListingIncluded
Event OddsIncluded
Match StatusIncluded
Expand / Collapse SportIncluded
Market NavigationIncluded

Navigation options (filters)

FilterDescription
In-PlayOnly live matches currently available for betting
TodayToday's scheduled matches
UpcomingFuture scheduled matches

In-Play is selected by default on load · only one filter active at a time · switching filters refreshes the event list.

Search event

Users can search by match name, tournament name, or team name. Search is case-insensitive, results appear instantly, and an appropriate message is shown when no results are found.

Sports sections & tournament listing

Live events are grouped by sport — Cricket, Football, Tennis (additional sports enabled from the Admin Panel). Each sport contains multiple tournaments, e.g. ICC Women's T20 World Cup, Big Bash League, Test Matches (Cricket); UEFA Champions League, English Premier League (Football); ATP, WTA, Grand Slam (Tennis).

  • Only active tournaments are displayed; empty tournaments are hidden.
  • Tournaments can be expanded or collapsed.

Event information

FieldDescription
Match NameTeams or players participating
Tournament NameCompetition name
Live IndicatorShows LIVE badge
Data Provider IconAPI provider indicator
Betting StatusOpen / Suspended
Available OddsCurrent betting odds

Betting odds

ColDescription
1Home team Back / Lay odds
XDraw odds (applicable sports)
2Away team Back / Lay odds

Blue and pink boxes represent available betting prices.

  • Odds are supplied through the integrated Sports API and update automatically.
  • Suspended markets display a lock icon; users cannot bet on suspended markets.

Expand / collapse & match selection

Each sport category can be expanded or collapsed; state persists until page refresh. Selecting any event redirects to the detailed betting market (Match information, Market odds, Bet slip, Open bets, Market status — covered in Module 06).

Demo user behaviour

Browse live eventsAllowed
View oddsAllowed
Open market pagesAllowed
Simulate bets (if enabled)Allowed
Deposit fundsNo
Withdraw fundsNo
Real-money bettingNo

Business rules

  • Only events received from the Sports API are displayed; event ordering follows API priority.
  • Suspended events remain visible but betting is disabled.
  • Completed events are automatically removed from the In-Play list.
  • Event availability depends on market status received from the API.
  • The system supports real-time updates without requiring a page refresh.

Excluded features

Favourite Events Pin Match Live Streaming Cash Out Bet Builder Multi-View Odds Comparison

Acceptance criteria

No.Requirement
1User can access In-Play from the Header menu.
2User can access In-Play from the Exchange card on the Home Dashboard.
3In-Play, Today, and Upcoming filters function correctly.
4Search returns matching events based on entered keywords.
5Events are grouped correctly by sport and tournament.
6Match odds are displayed according to the Sports API feed.
7Suspended markets display a lock icon and do not allow betting.
8Clicking an event opens the corresponding Market Details page.
9Demo user restrictions are enforced.
10Event data updates automatically based on the Sports API feed.
Client Approval — In-Play Events
ApprovedChanges Required
Remarks:
Module 05
Sports Betting Market (Exchange)
Module ID SBM-001Role Registered / Demo UserNav In-Play / Cricket / Football / Tennis / Exchange → Select Match

The Sports Betting Market page shows all betting markets available for a selected event. Users view live odds, select betting options, manage their bet slip, monitor the scorecard, watch the live stream, track book position, and place bets. Available markets vary by event, by sport, and by data received from the Sports API.

Reference screens

Match Odds, Bookmaker and Fancy market
Match Odds + Bookmaker + Fancy — Zimbabwe v Bangladesh
Premium cricket market
Bookmaker + Premium Cricket market (Over-based sessions) with live stream

Navigation flow

Home → Sports listing → Select match
Sports Betting Market
Bet Slip
My Bets
Scorecard
Place bet

Features included

Match InformationIncluded
ScorecardIf available
Live TVIf available
Match Odds MarketIncluded
Bookmaker MarketIncluded
Fancy MarketIncluded
Premium MarketIncluded
Market FiltersIncluded
Bet SlipIncluded
My BetsIncluded
Back & Lay BettingIncluded
Book Position / CalculatorIncluded
Market Expand / CollapseIncluded

5.1 Match Header

The header displays: Back button, match date & time, match name, user balance, and Withdraw / Deposit buttons.

5.2 Live TV

If a live video feed is available for the event, a live stream player is displayed (tap to unmute); otherwise "Live Stream Not Available" is shown.

  • Live TV availability depends on the Sports API / streaming provider; if unavailable, the player is hidden.

5.3 Scorecard

For supported matches, the Scorecard displays the current score, overs, innings, run rate, current batting team, and the match timeline.

  • Scorecard availability depends on the Sports API; if unavailable, the section is hidden.
  • Scores refresh automatically.
  • Live commentary is not included in the Scorecard section.

5.4 Match Odds Market

The primary exchange betting market. Runners: Home team, Away team, Draw (if applicable). Each runner displays best Back odds, best Lay odds, and available liquidity. Back shows up to three prices; Lay shows up to three prices.

  • Odds are fetched from the Sports API and update in real time.
  • Suspended selections display a lock icon and cannot be bet on.

5.5 Markets by Sport

Available markets vary by sport, as supplied by the integrated Sports API:

SportMarkets
CricketMatch Odds · Bookmaker · Fancy · Toss · Premium
FootballMatch Odds · Over/Under 0.5 · Over/Under 1.5 · Over/Under 2.5 · Premium
TennisMatch Odds · Set 1 Winner · Set 2 Winner

Market availability per event still depends on what the Sports API supplies for that specific match; not every listed market is guaranteed on every event.

5.6 Bookmaker, Fancy & Premium Markets

Bookmaker market

Available for selected cricket events — displays Back and Lay odds per team. Availability depends on the Sports API; if unavailable, the section is not displayed.

Fancy market

Mainly for cricket. Filters: All · Normal · Fancy1 · Over by Over. Example markets: 6 Over Runs, 10 Over Runs, Total Wickets, Session Runs, First Innings Score. Each market shows market name, Yes odds, No odds, min stake, and max stake.

  • Fancy markets are configurable and may open or suspend at any time; odds update automatically.

Premium markets

Displayed when available. Filters vary by sport — for cricket: All · Match · Other · Head-to-Head · Over · Player · Innings. Example cricket markets: Winner (incl. Super Over), Innings Over-band totals (e.g. 1st Innings Overs 0–15 / 0–20 / 0–25 Over/Under), Team Highest Score, Top Batsman, Total Sixes, Toss Winner. Football and Tennis carry their own Premium sets where supplied by the API.

  • Premium markets depend on the Sports API and may vary from match to match; not every event contains Premium markets.

Market categories & odds display

Where applicable, tabs filter available markets. Each market displays selection name, available odds, available volume, Back odds, Lay odds, and min/max bet. Odds update automatically during the match with no page refresh. Every market section supports expand / collapse.

5.7 Bet Slip

Located on the right of the page. Empty state shows "Your Bet Slip is Empty." After selecting odds, the Bet Slip displays: selected team, selected market, bet type (Back / Lay), selected odds, stake amount, profit/loss preview, and min/max bet.

Reference screen

Bet slip
Bet Slip — odds, stake & quick amounts

Stake selection

Users can enter a custom stake or choose predefined values:

100 500 1,000 5,000 10,000 25,000 50,000 100,000 500,000

Placement

  • Buttons: Cancel · Place Bet.
  • Profit/loss preview updates automatically based on odds, stake and bet type.
  • After successful validation the bet is placed, a confirmation message is displayed, and the bet slip resets automatically.

Validation

The system validates minimum stake, maximum stake, market status, odds availability, user balance, and market suspension.

5.8 My Bets

Users can switch between Bet Slip and My Bets. My Bets currently shows a compact matched-bet list — match/selection, odds and stake — with a "See more" link for full detail.

Reference screen

My Bets
My Bets — matched bet list

Current build shows limited columns (Match, Odds, Stake). Full column set (status, profit/loss, market) to be confirmed against further screenshots.

5.9 Book Position / Book Calculator

The platform displays real-time book position: potential profit, potential loss, book value, and exposure. Green value = potential profit; red value = potential loss. Selecting the book value opens a popup showing the calculated position for all outcomes — outcome, profit/loss, exposure, and net position — updating automatically whenever odds or stake change.

5.10 Market Status, Restrictions & Live Updates

StatusDescription
OpenBetting allowed
Suspended / LockedBetting disabled
ClosedMarket settled
Resulted / SettledOutcome declared
In Play / UpcomingLive / scheduled state
VoidMarket voided

Market restrictions

Certain markets define minimum bet, maximum bet, maximum exposure, and maximum profit; users cannot exceed these limits.

Live updates

The match page automatically updates live odds, market status, scorecard, bet status, book position, and available markets — without requiring a page refresh.

Business rules

  • Market data is fetched from the integrated Sports API; odds update automatically.
  • Suspended markets remain visible but non-interactive.
  • Market visibility depends on event type — see Markets by Sport above.
  • Minimum and maximum stake limits are configurable by the Admin Panel.
  • Users must have sufficient wallet balance before placing a bet.

Excluded features

Cash Out Partial Cash Out Bet Builder Multi-Bet Builder Bet Sharing Social Betting One-Click Betting Market Favourites

Acceptance criteria

No.Requirement
1User can open a match from the sports listing.
2Match information is displayed correctly.
3Scorecard and Live TV are shown when supported by the API, without live commentary.
4Match Odds market displays real-time Back and Lay prices.
5Bookmaker, Fancy and Premium markets display when available, matching the Markets by Sport table.
6Bet Slip updates when a selection is clicked; odds are fixed (no +/− adjustment control).
7My Bets displays the matched-bet list for the selected user.
8Suspended markets cannot be selected for betting.
9Odds refresh automatically without page reload.
10Stake validation is enforced before bet placement.
Client Approval — Sports Betting Market
ApprovedChanges Required
Remarks:
Module 06
Casino
Module ID CAS-001Role Registered / Demo UserNav Header → Casino · Sidebar → Casino · Home Quick Access

The Casino module provides access to third-party casino games through an integrated Casino API. Users browse the lobby by category and provider and launch games directly; bets and results are recorded in Casino Bet History (Module 10).

Reference screen

Casino lobby
Casino lobby — categories, providers & game grid

6.1 Casino Lobby

ComponentDescription
Category tabsTrending · Most Played · International Casino · Indian Casino · Live Casino · Table · Slots · Crash
Provider filterFilter the lobby by game provider
SearchFind a game by name
Game cardsThumbnail + game name; tap/click to launch

6.2 Game Launch & Wallet

  • Games launch in-platform through the Casino API (single-wallet integration — the main wallet balance is used).
  • Bet amount is deducted at bet placement; winnings are credited on round settlement.
  • Every casino bet and result is recorded and visible in Casino Bet History.
  • Casino turnover counts toward deposit turnover and bonus turnover as defined in the Wallet & Bonus modules.

6.3 Availability & Restrictions

  • Available games, categories and providers depend on the integrated Casino API and admin configuration; only active games are displayed.
  • Demo users cannot place real-money casino bets.
  • If a game or provider is unavailable, it is hidden or shown as disabled.

6.4 Acceptance Criteria

No.Requirement
1Casino lobby displays categories, providers and game cards from the Casino API.
2User can search and filter games; only active games are shown.
3Game launches with the main wallet; bets debit and winnings credit correctly.
4All casino bets appear in Casino Bet History.
5Demo users are restricted from real-money play.
Client Approval — Casino
ApprovedChanges Required
Remarks: ______________________________________________________________________
Module 07
Manual Deposit (Deposit Request)
Module ID DEP-001Role Registered User → Banker / AdminNav Header Deposit · Sidebar Deposit

The Manual Deposit module lets a user add funds to their wallet by transferring money to an admin-configured payment account (e-wallet, local bank, or crypto) and submitting a deposit request with the transaction reference. This is a fully manual flow — there is no payment gateway. Submitted requests are reviewed by the banker / admin and the balance is credited only after approval.

How the manual flow worksAdmin configures the payout accounts and rules in the Admin Panel → user transfers money offline and submits a request with the transaction reference → banker reviews and approves or rejects → on approval the wallet is credited.

Reference screens

Deposit landing
Deposit — method selection
E-wallet deposit form
E-wallet deposit form + rules
Crypto deposit form
Crypto deposit form (empty state)

Features included

Payment Method Categories (E-wallet / Local Bank / Crypto)Included
E-wallet Providers (bKash / Nagad / Rocket)Included
Admin-configured Account DetailsIncluded
Copy Account NumberIncluded
Account Type Display (e.g. Agent)Included
Upload Payment ProofOptional
Unique Transaction Reference (UTR)Included
Transaction Hash (Crypto)Included
Amount with Min / Max LimitsIncluded
Quick-Add Buttons & StepperIncluded
Crypto Amount Conversion (USDT ↔ BDT)Included
Rules & Regulations PanelIncluded
Deposit Request SubmissionIncluded
Transaction History & FiltersIncluded

Deposit flow

Admin configures payment accounts & rules (Admin Panel)
User clicks Deposit
E-wallet
Local Bank
Crypto
Transfer money manually to the displayed account
Enter UTR / Transaction Hash + amount (+ optional proof)
Submit deposit request → status Pending
Banker reviews the request
On approval, wallet balance is credited

7.1 Payment Methods

MethodOptions / detail
E-walletbKash · Nagad · Rocket (each configurable / can be disabled)
Local BankBank transfer to an admin-configured account
CryptoUSDT wallet with live BDT conversion

Only methods and providers configured in the Admin Panel are shown. Unavailable providers appear disabled.

7.2 E-wallet Deposit Form

FieldDescriptionType
ProviderSelect bKash / Nagad / RocketSelect
Mobile NumberAdmin-configured account number, with copy buttonDisplay
Account Typee.g. Agent / PersonalDisplay
Upload Payment ProofScreenshot of the transferOptional
Unique Transaction Reference (UTR)8–20 charactersMandatory
AmountNo fixed minimum / maximum is enforced at this timeMandatory

Amount controls

Stepper ( / +) plus quick-add buttons: +500 +1,000 +5,000 +10,000 +25,000

7.3 Crypto Deposit Form

FieldDescriptionType
Wallet AddressAdmin-configured crypto wallet / QRDisplay
Upload Payment ProofScreenshot of the transferOptional
Transaction HashOn-chain transaction hashMandatory
Amount (USDT)Entered in USDT with live BDT conversion at the configured rateMandatory

If no crypto wallet is configured, "No account has been added yet." is shown and the Submit button is disabled.

7.4 Rules & Regulations Panel

Displayed alongside the form. Content is fixed and method-specific — it is not editable from the Admin Panel. Typical content:

  1. Cash out / send money to the account number shown below.
  2. Input the Transaction ID / UTR.
  3. Minimum deposit is 100 (BDT).
ImportantSend money only to the account number displayed at the time of submission. To avoid loss of funds, do not save any account number on your device — displayed details are dynamic and may change.

7.5 Empty States & Transaction History

Empty state

When the admin has not configured an account for the selected method, the form area shows "No account has been added yet." and the Submit button is disabled.

Transaction history

A history table lists all deposit requests, with a Wallet / Bank vs Crypto toggle, a From–To date range filter, and "Show N entries" pagination. Empty state: "No Data Available".

ColumnDescription
Txn Ref IDSystem-generated request reference
Request AtTimestamp the request was submitted
Updated AtTimestamp of the last status change
AmountRequested deposit amount
Payment MethodE-wallet provider / bank / crypto
UTRUser-entered transaction reference / hash
StatusPending / Approved / Rejected
RemarkBanker note (e.g. rejection reason)

Request statuses

Pending awaiting banker review   Approved balance credited   Rejected not credited; see remark

7.6 Business Rules

  • Payment accounts and providers are configured from the Admin Panel; only active methods are shown. The Rules & Regulations text is fixed and is not admin-configurable.
  • Displayed account details are dynamic — the user must send funds to the exact account shown at submission time.
  • No fixed minimum / maximum deposit amount is enforced at this time.
  • UTR must be 8–20 characters; Transaction Hash is mandatory for crypto.
  • Payment proof upload is optional.
  • Crypto deposits display a live USDT → BDT conversion at the admin-configured rate.
  • Every submission creates a request in Pending status routed to the banker; it is never auto-credited.
  • On approval the wallet balance is credited; on rejection the remark explains the reason.
  • Demo users cannot submit real deposits.

Not included

Automatic Payment Gateway Auto-credit / Auto-approval Card / Net-banking Recurring Deposits Automated UTR Verification

Exclusions above reflect the manual flow shown; adjust if any should move into scope.

7.7 Acceptance Criteria

No.Requirement
1User can open Deposit from the header button and sidebar.
2E-wallet, Local Bank and Crypto categories are displayed.
3E-wallet providers are selectable; unavailable providers are disabled.
4Admin-configured account details display correctly with a copy option.
5When no account is configured, "No account has been added yet." shows and Submit is disabled.
6Amount field accepts entry with no fixed min/max enforced at this time.
7UTR (8–20 chars) / Transaction Hash is mandatory and validated.
8Optional payment proof can be uploaded.
9Quick-add buttons and the stepper update the amount correctly.
10Crypto amount shows the correct USDT → BDT conversion.
11Submitting creates a Pending deposit request routed to the banker.
12Transaction history shows all columns, statuses and remarks correctly.
13Date range and Wallet/Bank–Crypto filters work.
14Demo users cannot submit real deposits.
Client Approval — Manual Deposit
ApprovedChanges Required
Remarks:
Module 08
Manual Withdrawal (Withdrawal Request)
Module ID WDR-001Role Registered User → Banker / AdminNav Header Withdraw · Sidebar Withdraw

The Manual Withdrawal module lets a user withdraw funds from their available balance to their own payout account (e-wallet, local bank, or crypto). Unlike deposit, the user adds and manages the destination accounts. The user selects an account, enters an amount within the withdrawable balance, and submits a request. It is a fully manual flow — the banker / admin reviews the request and pays out; there is no automatic payout.

How the manual flow worksUser adds a payout account → selects the account and enters an amount within Available Withdrawal → submits a withdrawal request (status Pending) → banker reviews and pays out → on approval the funds are sent and the balance is debited.

Reference screens

Withdraw landing
Withdraw — method selection
E-wallet payout account
E-wallet payout account + balance summary
Bank payout account
Bank payout account (Add Account fields)
Crypto payout account
Crypto payout account (TRON → BDT)

Features included

Payment Method Categories (E-wallet / Local Bank / Crypto)Included
Balance Summary (Total / Deposit / Locked / Available)Included
Add Account (E-wallet / Bank / Crypto)Included
Provider Filter Tabs (All / bKash / Nagad / Rocket)Included
Saved Account Cards — Copy & DeleteIncluded
Upload Crypto Wallet QROptional
Amount with Min / Max LimitsIncluded
Quick-Add Buttons & StepperIncluded
Crypto Amount Conversion (TRON / USDT ↔ BDT)Included
Rules & Regulations PanelIncluded
Withdrawal Request SubmissionIncluded
Transaction History & FiltersIncluded

Withdrawal flow

User clicks Withdraw
E-wallet
Local Bank
Crypto
Add / select a payout account (Add Account if none)
Enter amount within Available Withdrawal (100–100,000)
Submit withdrawal request → status Pending
Banker reviews the request
On approval, funds are paid out & balance debited

8.1 Balance Summary

FieldDescription
Total BalanceFull wallet balance
Deposit BalanceFunds credited from deposits
Locked BalanceAmount locked (open bets / unmet turnover requirement)
Available WithdrawalAmount actually withdrawable now
Key ruleA withdrawal cannot exceed the Available Withdrawal balance — not the total balance. Funds locked in open bets or subject to an unmet turnover requirement are not withdrawable.

8.2 Add & Manage Payout Accounts

The user adds their own destination accounts via the Add Account modal. Saved accounts appear as cards with a copy action (number / address) and a delete (trash) action. For e-wallet, provider filter tabs (All / bKash / Nagad / Rocket) filter the saved accounts.

Add Account — E-wallet

FieldDescriptionType
ProviderbKash / Nagad / RocketMandatory
Mobile NumberPayout mobile number (+880)Mandatory

Add Account — Local Bank

FieldDescriptionType
Bank NameName of the bankMandatory
Branch NameBranch of the accountMandatory
DistrictDistrict of the branchMandatory
Account HolderName on the accountMandatory
Account NumberBank account numberMandatory

Add Account — Crypto

FieldDescriptionType
Crypto Wallet QRUpload wallet QR codeOptional
Wallet AddressDestination wallet addressMandatory

Until an account is added, the form area shows "No account has been added yet."

8.3 Amount & Crypto Conversion

No fixed minimum / maximum withdrawal amount is enforced at this time — the only limit is the user's Available Withdrawal balance. Controls: stepper ( / +) plus quick-add buttons +500 +1,000 +5,000 +10,000 +25,000.

For crypto, the card displays the current conversion rate (e.g. 1 TRON = 124 BDT) with the amount shown in both the crypto unit and BDT.

8.4 Rules & Regulations Panel

Displayed alongside the form. Content is fixed and method-specific — it is not editable from the Admin Panel. Communicates withdrawal conditions, processing time, and any turnover requirement before funds become withdrawable.

8.5 Transaction History

A history table lists all withdrawal requests, with a Wallet / Bank vs Crypto toggle, a From–To date range filter, and "Show N entries" pagination. Empty state: "No Data Available". The destination column changes with the method — Bank for wallet/bank, Wallet Address for crypto.

ColumnDescription
Txn Ref IDSystem-generated request reference
Request AtTimestamp the request was submitted
Updated AtTimestamp of the last status change
AmountRequested withdrawal amount
Payment MethodE-wallet provider / bank / crypto
Bank / Wallet AddressDestination account (bank for wallet/bank, wallet address for crypto)
StatusPending / Approved / Rejected
RemarkBanker note (e.g. rejection reason)

Request statuses

Pending awaiting banker review   Approved paid out; balance debited   Rejected not paid; funds retained, see remark

8.6 Business Rules

  • Users add and manage their own payout accounts; saved accounts can be deleted.
  • Withdrawal amount must be within the Available Withdrawal balance; no fixed minimum / maximum is enforced at this time, and this is not admin-configurable.
  • Available Withdrawal reflects funds eligible after locked balance and any turnover requirement.
  • The Rules & Regulations text is fixed and method-specific — it is not admin-configurable.
  • Crypto withdrawals display a live conversion at the admin-configured rate.
  • Every submission creates a request in Pending status routed to the banker; it is never auto-paid.
  • On approval the funds are paid out and the balance is debited; on rejection the funds are retained and the remark explains the reason.
  • Demo users cannot submit withdrawals.

Not included

Auto Payout / Instant Withdrawal Automated Payout Gateway Card Refunds Auto Account Verification

Exclusions above reflect the manual flow shown; adjust if any should move into scope.

8.7 Acceptance Criteria

No.Requirement
1User can open Withdraw from the header button and sidebar.
2E-wallet, Local Bank and Crypto categories are displayed.
3Balance summary shows Total, Deposit, Locked and Available Withdrawal correctly.
4User can add an e-wallet payout account (provider + mobile number).
5User can add a bank account with all required fields.
6User can add a crypto wallet (address + optional QR).
7Saved accounts display with a copy action and can be deleted.
8Provider filter tabs filter saved e-wallet accounts.
9Amount cannot exceed Available Withdrawal balance (no fixed min/max enforced at this time).
10Quick-add buttons and the stepper update the amount correctly.
11Crypto conversion (crypto → BDT) displays correctly.
12When no account exists, "No account has been added yet." is shown.
13Submitting creates a Pending withdrawal request routed to the banker.
14Transaction history shows correct columns (Bank / Wallet Address), status and remark.
15Date range and Wallet/Bank–Crypto filters work.
16Demo users cannot submit withdrawals.
Client Approval — Manual Withdrawal
ApprovedChanges Required
Remarks:
Module 09
Bet History
Module ID RPT-001Role Registered / Demo UserNav Sidebar → Bet History

Bet History lists the user's sports bets across two tabs — Current Bet (unsettled / open) and Past Bet (settled). Records are filterable by sport and by date range.

Current vs PastCurrent Bet = unsettled bets, still open in the market (shows liability & potential profit). Past Bet = settled bets, with the final result and profit/loss.

Reference screens

Current bet
Current Bet (unsettled) — liability & potential profit
Past bet
Past Bet (settled) — profit/loss & Won/Lost

Filters

Sports dropdown (All / Cricket / Football / Tennis) · From–To date range · "Show N entries" pagination.

Current Bet — columns (unsettled)

ColumnDescription
Place DateWhen the bet was placed
Sport NameCricket / Football / Tennis
Event NameMatch / event
MarketMatch Odds / Session / Bookmaker etc.
Bet TypeBack / Lay
SelectionRunner / outcome backed
User RateOdds taken
AmountStake
LiabilityAmount at risk
Potential ProfitProfit if the bet wins

Past Bet — columns (settled)

ColumnDescription
Place DateWhen the bet was placed
Settled AtWhen the bet was settled
Sport Name · Event Name · MarketBet context
Bet Type · Selection · User Rate · AmountBet details
Profit / LossRealised P/L
StatusWon / Lost / Rollback

Business rules

  • Current Bet shows only unsettled bets; Past Bet shows only settled bets.
  • Sport and date-range filters apply to both tabs.
  • Values are read-only; this is a reporting view.

Acceptance criteria

No.Requirement
1Current Bet tab lists unsettled bets with liability and potential profit.
2Past Bet tab lists settled bets with profit/loss and Won/Lost status.
3Sports filter (All/Cricket/Football/Tennis) works on both tabs.
4Date range filter works.
5Pagination and entries-per-page work.
Client Approval — Bet History
ApprovedChanges Required
Remarks:
Module 10
Casino Bet History
Module ID RPT-002Role Registered / Demo UserNav Sidebar → Casino Bet History

Lists the user's casino game bets, one row per game round, filterable by date range.

Reference screen

Casino bet history
Casino Bet History

Columns

ColumnDescription
Game NameCasino game played
Game Round IDProvider round identifier
Transaction IDUnique transaction reference (with copy)
Bet IDInternal bet identifier
Bet AmountStake for the round
P/LProfit / loss (— for pending)
Bet OutcomeWon / Lost / Rollback
Date / TimeWhen the round was played

Business rules

  • Data is supplied by the integrated casino provider(s); read-only.
  • Filterable by date range with entries-per-page pagination.
  • Transaction ID is copyable for support reference.

Acceptance criteria

No.Requirement
1All casino rounds are listed with the correct columns.
2Won/Lost outcome and P/L display correctly.
3Transaction ID can be copied.
4Date range filter and pagination work.
Client Approval — Casino Bet History
ApprovedChanges Required
Remarks:
Module 11
Betting Profit & Loss (Market-wise)
Module ID RPT-003Role Registered / Demo UserNav Sidebar → Betting Profit & Loss

A profit & loss report summarised per market for sports (not per event, not per individual bet), and per game round for casino. A Total P&L is shown for the selected date range, plus a per-tab P&L subtotal.

Market-wise, not event-wise or bet-wiseFor sports tabs (Cricket / Football / Tennis), each row is a single market (e.g. Match Odds, Bookmaker, Fancy) with its net profit/loss across all bets on that market — not one row per event and not one row per bet. The Casino tab lists per-game rounds.

Reference screen

Betting profit and loss
Betting Profit & Loss (event-wise)

Header & filters

Total P&L badge for the range · From–To date range · sport tabs: Cricket · Football · Tennis · Casino · per-tab Profit & Loss subtotal.

Sports tab — columns (market-wise)

ColumnDescription
EventMatch / event name
MarketMatch Odds / Bookmaker / Fancy / Premium
SportCricket / Football / Tennis
Net Profit / LossAggregated P/L across all bets on that market
DateEvent date

Casino tab — columns

ColumnDescription
GameCasino game
Round IDProvider round identifier
StatusWon / Lost / Rollback
Bet Amount · Win AmountStake and payout
DateWhen the round was played

Business rules

  • Sports P&L is aggregated per market (not per event, not per bet); casino P&L is listed per round.
  • Total P&L and the per-tab subtotal reflect the selected date range and tab.
  • Positive P/L is shown in green, negative in red.

Acceptance criteria

No.Requirement
1Sports tabs show market-wise net P&L, one row per market.
2Casino tab shows per-round P&L.
3Total P&L and per-tab subtotal calculate correctly for the range.
4Date range filter and tab switching work.
Client Approval — Betting Profit & Loss
ApprovedChanges Required
Remarks:
Module 12
Account Statement
Module ID RPT-004Role Registered / Demo UserNav Sidebar → Account Statement

A complete wallet ledger of every credit and debit, with a running balance. Filterable by transaction type, context, and date range.

Reference screen

Account statement
Account Statement — wallet ledger

Filters

FilterOptions
TypeAll · Debit · Credit
ContextAll · Won · Lost · Bonus · Rollback · Deposit · Withdrawal
Date rangeFrom – To

Columns

ColumnDescription
Transaction IDLedger entry reference
Transaction TimeTimestamp
DescriptionSport / event / market or transaction detail
TypeCredit / Debit
AmountSigned amount (+ credit / − debit)
ContextWon / Lost / Bonus / Rollback / Deposit / Withdrawal
StatusConfirmed
BalanceRunning wallet balance after the entry

Business rules

  • Every wallet movement produces a ledger entry; read-only.
  • Running balance reflects the balance after each transaction.
  • Type and Context filters combine with the date range.

Acceptance criteria

No.Requirement
1All wallet movements are listed with correct type, amount and running balance.
2Type filter (All/Debit/Credit) works.
3Context filter (Won/Lost/Bonus/Rollback/Deposit/Withdrawal) works.
4Date range filter and pagination work.
Client Approval — Account Statement
ApprovedChanges Required
Remarks:
Module 13
Promotions
Module ID PRM-001Role All UsersNav Header → Promotions · Sidebar → Promotions

The Promotions page lists all active offers and bonus campaigns configured by the admin. Each promotion is displayed as a card with its banner, title, and short description.

Reference screens

Promotions page
Promotions — active offer cards
Promotion detail page
Promotion detail — opened after clicking a card

13.1 Features

FeatureDescription
Promotion cardsBanner image, title and short description per promotion
Details viewSelecting a card opens the full offer details, terms and eligibility
Admin-managedPromotions are created, activated and sequenced from the Admin Panel
Linked actionsA promotion may deep-link to the related page (e.g. Deposit, Referral, Casino)

13.2 Business Rules

  • Only active promotions are displayed; expired or disabled offers are hidden automatically.
  • Display order follows the sequence configured in the Admin Panel.
  • Bonus-linked promotions (Joining, Referral, Loss-Back, Refill) follow the rules defined in the Bonus module (Module 18).
  • Demo users can view promotions but cannot claim offers.

13.3 Acceptance Criteria

No.Requirement
1Promotions page lists all active promotions with banner, title and description.
2Selecting a promotion shows its full details and terms.
3Expired / disabled promotions are not shown.
4Display sequence matches admin configuration.
Client Approval — Promotions
ApprovedChanges Required
Remarks: ______________________________________________________________________
Module 14
Stake Settings
Module ID ACC-001Role Registered UserNav Sidebar → Stake Settings

Lets the user configure the quick-stake preset buttons used in the bet slip. Each of the nine presets has an editable Button Label and an Input Value (with − / + stepper). Changes are saved with the Save button.

Reference screen

Stake settings
Stake Settings — 9 quick-stake presets

Behaviour

ElementDescription
Preset slots9 configurable stake presets
Button LabelText shown on the bet-slip quick-stake button
Input ValueNumeric stake added when tapped (− / + stepper)
SavePersists the presets to the user's account

Default presets seen: 100 · 500 · 1,000 · 5,000 · 10,000 · 25,000 · 50,000 · 100,000 · 500,000.

Business rules

  • Saved presets replace the default quick-stake buttons in the bet slip.
  • Values should be positive numbers; the label may differ from the value.
  • Settings persist per user until changed again.

Acceptance criteria

No.Requirement
1All nine preset labels and values are editable.
2Stepper adjusts the input value correctly.
3Save persists the presets and they appear in the bet slip.
Client Approval — Stake Settings
ApprovedChanges Required
Remarks:
Module 15
My Profile
Module ID ACC-002Role Registered UserNav Sidebar → My Profile

Displays the user's account summary and profile information, with an Edit Profile action.

Reference screen

My profile
My Profile — summary cards & profile info

Summary cards

Exposure Credited · Available Balance · Bonus Rewarded.

Profile information

FieldDetail
UsernameRead-only login ID
First NameEditable
Last NameEditable
Email AddressEditable (optional)
Phone NumberRegistered mobile (+880)

Business rules

  • Username is not editable.
  • Edit Profile enables editing of the permitted fields and saves changes.
  • Summary cards reflect live account values.
  • Demo users cannot update the profile.

Acceptance criteria

No.Requirement
1Summary cards show Exposure Credited, Available Balance and Bonus Rewarded.
2Profile fields display correctly; username is read-only.
3Edit Profile saves permitted changes.
Client Approval — My Profile
ApprovedChanges Required
Remarks:
Module 16
My Wallet & Deposit Turnover
Module ID WAL-001Role Registered UserNav Sidebar → My Wallet

The central wallet view. It shows all balance types, the status of each deposit's turnover requirement, and an explanation of how turnover is calculated and prioritised. This is the anchor for the whole bonus / turnover system.

Reference screen

My wallet
My Wallet — balances & deposit turnover progress

Balance summary cards

CardMeaning
Total BalanceFull wallet balance across all sources (deposit + bonus + winnings)
Deposit BalanceFunds deposited by the user (usable for betting)
Bonus BalanceActive bonus amount held in the Bonus Wallet, not yet released
Locked BalanceAmount locked (open bets / turnover not yet met) — not withdrawable
Available WithdrawalsAmount actually withdrawable now

Deposit Turnover Progress

Toggle between Active and Completed. Each deposit shows a progress card until its turnover requirement is met:

Deposit Turnover — must be completed firstDeposit ৳50,000
Required ৳50,000Completed ৳27,164.8Remaining ৳22,835.2

Each card shows Required / Completed / Remaining turnover and a percentage progress bar. A notice reads "Complete deposit turnover — bonus turnover begins."

Understanding Your Turnover

Priority system

  1. Deposit turnover must complete first.
  2. Bonus turnover starts after deposit turnover is done.
  3. New deposits pause bonus turnover.

Calculation formula

Turnover formula
Turnover =MIN(Bet Amount, Settlement Amount)
Settlementwin / loss / void result

Business rules

  • Balance cards reflect live values and update after every transaction and settlement.
  • Deposit turnover is always cleared before any bonus turnover progresses.
  • A new deposit pauses in-progress bonus turnover until the new deposit turnover is met.
  • Only the Available Withdrawals amount can be withdrawn.

Acceptance criteria

No.Requirement
1All five balance cards (incl. Total Balance) display correct live values.
2Active / Completed toggle filters the deposit turnover cards.
3Each card shows Required, Completed, Remaining and progress %.
4Priority system and calculation formula are displayed.
5Turnover progresses per MIN(Bet, Settlement) and priority rules.
Client Approval — My Wallet
ApprovedChanges Required
Remarks:
Module 17
Turnover History
Module ID RPT-005Role Registered / Demo UserNav Sidebar → Turnover History

A per-bet log of how much effective turnover each settled bet contributed. This is what feeds the deposit / bonus turnover progress. Two tabs — Sports and Casino — filterable by date range.

Amount vs TurnoverThe Amount column is the bet/settlement value; the Turnover column is the effective turnover credited, which can be lower (e.g. a premium bet of +100 crediting only 80). The rules below define exactly how effective turnover is derived.

Reference screens

Turnover history sports
Turnover History — Sports
Turnover history casino
Turnover History — Casino

Sports tab — columns

ColumnDescription
Event DateDate & time of the bet
Event / MarketSport / event / market (e.g. Cricket / England v India)
Market TypeNormal · Fancy · Premium
AmountBet / settlement amount
TurnoverEffective turnover credited

Casino tab — columns

ColumnDescription
Event DateDate & time of the round
Game NameCasino game played
AmountReal-money bet amount
TurnoverEffective turnover credited

Effective Turnover calculation

ResultRuleExample
Win < betEffective turnover = win amountBet 100, win 80 → 80
Win > betEffective turnover = bet amountBet 100, win 130 → 100
Loss < betEffective turnover = loss amountBet 100, lose 40 → 40
Loss > betEffective turnover = bet amountBet 100, lose 150 → 100
DrawEffective turnover = 0any → 0
Slot gamesEffective turnover = total real-money bets

Business rules

  • Only settled bets contribute effective turnover; unsettled bets do not appear.
  • Effective turnover follows the table above (equivalent to MIN(bet, settlement) with draws = 0).
  • Turnover from this log accrues to deposit turnover first, then bonus turnover.
  • Read-only; filterable by Sports / Casino and date range with pagination.

Acceptance criteria

No.Requirement
1Sports and Casino tabs display the correct columns.
2Effective turnover is calculated per the rules table.
3Market Type (Normal/Fancy/Premium) shows for sports rows.
4Date range filter and pagination work.
5Turnover totals reconcile with the wallet turnover progress.
Client Approval — Turnover History
ApprovedChanges Required
Remarks:
Module 18
Bonus
Module ID BON-001Role Registered UserNav Sidebar → Bonus

The Bonus module shows all bonuses a user has earned, their turnover-release progress, and a full statement of bonus transactions. NOTOUT supports five bonus types, all configured by admin and credited to the separate Bonus Wallet. A bonus is released to withdrawable balance only after its turnover requirement is met.

Core mechanicEvery bonus credits to the Bonus Wallet (not directly withdrawable). Each bonus carries a turnover requirement (turnover multiplier × bonus amount). As the user bets, effective turnover accrues — deposit turnover first, then bonus turnover — and once the requirement is met the bonus is released to the withdrawable balance.

Reference screens

Bonus turnover
Bonus — Total Bonuses + Bonus Turnover cards
Bonus statement
Bonus Statement

18.1 The Five Bonus Types

BonusTriggerBasis
Joining BonusNew user's first deposit% of first deposit
Referral BonusReferred user's first deposit% for referrer + % for new user
Referral Loss CommissionReferred users' net losses (passive income)% of referred losses
Loss-Back BonusUser's own net losses over a period (cashback)% of net losses
Refill / Top-Up BonusSubsequent (repeat) deposits% of recharge amount

1. Joining Bonus

First-deposit bonus for new users. Admin sets bonus % of deposit, a turnover multiplier (e.g. 2× bonus), minimum deposit, and maximum bonus. Credited to Bonus Wallet; released after turnover.

Example
First deposit৳1,000
Bonus % → creditedbonus % × deposit
Release requirementturnover multiplier × bonus

2. Referral Bonus

Rewards both sides on the referred user's first deposit: a referrer bonus (% of the referred user's first deposit) and a new-user bonus (% of their deposit). Admin sets each %, minimum deposit/payout, maximum bonus, and the release condition — Instant Withdrawal or Turnover.

3. Referral Loss Commission

Passive income: the referrer earns a % of their referred users' net losses. Admin sets commission %, release frequency (Daily / Weekly / Monthly), minimum payout (commission accumulates until this threshold), and max earnings per referrer (0 = unlimited).

4. Loss-Back Bonus

Cashback to retain users: when a user's net losses over a period exceed a loss threshold, they receive a % of net losses back. Admin sets loss threshold, bonus %, release condition (Daily / Weekly / Monthly), and maximum bonus. Credited to Bonus Wallet.

5. Refill / Top-Up Bonus

Bonus on repeat deposits to encourage recharges. Admin sets a default bonus % (or multi-tier — higher deposits earn higher %), minimum recharge to qualify, maximum bonus per refill, and a turnover multiplier.

18.2 Bonus Page Layout

Total Bonuses (summary cards)

A card per bonus type showing the amount earned to date: Joining Bonus · Referral Bonus · Referral Loss Commission · Loss-Back Bonus · Refill Bonus (carousel).

Total Active Bonuses (side panel)

MetricDescription
Total EarningsLifetime bonus earnings
This MonthCurrent-month bonus earnings
Previous MonthPrevious-month bonus earnings

How To Work (info panel)

  • Instant Bonus — earn 50% of first deposit.
  • Passive Income — earn 10% commission weekly.
  • New User Bonus — friend gets 30% bonus.

Percentages shown are illustrative defaults from the reference build; actual values are admin-configured per bonus.

18.3 Bonus Turnover Tab

Toggle Active / Completed. Each active bonus renders a release-progress card:

Refill Bonus — Deposit bonus · Turnover Required ActiveBonus Bal. ৳500
Deposit ৳5,000Release Progress 0%৳0 / ৳500 · ৳500 remaining

Each card shows: bonus category & type, Active/Completed status, source deposit, bonus balance, release progress %, and turnover completed / required / remaining.

18.4 Bonus Statement Tab

A full ledger of bonus transactions, with a From–To date range filter and pagination.

ColumnDescription
S. NoRow number
Bonus TypeJoining / Referral / Loss Commission / Loss-Back / Refill
Awarded DateWhen the bonus was granted
Awarded To WalletDestination wallet (Bonus Wallet)
Original Bonus AmountBonus granted
Turnover RuleMultiplier / release rule applied
Turnover RequiredTurnover needed to release
Turnover CompletedTurnover achieved so far
Turnover RemainingTurnover still required
StatusActive / Completed / Expired

Empty state: "No bonus statements found."

18.5 Business Rules & Exclusions

  • All five bonus types are created and enabled by admin; each is saved inactive until enabled, and each has a validity window (From–To).
  • Bonuses credit to the Bonus Wallet and are not withdrawable until their turnover requirement is met.
  • Turnover release respects the wallet priority (deposit turnover first, then bonus turnover; new deposits pause bonus turnover).
  • Release conditions vary by type: turnover multiplier (Joining, Refill), Instant Withdrawal or Turnover (Referral), or period-based Daily/Weekly/Monthly (Loss Commission, Loss-Back).
  • Maximum bonus caps and minimum thresholds are enforced per admin configuration.
  • Expired/unmet bonuses are forfeited per the configured rules.
  • Demo users do not earn real bonuses.

Not included

Manual bonus claim codes Bonus transfer between users Partial bonus release

Confirm the exclusions above — flag any that should be in scope.

Acceptance criteria

No.Requirement
1All five bonus types are supported and credited to the Bonus Wallet.
2Total Bonuses cards and the Active Bonuses panel show correct amounts.
3Bonus Turnover tab shows release-progress cards with Active/Completed toggle.
4Bonus Statement shows all columns and statuses with date filter.
5A bonus releases to withdrawable balance only after turnover is met.
6Turnover priority (deposit → bonus, paused by new deposit) is enforced.
7Bonus caps, thresholds and validity windows are respected.
Client Approval — Bonus
ApprovedChanges Required
Remarks:
Module 19
Referral
Module ID REF-001Role Registered UserNav Sidebar → Referral

The Referral module lets a user invite others with a personal link / code, track referred users, and earn from their activity — both a first-deposit referral bonus and ongoing referral loss commission.

Reference screen

Referral page
Referral — link, code, referred users & earnings

Summary cards & side panel

ElementDescription
Total ReferralsCount of referred users (active users)
Total EarningsAll-time referral income
This MonthCurrent-month referral income
Referral LinkPersonal share link (copy & share) — e.g. .../register?ref=CODE
Referral CodePersonal referral code (copy)
Referral Deposit BonusEarnings from referred users' deposits
Loss CommissionEarnings from referred users' losses

Your Referred Users — table

Search by username · Status filter (All / Active / Inactive) · From–To date range.

ColumnDescription
S. No.Row number
User NameReferred user
Join DateWhen they registered
First DepositTheir first deposit amount
Bonus EarningsReferral bonus you earned from them
Loss CommissionLoss commission you earned from them
StatusActive / Inactive

Empty state: "No referred users found."

19.1 How To Work / Business Rules

  • Instant Bonus — earn 50% of first deposit; Passive Income — 10% commission weekly; New User Bonus — friend gets 30% bonus. (Illustrative; admin-configured.)
  • Referral link and code are unique per user; a referred user is attributed when they register via the link/code.
  • Referral bonus is granted on the referred user's first deposit; loss commission accrues from referred users' net losses per the configured frequency.
  • Read-only reporting; earnings post to the wallet/bonus per configuration.

Not included

Manual referral attribution Sub-affiliate management UI Custom per-user commission rates

Acceptance criteria

No.Requirement
1Referral link and code display and can be copied / shared.
2Summary cards show total referrals and earnings correctly.
3Referred users table shows all columns with search, status and date filters.
4Referral bonus and loss commission are attributed to the correct referrer.
Client Approval — Referral
ApprovedChanges Required
Remarks:
Module 20
Affiliate
Module ID AFF-001Role Registered User → AffiliateNav Sidebar → Affiliate

Any user can apply to become an affiliate. Affiliates earn a weekly commission calculated on the net loss of their active referred users, at a tiered rate (25%–75%) that rises with the number of active referred users. Commission is paid after platform deduction and payment charges. The Affiliate page has three tabs: Dashboard, My Referrals, and Weekly Commission Report.

Referral vs AffiliateReferral is open to everyone and pays a first-deposit referral bonus + loss commission automatically. Affiliate is an application-based tier (requires KYC) that pays a tiered weekly commission on the net loss of a book of active referred users, settled weekly.

Reference screens

Affiliate dashboard
Affiliate — Dashboard (commission slabs 25–75%)
Affiliate my referrals
My Referrals
Affiliate weekly commission
Weekly Commission Report
Sample affiliate commission structure
Sample Affiliate Commission Structure (worked example)

Eligibility & participation

  1. Register / apply as a NOTOUT affiliate (any user can request).
  2. Maintain at least 5 active players (each with turnover ≥ ৳3,000, or an admin-customizable amount).
  3. Affiliate status is granted through admin manual approval of the request — no KYC is required.
  4. Joining the NOTOUT Affiliate Telegram channel is recommended but not mandatory.
  5. Keep players active and meet the requirements to receive commission weekly.

Payout

  • Commission: tiered 25%–75% based on the number of active referred users (see slab table below).
  • Paid on a weekly cadence into the affiliate account (exact payout day is admin-configurable).
  • Weekly period is Sunday to Saturday.

Commission Structure (by active referred users)

Active referred usersCommission %
3 – 9 users25%
10 – 19 users35%
20 – 29 users45%
30 – 39 users60%
40 – 500 users75%

The slab table above is an illustrative example only — the number of tiers, thresholds and % rates are fully configurable from Admin → Affiliate Setting → Commission Slabs. A user counts as active when their weekly turnover ≥ ৳3,000 (also configurable).

20.1 Net Profit & Commission Calculation

Net profit is calculated across the affiliate's active referred users over the week, then the commission slab % (by active-user count) is applied:

Formula
Platform profitplayers' net loss (wins reduce it)
− Platform deduction20% (configurable)
− Bonusesall bonuses given to players
− Payment chargesdeposit 2% + withdrawal 1.5%
Affiliate commissionslab % (25–75%) × net profit

Platform deduction applies only to players the platform profited from (net-losing players); winning players contribute 0. The commission % is the slab matching the affiliate's active-user count that week.

20.2 Worked Example (client's illustration)

This is the client's original conceptual example from the commission understanding document. It uses illustrative rates (18% deduction, 40% commission); the live build uses 20% deduction and the 25%–75% slab above. The example is retained to show the calculation method — with 5 active users the live slab would be 25%.

PlayerResultPlatform profitPlatform cost (18%)BonusPayment fee
ALoss ৳1,000,000+1,000,000180,00020,00040,000
BWin ৳300,000−300,000025,00012,000
CWin ৳500,000−500,000010,00020,000
DLoss ৳1,500,000+1,500,000270,00040,00060,000
ELoss ৳2,700,000+2,700,000486,00010,000108,000
Weekly totals
Total platform profit4,400,000
− Total platform cost942,000
− Total bonuses105,000
− Total payment fees240,000
Net profit3,113,000
Affiliate commission (40%)1,245,200

Player A payment fee = deposit fee 2% of ৳1,500,000 (30,000) + withdrawal fee 1.5% of ৳666,667 (10,000) = ৳40,000. Figures illustrate the method; percentages (18% platform cost, 2% / 1.5% fees, 40% commission) are admin-configurable.

20.3 Affiliate Page — Dashboard tab

Summary cards

CardDescription
Total Referred UsersAll-time referrals
Active UsersUsers currently active
Last Week CommissionPrevious week's commission
Total Commission EarnedLifetime earnings

Status & referral code

Affiliate Status (Active / Inactive) and the affiliate's personal Referral Code with copy & share actions.

Commission Structure & Active User Definition

The Dashboard shows the commission slab table (25%–75% by active-user count, above) and the definition: a user becomes active when their weekly turnover reaches ৳3,000; commission is calculated on the total net loss of active referred users.

20.4 My Referrals tab

Search by username · Status filter (All / Active / Inactive) · From–To date range · entries-per-page. Empty state: "No Data Available".

ColumnDescription
S. No.Row number
User NameReferred user
Joining DateWhen they registered
StatusActive / Inactive
Weekly TurnoverTheir turnover for the week (drives active status)

20.5 Weekly Commission Report tab

Status filter · From–To week range · entries-per-page · a "Sample Affiliate Commission Structure" reference button. Empty state: "No Data Available".

ColumnDescription
S. No.Row number
Week RangeCommission week
Active UsersActive referred users that week
Player LossNet loss of active referred users
DeductionPlatform deduction + bonuses + payment charges
Commission %Applied slab %
Commission EarnedPayable commission
StatusPaid / Not Commission

Business rules

  • Any user can request affiliate status; activation is via admin manual approval and meeting the eligibility requirements (no KYC required).
  • A user counts as "active" when their weekly turnover ≥ the configured minimum (৳3,000 default).
  • Commission % is the slab matching the affiliate's active-user count (25%–75%).
  • Commission is calculated weekly (Sun–Sat) on active users' net loss less deductions, and paid on a weekly cadence (exact payout day admin-configurable).
  • All rates (commission slabs, platform deduction %, charges, active-user threshold, payout day) are admin-configurable.
  • Weeks where the affiliate does not qualify show status Not Commission.

Not included

Self-serve marketing assets / banners Sub-affiliate hierarchy UI Real-time commission dashboard Manual payout requests

Acceptance criteria

No.Requirement
1A user can request to become an affiliate.
2Eligibility (≥5 active players, KYC, Telegram) is enforced / displayed.
3Net profit is calculated (players' net loss − platform deduction − bonuses − charges).
4Commission % is the slab matching the affiliate's active-user count (25%–75%).
5Dashboard, My Referrals and Weekly Commission Report tabs display correctly.
6Weekly payout and Paid / Not Commission status are shown.
7Active-user threshold (turnover ≥ ৳3,000) is applied.
Client Approval — Affiliate
ApprovedChanges Required
Remarks:
Module 21
Change Password
Module ID ACC-003Role Registered UserNav Sidebar → Change Password

Lets the user change their account password from within the platform.

Reference screen

Change password
Change Password

Fields

FieldDetail
Old PasswordCurrent password (show / hide toggle)
New PasswordNew password (show / hide toggle)
Confirm PasswordRe-enter new password (show / hide toggle)

Validation & rules

  • Old password must be correct.
  • New password must meet security requirements.
  • New Password and Confirm Password must match.
  • On success, the password is updated (re-login may be required).

Acceptance criteria

No.Requirement
1All three fields with show/hide toggles are present.
2Incorrect old password, weak password and mismatch are rejected with a message.
3Successful change updates the password.
Client Approval — Change Password
ApprovedChanges Required
Remarks:
Module 22
Contact
Module ID ACC-005Role All UsersNav Sidebar → Contact (expandable)

An expandable menu of external contact channels. Each item simply redirects the user to the configured link / number / channel — there is no in-app chat.

Reference screen

Contact sidebar dropdown
Contact — sidebar dropdown

Channels

ChannelAction
WhatsAppRedirect to configured WhatsApp number / link
TelegramRedirect to configured Telegram channel / link
ImoRedirect to configured Imo number / link

Business rules

  • Links / numbers are configurable from the Admin Panel.
  • Each item opens the external app / link; no in-app chat channel is included.
  • Only configured channels are displayed.

Acceptance criteria

No.Requirement
1Contact expands to show the configured channels.
2Each channel redirects to the correct external link / number.
Client Approval — Contact
ApprovedChanges Required
Remarks:
Module 23
Static Content — Privacy Policy & Terms
Module ID ACC-004Role All UsersNav Sidebar → Privacy Policy · Terms & Conditions

Static content pages displaying the platform's Privacy Policy and Terms & Conditions.

Behaviour

  • Content is static / informational, managed from the Admin Panel (CMS).
  • Rendered as a read-only content page; no user input.
  • Accessible to all users, including logged-out where applicable.

Acceptance criteria

No.Requirement
1Privacy Policy and Terms & Conditions pages open from the sidebar.
2Content displays correctly and is editable from the Admin Panel.
Client Approval — Static Content
ApprovedChanges Required
Remarks:
Module 24
Logout
Module ID ACC-006Role Registered / Demo UserNav Sidebar → Logout

Ends the current user session.

Behaviour

  • Clears the session / token and returns the user to the landing / login screen.
  • Demo sessions are ended and the temporary demo account is discarded.

Acceptance criteria

No.Requirement
1Logout ends the session and redirects to landing / login.
2Protected pages are inaccessible after logout.
Client Approval — Logout
ApprovedChanges Required
Remarks:

Client Sign-off

By signing this document, the client confirms that the module requirements described above have been reviewed and approved. Any feature not explicitly mentioned in this document will be considered outside the agreed scope and may require a separate Change Request (CR).

Overall decision
ApprovedApproved with changesChanges Required
Name & RoleSignatureDate
Client Representative
Project Manager

Remarks / requested changes: