Admin screen index

Every core admin screen with its URL, the permission that opens it, and what it is for — plus the screens reachable only by deep link, the ones that appear conditionally, and the endpoints with no screen at all.

4 min readUpdated 11 August 2026admin, screens, permissions, routes, navigation

Ninety page files make up the core admin: 81 under the dashboard shell and 9 under the blog shell. The extensions add another 208 on top, each with its own sub-navigation, which is why this index stops at core.

This is a lookup table. If you know what you want to do, find it here and go. If you want the guided tour — what each area is for and the daily routine that keeps it clear — read The admin panel instead.

How to read the permission column

The permission named is the one that opens the URL, taken from frontend/middlewares/permissions.json. That manifest fails closed: an admin path with no entry requires the base access.admin key, and those rows are marked fallback.

Opening a URL is not the same as seeing data on it. Almost every screen is a data table that also asks for a view.* key before it fetches a row, and each button asks for its own create., edit. or delete. key. Granting access.X without view.X produces a page with a permanently empty table and no error. The whole model is in Roles and permissions.

Ctrl+KCmd+K on a Mac — opens a search over every item in the admin menu, from any admin screen. It is admin-only, and it is the fastest way to reach a page you cannot find in the nav. Escape closes it.

Dashboard and area landings

The five area URLs are not dead ends: each renders that area's own submenu, so landing on one is a menu rather than a blank page.

URL Permission What it is
/admin access.admin Five KPIs, four charts, platform health, and the alert band that fires on a stalled queue, a stopped scheduler or critical health
/admin/crm access.admin Users area landing
/admin/finance access.admin Finance area landing
/admin/content access.admin Content area landing
/admin/system access.admin System area landing
/admin/extensions fallback The five-group extension grid — trading platforms, automation, investment products, marketplace, business tools

Users

URL Permission What it is
/admin/crm/user access.user The customer list. Create and edit; no delete button
/admin/crm/user/{id} fallback One customer: block, unblock, reset 2FA, and every tab of their history
/admin/crm/role access.role Roles and the permission set each holds. Super Admin only, whatever keys you hold
/admin/crm/permission access.permission Read-only catalogue of the seeded permission keys and which roles hold them
/admin/crm/kyc/application access.kyc.application The verification queue, opening on PENDING, oldest first
/admin/crm/kyc/application/{id} fallback One application, with the decision controls
/admin/crm/kyc/level access.kyc.level Verification levels and the feature switches on each
/admin/crm/kyc/level/create create.kyc.level New level
/admin/crm/kyc/level/{id} fallback Edit a level
/admin/crm/support access.support.ticket The support desk console — queue, conversation and case in one viewport. Renders full-bleed with no admin header
/admin/crm/support/{id} view.support.ticket One ticket, also full-bleed
/admin/crm/support/tickets access.support.ticket The full ticket archive with analytics, per-column filters and bulk actions. Reached from the console's top bar, not the menu
/admin/api/key access.api.key Every API key on the platform. See API keys

Finance

URL Permission What it is
/admin/finance/profit access.admin.profit The platform's own fee revenue, kept per currency and never summed across them
/admin/finance/currency/spot access.spot.currency Cryptocurrencies — enable, disable, price, and import what the provider offers
/admin/finance/currency/fiat access.fiat.currency Fiat currencies
/admin/finance/deposit/gateway access.deposit.gateway The gateway readiness console: which bundled fiat gateway can take a payment right now, and what is missing if not
/admin/finance/deposit/gateway/{id} edit.deposit.gateway One gateway's credentials, fees and currency list. Deep link from the console
/admin/finance/deposit/method access.deposit.method Manual deposit methods you define yourself
/admin/finance/deposit/method/{id} fallback One method, with its activity timeline
/admin/finance/deposit/log access.deposit The deposit queue
/admin/finance/deposit/log/{id} edit.deposit One deposit, with its audit tab
/admin/finance/withdraw/method access.withdraw.method Withdrawal methods
/admin/finance/withdraw/log access.withdraw The withdrawal queue — decidable at PENDING and PROCESSING
/admin/finance/withdraw/log/{id} access.withdraw One withdrawal
/admin/finance/wallet access.wallet Every user wallet. Adjust a balance, freeze one; no create, no delete
/admin/finance/wallet/{id} access.wallet One wallet: balances, owner, transactions, and the balance-ledger audit tab. Adjust and freeze live here too, both on edit.wallet
/admin/finance/transaction access.transaction The full ledger — read and delete only
/admin/finance/transfer access.transfer Internal transfers queue
/admin/finance/transfer/{id} access.transfer One transfer, with its settlement view
/admin/finance/exchange access.exchange The provider hub — Overview, Regions, Settings — and the launch point for the four screens below
/admin/finance/exchange/market fallback The provider's markets. The API behind it needs view.exchange.market
/admin/finance/exchange/balance fallback The exchange account's balances, read live over ccxt. API needs view.exchange.balance
/admin/finance/exchange/fee fallback Order fees calculated and grouped by fee currency. API needs view.exchange.fee
/admin/finance/exchange/chart view.exchange.chart Candle-cache statistics per market, with build, clean and fix actions
/admin/trading/settings fallback The trading interface: general, features, trading form, display. Saves through the ordinary settings endpoint
/admin/finance/binary/market access.binary.market Binary markets
/admin/finance/binary/market/create fallback Add a binary market
/admin/finance/binary/market/{id}/edit fallback Edit one
/admin/finance/binary/settings access.binary.settings Binary options console — order types, barriers, durations, limits
/admin/finance/order/exchange access.exchange.order Spot order book
/admin/finance/order/ecosystem access.ecosystem.order Ecosystem order book
/admin/finance/order/futures access.futures.order Futures orders
/admin/finance/order/binary access.binary.order Binary orders
/admin/finance/investment/plan access.investment.plan Investment plans
/admin/finance/investment/duration access.investment.duration Investment durations
/admin/finance/investment/history access.investment Every investment position

Content and appearance

URL Permission What it is
/admin/content/media access.content.media The media library — a live view of frontend/public/uploads, images only
/admin/content/slider access.content.slider Homepage sliders
/admin/design access.design Site Design: palette, radius, typeface, elevation, motion, navbar and footer layout. Full-bleed
/admin/design/specimen access.design The component specimen the studio previews against. Invented data; deliberately not in the menu
/admin/appearance access.design A redirect into /admin/design, kept so old bookmarks land
/admin/menus access.design Edit any menu on the site. Full-bleed
/admin/footer access.design Footer content. Full-bleed
/admin/builder fallback The visual page builder. Only in the menu when landingPageType is CUSTOM
/admin/builder/{id} fallback The builder canvas for one page. Full-bleed
/admin/default-editor fallback The five built-in pages — home, about, contact, privacy, terms. Only when landingPageType is DEFAULT. Full-bleed
/admin/default-editor/{pageId}/edit fallback Editing one of them. Full-bleed

Everything in this group is covered in Design, menus, footer and branding and Blog, media, announcements and market news.

System

URL Permission What it is
/admin/system/settings access.settings Platform Settings — seven tabs: General, Features, Security, Integrations, Wallet, Social & Links, Branding
/admin/system/notification fallback The notification console — seven tabs including PWA, which is the only PWA manifest editor there is
/admin/system/notification/template access.notification.template Notification templates. Edit and enable only; the set is fixed. Full-bleed
/admin/system/notification/sms access.notification.settings SMS provider choice and credential validation
/admin/system/announcement access.system.announcement Site-wide announcements. Nothing expires one
/admin/system/news access.market.news Market news for the trading terminal — a different system from announcements
/admin/system/geo-restriction access.geo.restriction Country restrictions, with effective dates, a legal basis and a rule tester
/admin/system/geo-restriction/settings access.geo.restriction Geo Policy — detection sources, VPN handling, wind-down carve-outs, the visitor notice
/admin/system/geo-restriction/log access.geo.restriction.log Every geographic access decision, with CSV export
/admin/system/audit access.admin.audit The administrative audit trail. Append-only — no create, edit or delete route exists
/admin/system/cron access.cron The scheduler: heartbeat, job registry with sticky refusals, live log. Firing a job by hand needs manage.cron
/admin/system/icon view.currency.icon Missing currency icons and the fetcher. Fetching needs edit.currency.icon
/admin/system/logo access.system One-image logo regeneration. Not in the menu
/admin/system/extension access.extension Enable and disable installed extensions
/admin/system/extension/{id} access.extension One extension's detail and licence state
/admin/system/update access.system.update Version check, changelog, download and extract
/admin/system/license fallback Activate a licence by code or .lic file. Deep link from the exchange hub, extension detail and the updates screen
/admin/system/database/backup access.database mysqldump into backup/, the backup list, and restore. No inbound link anywhere in the product

Blog

The blog admin is its own route group. It renders inside the public site's header and footer with a four-item bar of its own — Dashboard, Content, Community, Settings — and the dashboard nav links only to /admin/blog.

URL Permission What it is
/admin/blog access.blog Counts, recent posts and the pending-author queue
/admin/blog/post access.blog.post The post list
/admin/blog/post/create create.blog.post The post editor. Full-bleed
/admin/blog/post/{id}/edit edit.blog.post The post editor. Full-bleed
/admin/blog/category access.blog.category Categories — one per post
/admin/blog/tag access.blog.tag Tags — many per post
/admin/blog/author access.blog.author The author approval queue. A separate record from the user
/admin/blog/comment access.blog.comment Comment moderation
/admin/blog/settings access.blog.settings Fourteen blog settings across five tabs

Screens with no menu entry

Eleven core screens are reachable only by typing the URL or by following a link from inside another page. Losing track of one of these is how a feature gets reported as missing.

Screen How you get there
/admin/system/database/backup Nothing links to it. Type the URL
/admin/system/license The exchange hub, an extension's detail page, the updates screen, the ecosystem blockchain page
/admin/finance/exchange/market The Exchange hub
/admin/finance/exchange/chart The Exchange hub
/admin/finance/exchange/balance The Exchange hub
/admin/finance/exchange/fee The Exchange hub
/admin/finance/deposit/gateway/{id} The gateway readiness console
/admin/crm/support/tickets The support console's top bar
/admin/system/logo Type the URL — superseded by the Branding tab in Platform Settings
/admin/design/specimen The Site Design preview iframe. Deliberately excluded from the menu
/admin/appearance An old bookmark; it redirects into /admin/design

The blog's own screens are not in the dashboard nav either. They are in the blog admin's bar, which only appears once you are inside /admin/blog.

It has no link anywhere, and it covers MySQL only. Redis, ScyllaDB, .env, the licence files and frontend/public/uploads/ are not in that dump. See Backup and restore.

Screens that appear conditionally

Screen Appears when
/admin/builder — Page Builder setting landingPageType is CUSTOM
/admin/default-editor — Default Pages setting landingPageType is DEFAULT

They are mutually exclusive by design, and when the setting has never been saved the menu treats it as DEFAULT. Both URLs resolve regardless of the setting — it decides only which one is listed.

Every extension screen is conditional in a different way: the admin menu shows extensions you have not enabled, marked as disabled, so you can see what is available. The public user menu hides them.

The seventeen screens on the access.admin fallback

These core pages have no entry in the URL permission map, so the base access.admin key alone opens them:

/admin/builder                        /admin/finance/binary/market/create
/admin/builder/{id}                   /admin/finance/deposit/method/{id}
/admin/crm/kyc/application/{id}       /admin/finance/exchange/balance
/admin/crm/kyc/level/{id}             /admin/finance/exchange/fee
/admin/crm/user/{id}                  /admin/finance/exchange/market
/admin/default-editor                 /admin/system/license
/admin/default-editor/{pageId}/edit   /admin/system/notification
/admin/extensions                     /admin/trading/settings
/admin/finance/binary/market/{id}/edit

The data on them is still fetched through the API and still refused without the right view.* key, so an under-privileged operator sees an empty shell rather than records. But the URL opens, and for /admin/trading/settings and /admin/system/notification that is a real screen with real controls on it.

Treat it as "may walk the whole admin area", not as "may see the dashboard". Anyone holding it reaches every page in the block above — including individual customer profiles, the page builder and the notification service.

One more fragility worth knowing: /admin/system/logo currently gates on access.system in the manifest, but its source file declares the permission using the plural array form (export const permissions = [...]), which the manifest generator cannot parse. If anyone regenerates permissions.json, that entry disappears and the page drops onto the access.admin fallback.

Endpoints with no screen

Some admin capability exists only as an API. These are the ones worth knowing, because looking for a screen wastes the afternoon:

The wallet balance ledger — every credit, debit, hold and release with the balance either side

There is no standalone screen for this. It is rendered as the ledger panel on the Audit Trail tab of a customer's page, a deposit, a withdrawal or a transfer, scoped to that record. Filter it directly with ?filter={"walletId":"…"} or ?filter={"userId":"…"} to get a whole trail. See The wallet audit log.

Answers whether a CMS page slug is available, and why not

Nothing in the shipped frontend calls it. It is the only way to tell a reserved slug apart from one held by a soft-deleted page.

Reads the dedicated trading settings record

Also unused. /admin/trading/settings writes through /api/admin/system/settings instead, which is why the access.trading.settings key can be granted and appear to do nothing.

Repairs ECO transaction reference ids
Reports how the backend resolved its filesystem paths

Two maintenance endpoints with no UI. The second is the one to reach for when uploads or logos are landing in the wrong directory on a production box.

The Hummingbot extension adds a whole key-management API at /api/admin/hb/keys/* — list, stats, per-key audit, disable, enable, rate-limit override — with no admin screen anywhere under /admin/hb that opens it. The permission keys (view.hb.key and friends) are seeded and grantable regardless.

Where the extensions live

The 208 extension admin pages are not listed here. Each extension owns a sub-navigation that appears once you enter it from Extensions, and its screens are gated by the URL map and by the API routes behind them. Extension admin sub-menus declare no permissions of their own, so an extension page nobody mapped is reachable by anyone holding access.admin — the same fallback as the block above, at ten times the scale.

For which extensions are installed, enabled and licensed, see Extensions and versions.