Open Beta · Access by Request · Free While in Beta

The hosting control panel, reimagined

WHost is a complete, modern hosting panel: accounts, mail, DNS, databases and SSL in one place, with first-class Python and Node app hosting, kernel-level isolation and an API for everything. Built from the ground up by the team behind WISECP.

See What's Inside
https://panel.yourdomain.com/admin
WHost admin dashboard with live CPU, memory, disk and bandwidth gauges
Account created
Python app deployed

One Panel

Every hosting essential, built in

Accounts, domains, mail, DNS, databases, SSL, files and backups all live in one modern UI, with the fiddly parts already wired up: DKIM and ARC signing, one-click DNSSEC, phpMyAdmin single sign-on and a Monaco-powered file manager.

Accounts & Plans

Provision, suspend and repackage accounts, each in its own kernel-limited slice.

Domains

Addon domains, subdomains, parked domains and redirects, checked before they save.

Email

Mailboxes with DKIM and ARC signing, Rspamd filtering and one-click webmail.

DNS

PowerDNS zones with one-click DNSSEC and BIND import and export.

Databases

MariaDB databases and users with granular privileges and phpMyAdmin single sign-on.

SSL

Let's Encrypt with bulk issuance, wildcards, custom certs and HSTS.

File Manager

The Monaco editor in the browser, with archives, uploads and live previews.

Backups

Scheduled backups to six remote targets, with selective, name-checked restores.

Cron Jobs

Scheduled tasks with a built-in cheatsheet and a guard on risky commands.

FTP Accounts

Per-account FTP users with chroot, over a hardened Pure-FTPd.

Resellers & ACLs

Reseller hierarchies with permission templates; denied features simply disappear.

Logs & Audit

Access, error and PHP logs tailing live, plus a full audit trail.

App Hosting

Run full apps, not just PHP

Most panels stop at PHP. WHost also runs Python and Node apps: upload a Django, Flask, FastAPI, Express or Next.js project and the panel detects the framework, installs its dependencies and starts it, streaming the whole deploy live. No terminal, no manual setup.

Django Flask FastAPI Express NestJS Next.js

Each app runs as its own isolated service with its own dependencies. Python 3.10-3.13 with Gunicorn or Uvicorn, Node 18 / 20 / 22 with native cluster mode.

Security

Locked down by default

Isolation, a live firewall, a WAF and signed updates come switched on, not sold as extras. WHost defends every account and patches itself safely, so security is the default, not a project.

Every Account Walled Off

Each account is its own Linux user in its own cgroup v2 slice, with CPU, memory, IO and process limits from the kernel. A break-in stays boxed in.

Under-Attack Mode

One switch hardens the kernel, firewall, rate limits and Fail2ban together. A weighted threat score arms it automatically past 5 of 10.

WAF and Fail2ban, On by Default

ModSecurity v3 with the OWASP Core Rule Set filters requests, with a per-account toggle, while Fail2ban jails cover SSH, web and mail.

Signed Updates That Roll Back

Releases are RSA-signed and SHA-256 verified, applied atomically with a health check that undoes itself on failure. Patch the day a fix lands.

2FA and IP Allowlists

TOTP or email codes with ten single-use backup codes, an admin IP allowlist, and a live session list you can revoke at any time.

Hardened by Design

An HMAC-signed API with replay defense, path-traversal and SSRF rejected at every boundary, the agent bound to loopback, and regular red-team review.

Webserver Engine

NginxStandalone
Apache.htaccess Native
Nginx + ApacheReverse Proxy Pair
OpenLiteSpeedActiveLSCache · HTTP/3
LiteSpeed EnterpriseLicensed Plugin
Switching engines keeps every account in place: old vhosts are removed and rebuilt on the new engine automatically.

Webserver Freedom

Five engines, one panel, switch anytime

Nginx, Apache, both together, OpenLiteSpeed or LiteSpeed Enterprise. Change the engine under a live account and WHost rebuilds the vhosts on the new one, so your first choice is never final.

PHP 7.4 - 8.5 Per-Domain Version OPcache + IonCube php.ini per Pool

Modern Interface

Modern software, through and through

Built on a current React stack, with dark and light themes, a command palette and live charts. Every screen is fast, keyboard-friendly and easy on the eyes, so the everyday work just flows.

Dark & Light, Flash-Free Command Palette Live Charts 34 Languages + RTL Consistent Data Tables Monaco Editor

Press ⌘K anywhere to jump to a page or run an action.

Performance

Light on the server, quick in the browser

The panel ships as a static build served straight from Nginx, with no Node runtime to feed. It evaluates on a single core and 1 GB of RAM, and kernel-level limits keep one busy account from slowing the rest.

A Panel That Barely Costs

The frontend is static files, not a running app, so there is no panel process competing with your sites. Behind it sits one lightweight Python agent on loopback.

Static frontend · loopback agent · runs on 1 GB RAM

Fair Share, by the Kernel

cgroup v2 caps every account's CPU, memory, IO and process count, read live from the kernel, so a spike on one site can't steal the whole box.

cgroup v2 limits, live from the kernel

Quick in the Browser

Cached queries make panel navigation feel instant, and the LiteSpeed engines add HTTP/3 and LSCache for the sites you serve.

HTTP/3 · LSCache · cached navigation

Built for Developers

If the UI can do it, the API can do it

Every panel operation is a documented REST call: HMAC-signed, replay-safe and idempotent, with OpenAPI 3.1, Swagger UI and ReDoc built in. First-class with WISECP, open to any billing stack that speaks HMAC.

613
API Operations
62
Resource Groups
240+
Client-Scope Calls
# Sign the call: method, path, timestamp, nonce and body bound together
SIG=$(printf 'POST\n/api/v1/accounts\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY" |
      openssl dgst -sha256 -hmac "$WHOST_SECRET" -r | cut -d' ' -f1)

curl -X POST https://panel.example.com/api/v1/accounts \
  -H "X-Api-Key: $WHOST_KEY" -H "X-Timestamp: $TS" \
  -H "X-Nonce: $NONCE" -H "X-Signature: $SIG" \
  -H "X-Idempotency-Key: order-1042" -d "$BODY"

# 201 Created
{ "status": "success", "data": { "username": "acme", "state": "active" } }
// composer require wisecp/whost-php-sdk
$whost = new WHost\Client($key, $secret);

$account = $whost->accounts->create([
    'username' => 'acme',
    'domain'   => 'acme.com',
    'plan'     => 'cloud-25',
], idempotencyKey: 'order-1042');

// Retries, signing and the response envelope are handled for you
echo $account->state; // "active"
// Same signature contract, byte-identical across PHP, JS, Go, Ruby and Bash
const payload = `POST\n/api/v1/accounts\n${ts}\n${nonce}\n${body}`;
const sig = createHmac('sha256', secret).update(payload).digest('hex');

const res = await fetch('https://panel.example.com/api/v1/accounts', {
  method: 'POST',
  headers: { 'X-Api-Key': key, 'X-Timestamp': ts,
             'X-Nonce': nonce, 'X-Signature': sig },
  body,
});

Official PHP SDK

38 resources and 400+ typed methods with retries, idempotency and webhook verification. Installed with Composer.

Webhooks, Delivered

25 signed events with exponential backoff, a dead-letter queue and manual retry. No polling loops.

Docs Your AI Can Read

An llms.txt index, agent playbooks and an API summary sized to fit a context window. Point your agent at it.

A Stable v1 API

The v1 API only adds, it never breaks. Anything on the way out gets 15 months' notice, flagged by Sunset headers, so your integration keeps working.

Getting Started

Bring your accounts over from the panel

Start a migration in WHost and it pulls accounts, mail, DNS and databases from your old server, with live progress you can watch. It reads seven panels directly, from cPanel and Plesk to CyberPanel and HestiaCP, and takes anything else from a backup upload. Starting fresh is a single command.

cPanel Plesk DirectAdmin CyberPanel CloudPanel HestiaCP CWP Backup Upload
  • Reads cPanel, Plesk, DirectAdmin, CyberPanel, CloudPanel, HestiaCP and CWP, scanning accounts, mail, DNS and databases
  • Takes any other panel from a backup archive upload
  • Streams every phase live, connect, scan, select and migrate, and resumes on its own
  • Verify the copy first, then cut over when you're ready
one-command install
$ bash install.sh --webserver=nginx --php-versions=8.3,8.4

 MariaDB · PowerDNS · Postfix + Dovecot · Pure-FTPd
 Firewall · Fail2Ban · ModSecurity with OWASP CRS
 phpMyAdmin · Roundcube · Rspamd · Let's Encrypt
 Admin credentials generated · rollback armed on failure
Ubuntu 22.04 / 24.04 Debian 12 AlmaLinux 9 Rocky 9 CentOS Stream 9

Evaluates on 1 CPU and 1 GB of RAM; 4 vCPU and 8 GB recommended for production.

Open Beta

Be among the first to run WHost

The beta is free, with no time limit and no card. Access opens in small groups: send a request, tell us what you want to test, and we will get back to you by email.