by Max F.

Full-featured React 18 + TypeScript admin dashboard for centralized crypto wallet management, featuring 15+ modules including user management, wallet operations, staking, rewards, and financial reporting. Built with Vite, Tailwind CSS v4, and JWT-based RBAC authentication—ready to deploy behind Nginx with multi-language support (English/Korean) and comprehensive audit logging for compliance-heavy crypto operations.
A full-featured admin management interface for a centralized crypto wallet platform. Built with React 18, TypeScript, Vite, and Tailwind CSS v4. This SPA provides comprehensive administrative controls for user management, wallet operations, financial reporting, and system configuration across a multi-network blockchain infrastructure.
| Layer | Technology |
|---|---|
| Framework | React 18 + TypeScript 5 |
| Build Tool | Vite 5 |
| Styling | Tailwind CSS v4 (@tailwindcss/vite) |
| Icons | Lucide React |
| Authentication | JWT Bearer tokens via AuthContext |
| API Client | Centralized HTTP service layer with automatic token injection |
| State Management | React hooks (useState/useEffect) |
| Persistence | localStorage via lib/localDb.ts and lib/activityLog.ts |
| i18n | Custom React Context (EN/KO) |
| Linting | ESLint + TypeScript ESLint |
# Install dependencies
npm install
# Copy environment template
cp .env.example .env
# Configure required variables (see Environment Variables section)
# Edit .env with your Supabase credentials
# Start dev server with HMR
npm run dev
# → http://localhost:5173
# Vite proxy automatically forwards /api/admin → backend
# Build optimized bundle
npm run build
# Output: dist/
# Deploy dist/ folder to your web server
# Configure Nginx (see Nginx Configuration section below)
| Variable | Required | Description |
|---|---|---|
VITE_SUPABASE_URL | ✅ Yes | Supabase project URL (Dashboard → Settings → API) |
VITE_SUPABASE_ANON_KEY | ✅ Yes | Supabase anonymous public API key |
VITE_ADMIN_API_URL | ⬜ Optional | Backend API base URL. Defaults to /api/admin (Vite-proxied in dev). Set in production to your backend host. |
Demo Mode: If VITE_ADMIN_API_URL is not set, the app runs in demo mode without a real backend. Access with credentials: admin@example.com / admin1234
All variables are validated at startup via src/config/env.ts — missing required vars throw descriptive errors.
src/
├── main.tsx ← App entry point
├── App.tsx ← Routing + module loader
├── index.ts ← Unified re-export entry point
├── index.css ← Tailwind v4 + custom styles
├── config/env.ts ← Typed, validated environment access
├── contexts/AuthContext.tsx ← JWT auth, RBAC, session management
├── i18n/ ← Language switching (EN/KO)
├── services/ ← API service layer (one per domain)
│ ├── api.ts ← HTTP client (JWT Bearer, error handling)
│ ├── authService.ts
│ ├── userService.ts
│ ├── walletService.ts
│ ├── transactionService.ts
│ ├── stakingService.ts
│ ├── dashboardService.ts
│ └── [15+ more domain services]
├── types/ ← Shared TypeScript interfaces
├── lib/ ← Utilities
│ ├── activityLog.ts ← Admin activity logging
│ ├── localDb.ts ← Settings persistence
│ └── referralDb.ts ← Referral data storage
└── components/
├── Auth/LoginScreen.tsx ← JWT login form
├── Layout/ ← Header, Sidebar (RBAC-filtered)
├── UI/ ← Reusable primitives (DataTable, Modal, etc.)
└── Modules/ ← Feature modules (lazy-loaded)
├── Dashboard/
├── UserManagement/
├── WalletOps/
├── Finance/
├── RewardMall/
├── NCTToken/
├── Exchange/
├── LockedAssets/
├── Airdrop/
├── EmailManager/
├── AdminAccess/
├── Logs/
└── Profile/
| Module | Purpose |
|---|---|
| Dashboard | KPIs, hot wallet overview, community stats, system health |
| User Management | User list, referral tree, manual referral rewards |
| User Database | Bulk operations, export, freeze/unfreeze accounts |
| Wallet Ops | Hot wallet management, withdrawals, staking, sweeps |
| Mining & Ads | Video ad management, reward settings, mining intervals |
| Finance | Sales reports, shareholder management, dividends |
| Reward Mall | Product CRUD (multi-image), order tracking, shipping |
| NCT Token | Price/supply config, operational toggles |
| Exchange | Points-to-token settings, transaction history |
| Locked Assets | Asset lock/unlock, user ledger search |
| Airdrop | Token distribution campaigns |
| Email & Notifications | Compose, broadcast, campaigns, history |
| Admin Access | Sub-admin accounts, RBAC, IP restrictions |
| Logs | Admin activity audit trail |
| Profile | Admin account settings |
Browser (Admin)
↓ HTTPS (443)
┌─────────────────────────────────┐
│ Nginx Web Server │
│ ├── / → Static SPA (dist/) │
│ └── /api/admin/* → Backend │
│ SSL: Let's Encrypt │
└─────────────────────────────────┘
↓
Backend API Server
↓
Wallet Server (internal)
server {
listen 443 ssl;
server_name admin.your-domain.com;
ssl_certificate /etc/letsencrypt/live/admin.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/admin.your-domain.com/privkey.pem;
gzip on;
gzip_types text/plain text/css application/javascript application/json;
root /var/www/admin/dist;
index index.html;
# SPA routing
location / {
try_files $uri $uri/ /index.html;
}
# API proxy
location /api/admin/ {
proxy_pass http://backend-server:3000/api/admin/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Authorization $http_authorization;
}
}
server {
listen 80;
server_name admin.your-domain.com;
return 301 https://$host$request_uri;
}
All env vars validated at startup via src/config/env.ts — throws descriptive errors if required vars are missing.
src/index.ts re-exports all public modules for single-source imports:
import { useAuth, localDb, activityLog, DataTable } from '../index';
Each domain has a dedicated service file using the shared api.ts HTTP client, which handles JWT injection, token refresh, and error normalization.
AuthContext stores menu_access from login response. Sidebar filters navigation items against this list. Server-side enforcement is the source of truth.
Spin up an isolated sandbox and run it server-side — no local setup.
The sandbox audition completed and the detected runnable path passed.
This React web app completed archive review with strong static results. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately. Final verified scores after isolated runtime evidence: overall 8.8 and security 9.
Deterministic AVCP artifact review
Pipeline avcp-2026-08-04.1 · SHA-256 4154d538a253d317…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
Reviewed Aug 7, 2026
The full install guide and integration prompts unlock after purchase.
Push this product straight into your AI IDE, web builder or cloud IDE.
Connect Tetrees to a compatible AI IDE, list products you own, and request the verified ZIP without exposing seller upload controls.
29 ratings
Worth every point. Used this admin dashboard to manage my admin panel and it cut days off the build. Exactly as described.
Great starting point. The abstractions are sensible and easy to swap out, and even the tricky env setup was explained well. Highly recommend.
Dropped it into my stack and it just worked. Handles the edge cases I usually have to patch myself, and even the tricky env setup was explained well. Support answered my question fast.
Saved me a ton of time. Picked up "Web Crypto Admin" for a client admin panel — The abstractions are sensible and easy to swap out.
This is a keeper. Used "Web Crypto Admin" to manage my admin panel and it cut days off the build. Already using it in production.
Punches well above its price. Used "Web Crypto Admin" to manage my admin panel and it cut days off the build. Five stars, would recommend to my team.
This is a keeper. Picked up "Web Crypto Admin" for a client admin panel — Components are cleanly separated and easy to extend.
Genuinely impressed. Picked up "Web Crypto Admin" for a client admin panel — Handles the edge cases I usually have to patch myself. Would buy from this seller again.
Worth every point. Dropped "Web Crypto Admin" straight into the admin panel; examples matched the actual API, which is rare.
Shipped with this same week. Used "Web Crypto Admin" to manage my admin panel and it cut days off the build. Will definitely check their other products.
Sign in to join the discussion
Loading discussion…