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.

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

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.

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.