Skip to content

Admin panel guide

Access: https://yourdomain.com/admin (requires role = admin).

Timezone

Exchange and admin timestamps use the PHP timezone from APP_TIMEZONE in backend/.env (default UTC). Verify under Extra → Application info. Examples: Europe/London, America/Chicago, Asia/Dubai.


Dashboard

Route: /admin

  • Overview statistics (users, exchanges, volume)
  • Trends charts
  • Quick insight into platform health

Exchanges

Route: /admin/exchange

Manage customer exchange orders.

ActionDescription
View listFilter by status, search exchange ID / user
View detailAmounts, rates, proof fields, timeline
ApproveConfirm payment received
CancelReject with reason
RefundMark refunded with reason

Workflow tip: Configure currency form fields so users upload proof before approval.


Currencies

Routes: /admin/currencies, /admin/currencies/price

ScreenPurpose
Currencies indexCRUD currencies, buy/sell rates, limits, fees, status
Currency pricesReference rates + sync from API
Form fieldsDynamic proof fields per currency

Users

Route: /admin/users

  • Create users (optional credentials email)
  • Edit profile, role, ban status
  • View user reliability / exchange history summary

Blog

Routes: /admin/blog, /admin/blog/category

  • Categories CRUD
  • Posts with rich content, slug, SEO fields, featured image, status

Security

Blog HTML and optional head script are rendered on the public site. Trusted admins only — see Trusted admin content (XSS).


Route: /admin/settings/legal-pages

Create pages with custom slugs (e.g. privacy, terms). Public URLs: https://yourdomain.com/{slug}.

Security

Legal page bodies are stored as HTML and shown to all visitors. Only grant admin access to trusted staff — Trusted admin content (XSS).


Support tickets

Route: /admin/support

  • View user tickets, change status
  • Reply with message + attachments

Contact submissions

Route: /admin/contact-submissions

Inbox for public contact form messages.


Subscribers

Route: /admin/subscribers

  • List newsletter emails
  • Send broadcast HTML email

IP blocking

Route: /admin/ip-block

Block IPs permanently or until expiry; categories and reasons for audit.

Enforcement is applied by global API middleware (EnsureIpIsNotBlocked) on sensitive routes, including:

  • Authentication (/api/auth/*)
  • Customer dashboard (/api/dashboard/*, except block status check)
  • Contact form, report/feature submissions, newsletter subscribe
  • Creating exchanges and submitting proofs

Exempt (still reachable when blocked): public settings/legal pages, public GET content (rates, blog), GET /api/dashboard/ip-block/status (so the UI can show the block message), and all /api/admin/* routes so administrators can manage blocks.


Report & feature requests

Route: /admin/report-feature

User-submitted bugs and feature ideas from dashboard.


Settings

Route: /admin/settings

SectionSlug / routePurpose
GeneralgeneralSite title, currency display, decimals, bonuses
LogologoLight/dark logo, favicon
Systemsystem-configurationRegistration, email verification, secure passwords
SEOseoMeta, OG image, social titles
Home pagehome-pageFull landing page builder
Social loginsocial-loginGoogle / Facebook
Custom CSScustom-cssGlobal CSS injection (trusted admin only)
SitemapsitemapXML sitemap config (served by Nuxt)
Robotsrobotsrobots.txt rules (served by Nuxt)
Currency rate API(under settings / currencies)External rate sync

Home page preview

Route: /admin/settings/home-page-preview

Preview draft home page content before publishing.


Notifications

Route: /admin/notifications

In-app notification bell — exchange events, registrations, etc.


System tools

RoutePurpose
/admin/extra/cacheClear Laravel caches
/admin/extra/serverPHP/server info
/admin/extra/applicationApp & Laravel version
/admin/extra/update-logRelease notes UI

Profile & security

RoutePurpose
/admin/profileAdmin profile & avatar
/admin/passwordChange password

API reference (admin prefix)

All admin endpoints are under:

text
GET|POST|PUT|PATCH|DELETE  {API_URL}/api/admin/...

Authenticated with Sanctum session + admin authorization. See routes/api/admin.php in source for the full list.

Need help? support@xorinlab.com · Website: xorinlab.com