Core ModulesOperator Admin

Finance

The Finance module handles all monetary operations — processing withdrawals, monitoring deposits, viewing the transaction ledger, configuring payment providers, and running daily reconciliation reports.

Overview

Navigate to Finance in the sidebar to access the Finance hub. The hub page shows stat cards for pending withdrawals (count and value), average SLA processing hours, and deposits in the last 24 hours. Five sub-modules are available:

  • Withdrawals — Approval queue with risk badges
  • Deposits — Monitoring and manual confirmation
  • Transactions — Global wallet ledger search
  • Payment Providers — Provider configuration
  • Reconciliation — Daily balance matching and GGR reporting

Withdrawals

Withdrawal Approval Queue

The withdrawal page shows all pending withdrawal requests in a sortable, filterable table. By default, it filters tostatus = pending.

Column / FieldDescription
IDUnique withdrawal request identifier
UserPlayer username (click to view profile)
AmountWithdrawal amount in player's currency
Payment MethodMobile money, bank transfer, e-wallet, etc.
Bank/Mobile DetailsDestination account details
StatusPending, Review, Approved, Processing, Paid, Rejected
Risk BadgesFlags for high-risk, velocity alerts, or large amounts
SLA IndicatorTime since request — turns amber/red if approaching SLA limit

Available filters: search, status, amount range, date range, payment method, and risk level.

Approval Workflow

  1. 1

    Review the withdrawal

    Click a withdrawal row to open the detail drawer. Review the player's profile, recent activity, and the withdrawal details.

  2. 2

    Check risk indicators

    Look for risk badges — high-risk (unusual pattern), velocity (too many requests in short period), or large (above threshold). These are automatically flagged by the system.

  3. 3

    Approve, reject, or escalate

    Click 'Approve' to authorize the withdrawal, 'Reject' to decline (requires a reason), or leave it in 'Review' status for a senior operator to handle.

  4. 4

    Mark as paid

    Once the payment has been processed externally (via your payment provider), mark the withdrawal as 'Paid' to complete the cycle.

4-Eyes Rule for Large Withdrawals

Dual Approval Required

Withdrawals exceeding $5,000 (or equivalent in local currency) require approval from two different admin users. The first admin approves, and a second admin must confirm. This "4-eyes rule" prevents unauthorized large payouts.

You can also use Bulk Approve for multiple small withdrawals (under the threshold) to speed up processing during high-volume periods.

Deposits

The Deposits page monitors incoming player deposits. Three tabs organize the view: All, Failed, and Pending.

Column / FieldDescription
IDDeposit transaction identifier
UserPlayer username
AmountDeposit amount
ProviderPayment provider (e.g., MTN Mobile Money, Airtel Money)
StatusCompleted, Failed, Pending
Transaction RefExternal payment provider reference number

Stat cards show: completed deposits (24h), failed deposits (24h), pending count, and completion rate percentage.

Manual Deposit Confirmation

When a deposit fails or is stuck in pending status (common with mobile money in some regions), you can manually confirm it:

  1. 1

    Find the deposit

    Filter by 'Failed' or 'Pending' status and locate the deposit in question.

  2. 2

    Click to open the confirmation modal

    Click the deposit row, then click 'Manually Confirm' in the detail view.

  3. 3

    Verify with the payment provider

    Before confirming, verify with your payment provider that the funds were actually received.

  4. 4

    Confirm the deposit

    Submit the confirmation. The player's wallet will be credited immediately.

Warning

Only manually confirm deposits after verifying with the payment provider that funds were received. False confirmations create financial discrepancies that will surface in reconciliation.

Transactions

The Transactions page provides a searchable ledger of every wallet transaction across all players. This is the single source of truth for all money movements.

Column / FieldDescription
IDTransaction identifier
TimestampWhen the transaction occurred
UserPlayer username
Typedeposit, withdrawal, bet, win, bonus, cashback, freebet, refund, cashout, jackpot, tournament, transfer
AmountTransaction amount (positive for credits, negative for debits)
StatusCompleted, Pending, Failed, Reversed
Balance Before/AfterPlayer's wallet balance before and after the transaction
ReferenceExternal reference (bet ID, deposit ID, etc.)

Use the filters to narrow down by type, user, date range, or amount. Pagination is set at 50 per page. You can export filtered results to CSV.

Payment Providers

The Payment Providers page shows a card grid of all configured payment gateways. Each card displays the provider name, type (Mobile Money, Card, Bank Transfer, Crypto), and current status.

Click any provider card to configure:

  • Enable/Disable — Toggle the provider on or off
  • Deposit Limits — Set minimum and maximum deposit amounts
  • Withdrawal Limits — Set minimum and maximum withdrawal amounts
  • Fees — Configure percentage or fixed fees for deposits and withdrawals
  • Success/Failure Rates — View provider reliability metrics

Tip

Monitor provider success rates regularly. If a provider drops below 90% success rate, consider contacting their support team or temporarily routing traffic to a backup provider.

Reconciliation

The Reconciliation page generates daily balance matching reports. Select a date (defaults to yesterday) to view:

  • Deposits — Count and total value for the day
  • Withdrawals — Count and total value for the day
  • GGR (Gross Gaming Revenue) — Total wagered minus total paid out
  • Discrepancies — Any mismatches between expected and actual balances
  • Net Position — Your net financial position for the day

An Aged Receivables chart shows outstanding amounts bucketed by age: 0-7 days, 7-30 days, 30-90 days, and 90+ days. This helps identify stuck transactions that need attention.

Daily Reconciliation Best Practice

Run reconciliation every morning for the previous day. Investigate any discrepancies immediately — they are much easier to resolve when caught within 24 hours.