God Mode Admin Dashboard
God Mode is Predictu’s internal administration dashboard. It provides complete visibility and control over every aspect of the platform: operators, users, trades, markets, risk, revenue, and system configuration. Only Predictu employees with god_mode role can access it.
/admin/god and requires a separate authentication flow with mandatory 2FA.Command Center
The Command Center is the landing page of God Mode. It provides a real-time overview of the entire platform through four global KPI cards and a set of live activity widgets.
Global KPI Cards
| KPI | Description | Update Frequency |
|---|---|---|
| Total Users | Count of all registered users across all operators. Shows delta from previous day. | Real-time (WebSocket) |
| Global Exposure | Sum of all open position values across all markets and operators. The house’s total risk. | Real-time (WebSocket) |
| Net Profit | Cumulative profit (resolved settlements - payouts + spreads). Shows today, MTD, and YTD. | Every 5 minutes |
| 24h Volume | Total trade volume in the last 24 hours across all operators. | Real-time (WebSocket) |
Live Widgets
- Trade feed: Scrolling list of the most recent trades, showing user, market, amount, side, and operator
- Risk alerts: Unacknowledged risk events sorted by severity
- Top markets: Markets ranked by current 1-hour volume
- Active users: Count of users who placed a trade in the last 15 minutes
- System health: API latency, cron job status, database connection pool usage
Revenue
The Revenue section provides financial reporting across all operators. It is the primary tool for understanding platform-level profitability.
Time Periods
| Period | Description |
|---|---|
| Today | Revenue from midnight UTC to now. Includes unrealized P&L from open positions. |
| MTD | Month-to-date. From the 1st of the current month. |
| YTD | Year-to-date. From January 1st of the current year. |
Revenue Forecast
A projection model estimates end-of-month and end-of-year revenue based on current run rate, seasonal patterns, and the volume of upcoming markets (e.g., elections, sports events). The forecast updates daily at 06:00 UTC and is displayed as a range (conservative / expected / optimistic).
Breakdown Views
- By operator: Player losses split showing Predictu’s share (%) vs. operator’s share (%)
- By market category: Politics, sports, crypto, entertainment, etc.
- By revenue type: Spread income, settlement profit, fees (all components of player losses)
- By user tier: Player losses from each tier segment
Operators
The Operators section manages all casino operators on the platform. Each operator represents a B2B customer who embeds Predictu markets into their site.
Operator List
A filterable, sortable table showing all operators with columns: name, status (active/inactive/onboarding), user count, 24h volume, MTD revenue, Predictu share %, and last activity timestamp. Clicking a row opens the operator detail view.
Operator Detail
The detail view shows everything about a single operator:
- Profile: Name, domain, contact email, registration date, status
- Config: Revenue share %, allowed markets, tier limits, branding settings
- API keys: Active keys, creation dates, last used timestamps. Ability to rotate keys.
- Callback URL: S2S callback endpoint, last successful ping, failure count
- Users: Embedded user list filtered to this operator
- Financials: Revenue breakdown, outstanding invoices, payment history
Onboarding Flow (8-Step Checklist)
New operators go through a guided onboarding wizard. God Mode tracks completion of each step:
revenue_share_pct (Predictu’s % of player losses). The operator keeps the remainder.operator_onboardingtable. God Mode admins can see which steps are complete, skip steps if needed, or reset the checklist.Users
The Users section provides a comprehensive view of every user across all operators.
Search & Filter
- Text search: By username, email, user ID, or wallet address
- Filter by tier: new, regular, vip, restricted
- Filter by classification: recreational, moderate, sharp, professional
- Filter by operator: Scope to a single operator’s users
- Filter by status: active, inactive (no trade in 30 days), banned
- Sort by: registration date, last trade, composite score, total volume, total P&L
User Detail View
Clicking a user opens a full-page detail view with the following tabs:
- Overview: Profile info, tier, classification, score, account age, last login
- Ledger: Complete transaction history (deposits, withdrawals, trade costs, payouts, adjustments)
- Positions: All open and resolved positions with entry price, current value, P&L
- Trades: Full trade log with timestamps, markets, amounts, sides, outcomes
- Score: Current score breakdown (5 metrics), score history chart, classification timeline
- Risk: Risk events associated with this user, flag history
- Admin actions: Change tier, adjust balance, ban/unban, freeze score, add note
Trades
The Trades section is a global trade ledger showing every trade placed on the platform.
Filters
| Filter | Options |
|---|---|
| Operator | Dropdown of all operators, or “All” |
| User | Text search by user ID or username |
| Market | Text search by market name or ID |
| Date range | Start date / end date pickers |
| Side | YES / NO / All |
| Status | Open / Resolved / All |
| Amount range | Min / max trade amount |
Table Columns
Trade ID, timestamp, operator, user (linked), market (linked), side, amount, price, status, outcome (win/loss/open), P&L, user tier at time of trade.
Markets
The Markets section provides control over all prediction markets on the platform.
Market Controls
- Pause trading: Temporarily halt all trading on a market (e.g., during disputed resolution)
- Resolve market: Manually resolve a market to YES or NO
- Void market: Cancel a market, refunding all positions at cost
- Adjust spread: Set a custom spread override for a specific market
- Set exposure cap: Override the per-market exposure cap
- Edit metadata: Update market title, description, category, resolution criteria
Custom Spreads
God Mode admins can set a custom spread on any market. This overrides the global default and stacks with tier-based adjustments. Custom spreads are typically used for:
- High-volatility markets where the standard spread doesn’t cover risk
- Markets with known information asymmetry (e.g., insider risk)
- Promotional markets where the operator wants a tighter spread to attract volume
Exposure Management
The Exposure section provides real-time visibility into the house’s risk across all dimensions.
Per-Market Exposure
Shows each market’s current exposure: total YES value, total NO value, net exposure (directional risk), and maximum possible loss. Sorted by highest net exposure by default. Markets in red are approaching their exposure cap.
Per-Category Exposure
Aggregates exposure by market category (politics, sports, crypto, etc.). Useful for identifying concentration risk -e.g., if 80% of exposure is in political markets.
Global Exposure
A single number representing the total house exposure across all markets and operators. Displayed with a gauge showing current level vs. the global cap. When global exposure exceeds 80% of the cap, a warning alert fires. At 95%, new trades are automatically blocked.
Risk Management
The Risk section is the nerve center for identifying and responding to threats to house profitability.
Risk Events
A chronological feed of all risk events generated by the system. Each event has a type, severity (info/warning/critical), associated user/market/operator, and an acknowledgment status.
| Event Type | Severity | Trigger |
|---|---|---|
SCORE_SURGE | Warning | User score increased 20+ points in 7 days |
CLASSIFICATION_CHANGE | Warning | User moved to a higher classification |
AUTO_RESTRICT | Critical | User auto-restricted by scoring engine |
EXPOSURE_WARNING | Warning | Market or global exposure at 80%+ of cap |
EXPOSURE_BREACH | Critical | Exposure cap exceeded (trades blocked) |
CIRCUIT_BREAKER | Critical | Circuit breaker triggered on a market |
LARGE_TRADE | Info | Trade exceeding $500 by a sharp/professional user |
VELOCITY_ALERT | Warning | User hitting rate limits repeatedly |
MULTI_ACCOUNT | Critical | Suspected multi-accounting detected |
Circuit Breakers
Circuit breakers automatically pause trading on a market when unusual activity is detected. They can be triggered by:
- Price moving more than 20 percentage points in 5 minutes
- Volume spike exceeding 5x the market’s 1-hour average
- A single user accounting for > 40% of a market’s volume in 10 minutes
- Multiple sharp/professional users trading the same side simultaneously
Circuit breakers have a configurable cooldown period (default: 15 minutes). God Mode admins can manually trigger or release circuit breakers.
Sharp Bettor Tracking
A dedicated sub-view that lists all users with a classification of “sharp” or “professional”. Shows their recent activity, current positions, score trend, and whether they’re currently restricted. Admins can bulk-select users for restriction or review.
Settlements
Pending Settlements
Markets that have been resolved but not yet settled (payouts not yet distributed). Shows the market, resolution outcome, total payout amount, affected user count, and time since resolution. Settlements are typically processed automatically within 5 minutes, but can be held for manual review.
Settlement History
A searchable log of all completed settlements. Includes the market, outcome, total payouts, total house profit/loss from the market, and individual user payouts.
Invoicing
The Invoicing section generates and manages invoices for operator revenue sharing.
Invoice Generation
Invoices are auto-generated on the 1st of each month for the previous month’s activity. Each invoice includes:
- Operator name and billing details
- Period (start/end dates)
- Net player losses (spread income + settlement profit)
- Predictu’s share (player losses ×
revenue_share_pct) - Operator’s share (player losses × remainder)
- Net amount due (either direction)
- Trade count and unique user count for the period
PDF Export
Every invoice can be exported as a PDF with the Predictu letterhead, line-item breakdown, and payment instructions. PDFs are generated server-side and stored in the invoices bucket for download.
Onboarding Wizard
The onboarding wizard is the guided flow for setting up a new operator. It is accessible from the Operators section and walks the God Mode admin through all 8 steps described in theOperators > Onboarding Flow section above. The wizard persists progress, so it can be paused and resumed across sessions.
System Configuration
The Config section manages global system-wide settings that affect all operators and users.
| Setting | Default | Description |
|---|---|---|
global_base_spread | 2% | Default spread applied to all markets |
global_exposure_cap | $500,000 | Maximum total house exposure |
per_market_exposure_cap | $50,000 | Default per-market exposure cap |
circuit_breaker_cooldown | 15 min | Default cooldown after circuit breaker triggers |
auto_restrict_enabled | true | Whether auto-restriction of professional users is active |
auto_restrict_score | 90 | Score threshold for auto-restriction |
auto_restrict_min_trades | 20 | Minimum resolved trades for auto-restriction |
velocity_limit | 20/min | Maximum trades per user per minute |
settlement_delay | 5 min | Delay between market resolution and payout |
scoring_daily_cron | 03:00 UTC | When the daily scoring batch runs |
scoring_weekly_cron | Sun 04:00 UTC | When the weekly full re-score runs |
Reports
The Reports section provides scheduled and on-demand report generation.
Scheduled Reports
- Daily summary: Emailed to God Mode admins at 07:00 UTC. Covers previous day’s volume, revenue, risk events, new users.
- Weekly risk report: Emailed every Monday. Lists all sharp/professional users, classification changes, circuit breaker events.
- Monthly financial report: Generated on the 1st. Full P&L by operator, category, and tier.
Export
All reports and data views can be exported in CSV or JSON format. The export respects current filters -e.g., exporting the Trades view with an operator filter applied will only include that operator’s trades.
Activity / Audit Log
Every administrative action in God Mode is recorded in the audit log. The Activity section provides a searchable, filterable view of this log.
| Logged Action | Details Captured |
|---|---|
| Tier change | User, old tier, new tier, reason, admin |
| Balance adjustment | User, amount, direction, reason, admin |
| Market resolution | Market, outcome, admin, timestamp |
| Market pause/unpause | Market, action, admin, reason |
| Operator status change | Operator, old status, new status, admin |
| Config change | Setting name, old value, new value, admin |
| API key rotation | Operator, key ID, admin |
| User ban/unban | User, action, reason, admin |
| Score freeze/unfreeze | User, action, admin |
| Invoice generation | Operator, period, amount, admin |
Analytics
The Analytics section provides advanced business intelligence tools for understanding user behavior and platform health.
Cohort Analysis
Users are grouped by registration week. For each cohort, the system tracks retention (% still active at week N), cumulative volume, cumulative P&L, and tier distribution over time. This helps identify whether product changes are improving user stickiness.
Lifetime Value (LTV)
LTV is calculated as the total house profit from a user over their lifetime. The Analytics section shows LTV distributions, average LTV by tier, LTV by operator, and projected LTV for active users based on their current trajectory.
Behavioral Patterns
Pattern detection surfaces insights such as:
- Most popular trading hours by operator/geography
- Market categories that drive the highest engagement
- Common trade sequences (e.g., users who bet on politics also bet on crypto)
- Deposit-to-first-trade conversion rates
- Churn predictors (behavioral signals that precede account inactivity)
Cron Jobs
God Mode monitors all background cron jobs. Each job shows its schedule, last run time, last run status (success/failure), duration, and next scheduled run.
| Job Name | Schedule | Description |
|---|---|---|
score_users_daily | 0 3 * * * | Incremental scoring of users with recently resolved trades |
score_users_weekly | 0 4 * * 0 | Full re-score of all users with resolved trades |
tier_promotion_check | 30 3 * * * | Check and auto-promote users from new to regular tier |
exposure_snapshot | */5 * * * * | Snapshot global and per-market exposure for historical tracking |
settlement_processor | * * * * * | Process pending settlements (runs every minute) |
invoice_generator | 0 6 1 * * | Generate monthly invoices for all active operators |
daily_report | 0 7 * * * | Generate and email daily summary report to God Mode admins |
weekly_risk_report | 0 7 * * 1 | Generate and email weekly risk report (Mondays) |
revenue_forecast | 0 6 * * * | Recalculate revenue forecast projections |
