Skip to content

Licensing

CorePanel Personal is free and needs no license. A license is what unlocks the Pro and Business features on a server — nothing else changes.

Two rules govern everything on this page, and they are worth reading before the details:

  • A license binds to the public IPv4 address your server is seen from, observed by the license server on the connection itself — never an address your machine reports. There is nothing to configure and nothing that can be spoofed by editing a file.
  • Licensing never takes a site offline. Every failure mode — an unreachable license server, an expired license, a revoked one — ends in the same place: the server falls back to Personal features. Sites, mail, DNS and databases keep running.

The first time you sign in, CorePanel asks which edition this server is going to be.

The edition chooser: three cards side by side — Personal (free, up to 20 websites), Pro (unlimited websites, full WAF, firewall, speed optimizer) and Business (marked "Most complete", with the client area, hosting packages, WHMCS and cPanel import), both marked as paid editions. Pro and Business each carry a "14-day free trial" line. Below the cards, an email field, an optional checkbox for product news, and a button reading "Start the free trial".

The choice is not final. Everything here can be changed later from Server → License, including starting a trial you skipped at the time.

  • Personal is free, has no time limit and is a complete edition: up to 20 websites with their mail, DNS, databases, backups, free SSL and the WordPress manager, plus two applications on their fixed resource limits.
  • Pro and Business each come with a 14-day free trial. No card, nothing to cancel — it ends by itself.

The email address is asked for in all three cases. On a trial it is where the warnings go before it ends; on Personal it is how we can reach you about a security release affecting your server. The checkbox below it is a separate opt-in for product news, and nothing else depends on it.

If you would rather not decide yet, pick Personal. It is a supported edition, not a downgrade, and the trial is still there when you want it.

A trial is an ordinary license with a short life: it installs itself, unlocks the whole edition, and expires. Start one from the chooser above, from Server → License on a server already running Personal, or from a shell:

Terminal window
corepanel license trial --edition business --email ops@your-domain.com

While it runs, the panel header shows Trial — N days left, turning amber in the last three days. You are also warned by email at 7, 3 and 1 days, and once after it ends.

Three things are worth knowing before you start one:

  • One trial per server and per email address. A second request is refused, and the answer is the checkout rather than another trial.
  • The address has to be one that can receive mail. Documentation and reserved domains — example.com, anything under .test, .invalid, .localhost or .local — are refused, because the trial warnings at 7, 3 and 1 days would go nowhere. The same applies to the address given for Personal, which is how you hear about a security release.
  • Switching edition mid-trial is free and keeps the original end date. Starting on Pro and moving to Business to look at the client area does not restart the countdown, and does not use up a second trial.
  • When it ends the server goes back to Personal. Nothing is taken offline: every site, mailbox, database and certificate keeps running exactly as it was. What stops is the paid features, and creating sites beyond Personal’s allowance of 20.

Business includes the client area, which Personal does not. If you put real hosting customers on a Business trial, plan for the end of it:

  • When the licence ends, your customers keep signing in for 5 more days, and see a notice telling them to contact you.
  • After those five days, those logins stop. Their sites, email and databases keep working — what ends is their access to the panel.

The five days are there so the message reaches you and you can act, not as a second trial. If a trial is going to end while customers depend on the client area, buy the licence before it does.

Buy from the server that will use it: Server → License, pick Pro or Business and a billing cycle, and press Continue to checkout. Payment happens in a tab that opens on corepanel.net, handled by Paddle as merchant of record — taxes are calculated there.

The License page on an unlicensed server: across the top, the edition in effect (Personal) with a NO LICENSE badge; below it, side by side, an "Upgrade this server" card with Pro and Business selectable side by side, a Monthly/Yearly billing choice and a "Continue to checkout" button; and an "Already have a key?" card with a license key field and an Activate button.

Nothing is typed in afterwards. The checkout tab carries a single-use token minted by that server, so the payment comes back to that machine: the panel installs the license by itself as soon as it clears, and the key never has to be seen. You can close the tab, or the whole panel — an unredeemed purchase is retried at every check-in.

The same thing from the shell, for a server you administer over SSH:

Terminal window
corepanel license upgrade --edition pro --cycle yearly --wait

Buying from the pricing page instead works too, but there is no server attached to that purchase, so the key arrives by email and you activate it as below. Prefer the panel when you already know which machine the license is for.

Pro and Business are licensed per server, monthly or yearly — yearly is ten months of the monthly price, so two months are free. Prices exclude tax: VAT, GST or sales tax is added at checkout according to where you are.

The current figures are on the pricing page, and the panel shows them again in Server → License before you commit to anything.

This is the path for a key you already hold — one bought from the website, moved from another server, or issued to you directly. A license bought from the panel installs itself and never shows you a key, so there is nothing to do here.

In the panel, go to Server → License, paste the key and press Activate. The key looks like CPL-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX; it is case-insensitive and the dashes are optional. The page is reserved for super-administrators: the license decides the edition every account on the server runs under.

From the shell:

Terminal window
corepanel license activate --key-stdin < license.key
corepanel license status

The key is a bearer credential, so on a shared machine prefer --key-stdin over passing it as an argument, where it lands in the shell history and in the process list.

Activation contacts the license server, which binds the license to the address it sees and returns a signed answer. The panel stores those signed bytes and verifies them against a signing key built into CorePanel itself, so a stored license cannot be edited into a better one.

Server → License answers three questions at a glance: which edition the server is getting, which edition the license pays for, and whether anything needs attention. Those first two are separate on purpose — when they differ, the panel says so instead of showing an edition that is not actually in effect.

The License page: on the left, the edition in effect (Pro) with an ACTIVE badge, the masked license key, the status, the bound IP address, the expiry date and the last successful check-in; on the right, a form to paste a key and activate it. The header carries "Check in now" and "Release" buttons.

The page also shows the masked key, the bound address, the expiry date and the last successful check-in. The key is always masked (CPL-EQ0T6-…-2ES83): CorePanel never displays or logs it in full.

The same information, for scripts and monitoring:

Terminal window
corepanel license status # exit status 1 if the paid edition is not in effect
corepanel license status --json

Check-ins, and what happens when they fail

Section titled “Check-ins, and what happens when they fail”

Once a day the panel asks the license server “is this server still entitled?”. You can force it from the page (Check in now) or with corepanel license refresh.

A failed check-in is not a verdict. Your ISP’s link, a DNS hiccup or maintenance on our side must not cost you the edition you paid for, so an unreachable license server starts a countdown instead:

Time since the last successful check-inWhat happens
Up to 7 daysNothing. The edition applies normally
7 to 14 daysThe panel warns you and shows the deadline; the edition still applies
Over 14 daysThe server falls back to Personal features

Recovering is a single successful check-in — there is nothing to repair and nothing to re-enter. If the countdown ran out, run corepanel license refresh (or press Check in now) once connectivity is back and the edition returns.

A verdict is different. If the license server answers that the license expired or was revoked, that is an answer, not an outage, and it applies immediately.

Release it on the old server first — that path is free:

Terminal window
# on the server you are leaving
corepanel license deactivate
# on the new server
corepanel license activate --key-stdin < license.key

Activating a key that is still bound elsewhere also works: the license is rebound to the new server, spending one of the license’s rebinds (3 per 30 days). Releasing first spends none, which is why it is the recommended order.

Releasing makes the server forget the key, so keep the key at hand before you do it. The panel asks for confirmation, and the CLI refuses to run non-interactively without --yes for exactly that reason.

A changed IP address is not a migration. If the same server gets a new address, just check in: the panel notices the mismatch, rebinds and retries by itself.

The check-in sends four things: the license key, a random number that makes each answer single-use, your server’s hostname and the CorePanel version. The bound address is not sent — it is what the license server observes.

Nothing else travels: no account names, no domains, no email addresses, no site content, no usage figures.

“The stored license does not verify” — the saved license does not match the signing key this CorePanel build trusts, so it is not honoured. Check in again to fetch a fresh one. If it persists after an update, contact support.

Check-ins keep failing — the server needs outbound HTTPS to licenses.corepanel.net. Confirm name resolution and that nothing is intercepting TLS to that host:

Terminal window
curl -fsS https://licenses.corepanel.net/healthz

“Waiting for the payment to be confirmed” does not go away — the panel is polling for a payment the license server has not been told about yet. Give it a minute: the notification from the payment provider is normally seconds, occasionally a retry. If it is still there after a few minutes, leave it — the panel keeps trying in the background and at every daily check-in — and contact support with the email address you paid with.

Do not press discard if you paid. It is meant for a checkout you abandoned. (If you do press it, the panel tries to redeem the purchase first and installs the license instead of throwing it away — but do not rely on that.)

The panel shows Personal after a successful payment — the license is bound to another address (a server rebuilt with a new IP, or a license still bound to the old machine). corepanel license status shows the bound address; corepanel license refresh rebinds when the address simply changed.

“This purchase was already claimed by another server” — that checkout link was used somewhere else. The license exists and is bound to that machine: release it there (corepanel license deactivate) and activate it here with its key, or contact support.

Rebind allowance exhausted — the license moved between servers more than 3 times in 30 days. Contact support; the limit exists to stop a single key from being rotated across a fleet, not to get in the way of a real migration.