$10 a server.
Not $0.49 a customer.
cPanel bills by how many accounts you run, and above 100 it adds $0.49 a month for every one. Vanta Panel bills by how many servers you run — unlimited accounts, mailboxes and databases on each. And unlike the flat-price newcomers, it ships the mail server, the authoritative DNS and the private nameservers you need to actually sell shared hosting.
cPanel list price, checked 26 Jul 2026. Licence cost only — you pay for your own hardware either way.
What one server costs, at the account counts you actually run
cPanel Premier covers 100 accounts and then charges $0.49 for each one after that, so the line keeps climbing for exactly as long as your business grows. Vanta Panel is $10 a month for that server whether it holds 3 accounts or 3,000.
| Accounts on the box | cPanel / yr | Vanta Panel / yr | You keep |
|---|---|---|---|
| 100 | $839.88 | $120 | $719.88 |
| 200 typical | $1,427.88 | $120 | $1,307.88 |
| 500 typical | $3,191.88 | $120 | $3,071.88 |
| 1,000 | $6,131.88 | $120 | $6,011.88 |
| 2,000 | $12,011.88 | $120 | $11,891.88 |
More than one box
Licences are per server, so the fleet cost is simply $10 × servers. A 3-server shop with 200 accounts on each — 600 customers in total — pays $360 a year. The same fleet on cPanel list price is $4,283.64 a year. Adding the next customer changes the first number by nothing at all, and the second by another $5.88 a year.
cPanel list price, checked 26 Jul 2026: Solo $29.99/mo (1 account), Admin $35.99 (5), Pro $53.99 (30), Premier $69.99 (100), plus $0.49 per additional account above 100. Your negotiated or partner rate may differ; the ratio does not change much, because one side of it scales with your customer list and the other does not. cPanel® is a trademark of its owner and we are not affiliated with it.
Moving accounts off cPanel, honestly
It is a copy-based migration: the old server is never modified, every site keeps serving from it the whole time, and you only move the domain once the site is proven on the new box. Not switching is your rollback. What follows is what the job really involves — the full runbook, with screenshots of every screen, is in the docs.
Package the account on the cPanel side
/scripts/pkgacct <user> if you have root, or the customer’s own Download a Full Account Backup if you do not. Same archive format either way.
Copy it server to server
scp it straight into /var/lib/vantapanel/cpimports/ on the new machine — anything dropped there shows up on the Import page automatically. Check the sha256sum matches on both ends before you go further.
Import in vWHM
The panel reads the archive without extracting it and shows you the cPanel user, primary domain, databases, mailboxes and cron jobs it found. Pick the new username, tick what you want, and it runs in the background with live progress.
Test before you touch DNS
Point your own machine at the new server with a hosts-file line and click through the site properly — admin login, forms, checkout. Nothing about your customer’s live service has changed yet.
Lower the TTL, then move the domain
Drop the TTL to 300 a day ahead, recreate the custom DNS records, then switch the A records — or move the nameservers, if you are taking DNS over as well. Issue the SSL certificate once the domain resolves to the new box.
What the archive brings across
- All website files, restored under the new account’s home directory
- The databases you tick, streamed from the archive straight into MySQL
- Mailbox folders, including the old messages stored in the home directory
- Cron jobs, with their /home/olduser/… paths rewritten
- Database credentials inside wp-config.php, .env and configuration.php — so WordPress, Laravel and Joomla sites boot without an edit
What the archive cannot bring across
- Mailbox passwords — cPanel’s hashes are not portable, so every mailbox needs a new password issued
- Custom DNS records — SPF, DKIM, external MX, verification TXT — recreated before you switch
- SSL certificates — issued fresh from Let’s Encrypt once the domain resolves to the new box (one click, then auto-renewing)
- Addon domains and FTP accounts — recreated on the new account
The part nobody tells you
There is no bulk importer. The import is per account, and steps 1–5 repeat for every account you move, so a 200-account estate is a scheduled project across evenings and maintenance windows, not an afternoon. Mailbox passwords are the piece that generates customer contact — plan the comms for that before you start, not after. What you can automate is the account creation itself: the REST API creates, suspends, unsuspends, re-plans and terminates accounts with a scoped bearer token, so provisioning the empty shells for a batch is a script. Restoring each archive into them is still a per-account action in vWHM.
The WHMCS module is free, and it is the whole lifecycle
Point a WHMCS product at your Vanta server once. After that your billing system drives the panel: an order provisions the account, an overdue invoice suspends it, a payment restores it, a cancellation terminates it. No add-on licence, no per-account module fee. Full detail, the four-step install and the download are on the WHMCS module page.
| In WHMCS | On your server |
|---|---|
| New order | Account created — user, domain, password, plan limits |
| Invoice overdue | Account suspended |
| Payment received | Account unsuspended |
| Upgrade / downgrade | New package limits applied |
| Password reset | Panel password changed |
| Cancellation | Account and its databases removed |
Scoped tokens, not root
The module authenticates with a bearer token you create in vWHM, scoped to accounts:read, accounts:write or accounts:delete. A call without the scope gets a 403. Revoke the token any time.
Your brand on the invoice
Map each WHMCS product to a Vanta package and sell hosting as your own. Your customers order from you, pay you, and land in a panel served from your domain on your nameservers.
Or skip WHMCS entirely
The same REST API is documented and public, so if you bill from your own system you can provision against it directly. One GET ?api=ping tells you the token and server are good.
What actually separates one customer from the next
You are putting strangers on the same kernel, so this is the section that matters. Here is what the panel writes to disk when an account is created — not a description of a security posture, the actual configuration.
One Linux user per account
Account creation runs useradd and gives the account its own user, group and home under /home. The home is 0711 — Apache can traverse into public_html, other accounts cannot list it.
One PHP-FPM pool per account — when you switch it on
Read this one carefully, because the default is the weaker setting. A new account serves PHP through the server’s shared mod_php, which runs as www-data for everybody. Isolate accounts in vWHM moves them to their own pool at /etc/php/<ver>/fpm/pool.d/<account>.conf with user = <account> on a private socket, open_basedir pinned to the home, exec/shell_exec/system disabled and a private session and upload tmp. Then PHP for customer A executes as A. The screen shows an isolated-versus-shared count, the switch is atomic (a failed Apache configtest rolls everything back), and it is reversible per account. If you are reselling, do this on day one.
Per-pool process caps
Pools are ondemand with pm.max_children and pm.max_requests set per account, so one customer’s traffic spike cannot consume every PHP worker on the box.
Database users scoped to their own schemas
Every database user is created with GRANT ALL ON `theirdb`.* and nothing wider — no GRANT OPTION, no cross-account visibility. phpMyAdmin logs in as that user, so it can only see what the grant allows.
Per-account PHP version and ini
PHP version is set per account, and the ini overrides the panel exposes are written into that account’s own pool file inside a managed block — changing one account’s memory_limit cannot touch another’s.
Separate SSH and FTP identities
FTP users are created against the account’s group with /usr/sbin/nologin and a home inside the account. SSH keys are per account. Nothing shares a login.
Per-account logs and quotas
Apache writes <account>-error.log and <account>-access.log per account, so bandwidth and disk usage are attributable. Packages set the disk, bandwidth, database, mailbox and subdomain limits each account is held to.
Prefixed ACLs on the shared services
Where a service is shared rather than per-account — Kafka, for instance — access is granted on an <account>.* prefix with byte-rate quotas, not handed out wholesale.
And what it is not
At its strongest — which means with account isolation switched on — this is Unix-user isolation with per-account PHP-FPM pools: the same model shared hosting has run on for twenty years, and the same model cPanel uses. It is not containers and it is not virtual machines: accounts share one kernel, one Apache and one MySQL server instance, so a kernel-level exploit or a resource-starved box affects everyone on it. If your customers need hard resource guarantees or isolation at the hypervisor level, sell them separate VPSs — which, at $10 a server, is a cheaper thing to do here than anywhere else. We would rather you knew the boundary than discovered it.
Everything on your price list, in one licence
The flat-price newcomers are deploy tools. They will run a PHP site beautifully and then leave you explaining to a customer why their mail has to live somewhere else and why their nameservers say someone else’s brand. You cannot sell shared hosting on a panel with no mail server and no authoritative DNS. That is the gap this closes.
Mailboxes on your own mail server
Postfix and Dovecot, IMAP and SMTP, webmail, forwarders, autoresponders and spam filtering. Not a forwarding trick and not a Google Workspace resale — the mail server is on your box, and the mailboxes are a line on your invoice.
Authoritative DNS
PowerDNS running as the authoritative server for the zones you host, with the zone editor in both panels. You answer for your customers’ domains instead of sending them to someone else’s control panel.
Private nameservers on your brand
ns1.yourbrand.com and ns2.yourbrand.com, glue records and all. Customers point their registrar at you, which is the thing that makes you their host rather than their deploy button.
SSL as an included feature
Let’s Encrypt issued and renewed automatically on every domain, so HTTPS is not a support ticket and not an upsell you have to administer.
Databases and phpMyAdmin
MySQL/MariaDB databases and users per account, with phpMyAdmin already wired up and scoped to the logged-in user.
Backups you can hand back
Scheduled per-account .tar.gz plus .sql, local or remote, restorable in one click — and readable with tar if a leaving customer asks for their data.
Modern runtimes, no extra licence
Node.js and Python app managers with process supervision, Java, Kafka, Redis, Git pull-to-deploy, cron with output capture. The things customers now ask for, without a second product.
A customer panel that looks like one
vPanel is the end-user surface at /vpanel; vWHM is yours at /vwhm. Your customers get a control panel, not a shell prompt and a promise.
All of it is in the same licence. There is no higher tier holding the mail server hostage, because there is no higher tier — see the full feature list or the pricing page.
The questions you should ask before you move a customer base
We are a small vendor asking you to put your customers on our software. That deserves direct answers rather than reassurance, including where the answer is not flattering.
If my licence lapses, do my customers go offline?
What happens if your licensing server is down?
If Vanta Panel stopped existing tomorrow, what am I left with?
How portable is the data if I want to leave?
Do you have access to my server or my customers’ data?
touch /etc/vantapanel/no-telemetry. This is set out in full in our privacy policy.One licence per server — what does that cost me across a fleet?
Is there a reseller or white-label programme?
What support do I get, and what is the honest state of the product?
Anything we have not answered here, ask before you buy rather than after — contact us, or read the terms and refund policy in full.
Prove it on one customer before you plan the estate
We have no case studies to show you and we are not going to invent any. Do this instead — it costs you a VPS for a month and tells you more than any reference call.
Install it free
One command on a fresh Ubuntu or Debian VPS. The free tier is the identical build, capped at one account, one mailbox and one database — enough to migrate one real customer and look at the result.
Move your most annoying account
Not the simplest one. Pick the account with the mail volume, the odd cron jobs and the legacy PHP version, and run the migration runbook on it end to end while the original keeps serving.
Wire it to your billing
Install the WHMCS module against that server, place a test order, let it provision, then let the invoice go overdue and watch it suspend. If that loop works, the rest is volume.
$ curl -fsSL https://get.vantapanel.com | sudo bashUbuntu 22.04 / 24.04 LTS or Debian, root SSH, 2 GB RAM minimum — 4 GB+ if the box will carry real traffic. Licensing it later does not reinstall anything.
Your hundredth customer should not cost more than your first.
$10 a month for the server. Unlimited accounts, mailboxes and databases on it, with the mail server, the authoritative DNS and the private nameservers already in the box.
Billed monthly in USD. Cancel any time. Move a licence between servers yourself, free. 14-day refund window on a first purchase.