Skip to main content
The admin panel is available at /admin and is restricted to accounts with role: 'admin' set on their Profile record in the database. Any user without this role is automatically redirected to /admin/login. The sidebar shows a live badge count on Deposits and Withdrawals whenever there are pending requests that require action.
Admin actions — including deposit approvals, withdrawal approvals, balance adjustments, and user deletions — are irreversible. There is no undo. Always verify details before confirming any action.

Dashboard metrics

The dashboard at /admin displays four real-time stat cards:
MetricSource
Total UsersCount of all profiles rows
Today ProfitSum of profit across all profiles
Today VolumeSum of approved transaction amounts since midnight
Today TasksSum of completed_tasks_count across all profiles
Pending deposit and withdrawal alerts appear as action banners when counts are greater than zero, linking directly to the relevant management pages.

Admin sections

User Management

View, search, and edit all user accounts. Adjust balances, change levels, reset task sets, and manage account credentials.

Deposits

Review and approve or reject incoming deposit requests. Approved deposits credit the user’s wallet balance.

Withdrawals

Process outgoing payout requests. Verify the destination wallet address and network before approving.

Bundles

Assign special high-profit bundle orders to specific users. Configure the trigger task index and bonus amounts.

Notify Users

Broadcast notifications to all users or targeted individuals. Supports success, info, warning, and error types.

Level Configuration

Create and edit VIP tier definitions, including activation price, commission rate, tasks per set, and daily set limits.

Task Management

Manage the task item pool. Add, edit, enable, or disable items. Assign items to specific VIP levels.

Platform Settings

Configure global platform options: maintenance mode, registration toggle, financial parameters, branding, and wallet addresses.

Access control

The admin layout (app/admin/layout.tsx) enforces role-based access on every page render:
if (!user || !profile || profile.role !== 'admin') {
  router.push('/admin/login');
}
To grant admin access to a user, update their role field in the profiles table to 'admin'.

Build docs developers (and LLMs) love