Admin Panel Overview
This document gives new operators a complete picture of the admin panel — what it contains, how the sections relate to each other, and the exact steps to take from first login to a fully configured, ready-to-launch casino.
Table of Contents
- Accessing the admin panel
- Admin panel structure
- Admin roles and access control
- First-time setup (step-by-step)
- Dashboard reference
- Daily operations checklist
- Weekly operations checklist
- Navigating between admin guides
1. Accessing the admin panel
The admin panel is a separate single-page application served at:
https://your-domain.com/admin
It uses its own JWT authentication guard. Admin accounts are entirely separate from player accounts — you cannot log in to the admin panel with a player account.
Default credentials
| Field | Value |
|---|---|
admin@casino.com |
|
| Password | password |
Change these immediately on first login. The default password is set by the seeder for first-access only and must not remain in production.
Two-factor authentication (2FA)
All admin accounts require TOTP two-factor authentication. On first login:
- Go to your admin profile (top-right menu → Profile)
- Click Enable 2FA
- Scan the QR code with an authenticator app (Google Authenticator, Authy, 1Password, etc.)
- Enter the 6-digit confirmation code to activate
Every subsequent login requires both your password and the current 6-digit TOTP code.
Lost access to your TOTP device? A system administrator can reset 2FA from the RBAC admin user management page, or via the server command line:
php artisan tinker
>>> AppModelsAdminUser::where('email', 'admin@casino.com')
... ->update(['two_factor_enabled' => false, 'two_factor_secret' => null]);
Re-enable and re-scan the QR code immediately after regaining access.
2. Admin panel structure
The admin panel is organized into seven main sections:
| Section | URL | Primary purpose |
|---|---|---|
| Dashboard | /admin/dashboard |
KPI overview, real-time activity feed |
| Players | /admin/players |
Search, review, and manage player accounts |
| Games | /admin/games |
Enable/disable games, configure bet limits and RTP |
| Finance | /admin/finance |
Transaction ledger, withdrawal queue, payment methods |
| Bonuses | /admin/bonuses |
Bonus campaigns, manual awards, wagering reports |
| Compliance | /admin/kyc, /admin/aml-alerts, /admin/edd, /admin/affordability |
KYC reviews, AML alerts, EDD, responsible gaming |
| Settings | /admin/settings |
Site configuration, SMTP, security, RG defaults, theme |
| Content | /admin/content |
Legal pages, FAQ, CMS content |
| Affiliates | /admin/affiliates |
Affiliate accounts, referrals, commission payouts |
| RBAC | /admin/rbac |
Admin user accounts and roles |
| Audit Log | /admin/audit-log |
Immutable record of all admin actions |
3. Admin roles and access control
Role-based access control (RBAC) ensures each team member can only access the parts of the admin panel relevant to their job.
Built-in roles
| Role | Access |
|---|---|
| Super Admin | Full access to all admin functions |
| Finance Admin | Transactions, withdrawals, payment methods, financial reports |
| Support Agent | Player management (view, notes, suspend), KYC document review |
| Compliance | KYC queue, AML alerts, EDD, affordability reviews, audit log |
| Content Editor | Content pages, game ordering, bonus campaigns |
Creating custom roles
- Go to Admin → RBAC → Add Role
- Name the role (e.g., “Senior Support”)
- Check the specific permissions this role needs
- Save and assign to admin users
Principle of least privilege: Grant only the permissions each person needs for their specific function. A support agent should not have financial approval permissions, and a content editor should not have player suspension rights.
For detailed instructions, see Admin: Settings & Compliance → Roles and permissions.
4. First-time setup (step-by-step)
Complete these steps in order before accepting real players. Each step links to the detailed documentation.
Step 1 — Secure admin access
- [ ] Change the default admin password → Admin → RBAC → Edit admin user → Change password
- [ ] Enable 2FA on the admin account → Admin → Profile → Enable 2FA
- [ ] Create separate accounts for each team member with appropriate roles → Admin → RBAC → Add Admin
Step 2 — Configure site identity
- [ ] Casino Name → Admin → Settings → General → Casino Name
- [ ] Support Email → Admin → Settings → General → Support Email
- [ ] Default Currency — choose the primary currency for new player accounts (e.g.,
USD,EUR,GBP) - [ ] Default Language — default locale for new players (e.g.,
en) - [ ] Timezone — sets displayed timestamps across the admin panel
See Admin: Settings & Compliance → General settings.
Step 3 — Configure email delivery
- [ ] Set SMTP host, port, username, and password → Admin → Settings → Email
- [ ] Set From Address (
noreply@your-domain.com) - [ ] Click Test Email and verify the test message arrives in your inbox
Email must be working before players register — registration, KYC, and payment notifications all depend on it.
See Admin: Settings & Compliance → Email / SMTP configuration.
Step 4 — Configure payment methods
For each payment provider you intend to use:
- [ ] Ensure provider API credentials are set in
.env(Stripe, PayPal, Coinbase, Mollie, etc.) - [ ] Navigate to Admin → Settings → Payment Methods → Add Method
- [ ] Set display name, minimum/maximum amounts, and any processing fee
- [ ] Toggle Enabled
- [ ] For providers with webhooks (Stripe, PayPal, Coinbase): configure the webhook URL in your provider dashboard pointing to
https://your-domain.com/api/webhooks/payment/{provider}
See Admin: User & Payment Management → Payment methods configuration.
Step 5 — Enable and configure games
- [ ] Navigate to Admin → Games
- [ ] Toggle Enabled on the games you want to offer
- [ ] For each enabled game: click Configure and verify the Min Bet, Max Bet, and RTP values match your licensing requirements
- [ ] Set the display order by dragging game cards and clicking Save Order
- [ ] Assign games to categories (Slots, Table Games, Instant Games, etc.) for the player lobby filter tabs
See Admin: Dashboard & Game Management → Game catalog management.
Step 6 — Configure jurisdiction rules
- [ ] Navigate to Admin → Jurisdictions
- [ ] Add a jurisdiction rule for each country/region you plan to accept players from
- [ ] Set KYC thresholds, allowed games, responsible gaming requirements, and GAMSTOP integration if applicable
See Admin: Settings & Compliance → Jurisdiction management.
Step 7 — Configure responsible gaming defaults
- [ ] Set Session Duration Limit → Admin → Settings → Responsible Gaming
- [ ] Set Reality Check Interval (how often players see session time reminders)
- [ ] Confirm Deposit Limits, Loss Limits, and Wager Limits features are enabled
- [ ] Set Self-Exclusion Minimum duration
- [ ] Review AML thresholds in
.env(AML_LARGE_TRANSACTION_THRESHOLD,AML_RAPID_DEPOSIT_COUNT, etc.)
See Admin: Settings & Compliance → Responsible gaming configuration.
Step 8 — Set up branding
- [ ] Upload casino Logo → Admin → Settings → Theme → Logo Upload
- [ ] Set Primary Color to your brand colour
- [ ] Set Body Font and Display Font
- [ ] Upload OG image → Admin → Settings → General → OG Image URL
- [ ] Update PWA manifest:
public/manifest.json→ setname,short_name,theme_color - [ ] Replace PWA icon files in
public/icons/with branded versions
See Developer: Customisation Guide → Branding via the admin panel.
Step 9 — Review and update legal pages
- [ ] Navigate to Admin → Content and open each legal page
- [ ] Fill in your company legal name, registered address, gambling licence number, governing law jurisdiction, and support contact
- [ ] Have your legal counsel review all pages before going live
See Admin: Settings & Compliance → Content pages and branding.
Step 10 — Create a welcome bonus (optional)
- [ ] Navigate to Admin → Bonuses → Create Campaign
- [ ] Create a Welcome Bonus with your chosen percentage match, wagering requirement, and expiry
- [ ] Set Active From and Active Until dates
See Admin: Settings & Compliance → Bonus management.
Step 11 — Final pre-launch verification
- [ ] Log in as a test player and complete a full game round
- [ ] Make a test deposit (use a payment provider’s sandbox/test mode)
- [ ] Submit a test KYC document and approve it in the admin panel
- [ ] Send a test withdrawal and approve it
- [ ] Verify the player receives email notifications at each step
- [ ] Check the Dashboard shows correct KPI values
- [ ] Verify the health endpoint:
curl https://your-domain.com/api/health - [ ] Confirm Horizon is processing jobs:
https://your-domain.com/horizon
5. Dashboard reference
URL: /admin/dashboard
The dashboard is the recommended starting point for daily operations. It shows the health of the platform at a glance.
KPI cards
| Card | What it shows |
|---|---|
| Total Players | All-time registered player count |
| Active Today | Players with any activity in the last 24 hours |
| GGR (Today) | Gross Gaming Revenue: player losses minus wins, today |
| Deposits (Today) | Total value of completed deposits today |
| Withdrawals Pending | Number of withdrawals awaiting manual approval |
| KYC Pending | Documents uploaded and awaiting review |
What to action immediately:
- Withdrawals Pending > 0 — review the withdrawal queue daily (see Withdrawal approval queue)
- KYC Pending > 0 — target 24-hour turnaround on KYC reviews to avoid player friction (see KYC document review)
Recent activity feed
Shows the latest events in real time: player registrations, deposits, withdrawals, and game rounds above a configurable value threshold. Use this to spot unusual activity patterns that might warrant further investigation.
Historical charts
Toggle between 7-day, 30-day, and 90-day views:
- Daily Active Users (DAU) — player engagement trend
- Revenue — GGR and NGR (Net Gaming Revenue after bonus costs)
- Deposits vs. Withdrawals — cash flow overview
- New Registrations — acquisition trend
6. Daily operations checklist
| Task | Where | Why |
|---|---|---|
| Review pending withdrawals | Finance → Withdrawals | Players expect same-day processing |
| Review KYC queue | Compliance → KYC | Target < 24h turnaround |
| Review AML alerts | Compliance → AML Alerts | Unreviewed alerts block player withdrawals |
| Check dashboard KPIs | Dashboard | Spot unusual GGR or deposit patterns early |
| Check Horizon queue | /horizon |
Failed jobs affect emails, bonuses, and notifications |
| Check health endpoint | curl /api/health |
Confirms database, Redis, and Horizon are healthy |
Handling a pending withdrawal
- Open Finance → Withdrawals — the queue shows all pending requests
- Click a withdrawal to open the detail view
- Check: KYC status (do not approve unverified players above your threshold) and AML flag (route to compliance if flagged)
- Click Approve to process, or Reject with a written reason (reason is emailed to the player automatically)
- For a batch of clean, low-risk withdrawals: use Batch Approve
Reviewing an AML alert
- Open Compliance → AML Alerts
- Click the alert to view associated transactions and player history
- Determine: Clear (no action — document reason) / Escalate (refer to compliance team) / Freeze (suspend account pending investigation)
- Write a review note documenting your decision — this is immutably logged
Reviewing a KYC document
- Open Compliance → KYC
- Click a pending review — uploaded documents open (ID front/back, proof of address)
- Verify: name matches account registration, document is not expired, proof of address is recent (within 3 months)
- Click Approve or Reject (rejection requires a reason, automatically emailed to the player)
7. Weekly operations checklist
| Task | Where | Why |
|---|---|---|
| Review RTP monitoring | Games → RTP Monitoring | Detect game anomalies before they become significant |
| Review bonus conversion report | Bonuses → Reports | Identify campaigns with poor ROI |
| Review EDD queue | Compliance → EDD | High-risk player documentation review |
| Review affordability alerts | Compliance → Affordability | Regulatory obligation in many jurisdictions |
| Process affiliate payouts | Affiliates | Keep partners paid on time |
| Export and archive transaction reports | Finance → Export | Record-keeping and reconciliation |
8. Navigating between admin guides
The admin documentation is split across several files by topic:
| Guide | Topics covered |
|---|---|
| Dashboard & Game Management | Admin panel access, roles overview, dashboard KPIs, game catalog, game configuration, RTP monitoring |
| User & Payment Management | Player search, player detail, account actions, wallet adjustments, KYC reviews, AML alerts, transaction ledger, withdrawal queue, payment methods, routing rules, affiliate management |
| Settings & Compliance | General settings, SMTP, security, responsible gaming, jurisdiction rules, bonus management, affordability, EDD, affiliate program setup, VIP/loyalty tiers, content/branding, push notifications, RBAC, audit log |
| FAQ for Operators | Top 15 post-purchase questions on licensing, updates, hosting, customisation, technical setup, and backups |
For technical installation and server setup, see Developer: Installation Guide. For all .env variables, see Developer: Configuration Reference.