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.
Activating a license
Section titled “Activating a license”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:
corepanel license activate --key-stdin < license.keycorepanel license statusThe 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.
The License page
Section titled “The License page”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 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:
corepanel license status # exit status 1 if the paid edition is not in effectcorepanel license status --jsonCheck-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-in | What happens |
|---|---|
| Up to 7 days | Nothing. The edition applies normally |
| 7 to 14 days | The panel warns you and shows the deadline; the edition still applies |
| Over 14 days | The 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.
Moving a license to another server
Section titled “Moving a license to another server”Release it on the old server first — that path is free:
# on the server you are leavingcorepanel license deactivate
# on the new servercorepanel license activate --key-stdin < license.keyActivating 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.
What leaves your server
Section titled “What leaves your server”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.
Troubleshooting
Section titled “Troubleshooting”“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:
curl -fsS https://licenses.corepanel.net/healthzThe 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.
Related
Section titled “Related”- CorePanel CLI — the full
corepanel licensereference - Hosting Accounts — the website limit of the free edition