Reference
Domain status codes, and which ones actually mean trouble
Every domain carries a list of EPP status codes. Most are routine protections. Three of them mean the name is either offline or on its way out.
Look up any domain and you will find a status field holding one or more codes. They come from EPP, the protocol registrars use to talk to registries, and ICANN publishes the full list. Most of them are boring on purpose — they exist to stop accidents.
Client codes and server codes
The prefix is the important part, and it is frequently misread.
client…codes are set by the registrar. The registrant can usually ask for them to be removed.server…codes are set by the registry. They take precedence over client codes, and a registrar cannot lift them.
So clientTransferProhibited is a lock you asked for, or your registrar applied by default. serverTransferProhibited is the registry saying no, and no amount of registrar support will move it.
The routine ones
These appear on healthy domains and mean nothing is wrong. Seeing them is good.
| Code | What it does |
|---|---|
clientTransferProhibited | Blocks registrar transfers. The default at most registrars, and a genuine defence against hijacking. |
clientDeleteProhibited | Blocks deletion requests. |
clientUpdateProhibited | Blocks changes to nameservers and contacts. |
clientRenewProhibited | Blocks renewal. Rare, and usually a billing dispute. |
ok / active | No pending operations and no restrictions. Some registries use one, some the other. |
The three that mean trouble
clientHold — the domain is offline, by registrar action
The registrar has asked the registry to remove the name from the zone file. The website and email stop working immediately, and nothing about the domain's expiry date needs to have changed for this to happen.
Two common causes: the domain expired and the registrar parked it, or the registrant failed to complete registrant contact verification within 15 days of registration. The second one surprises people, because the domain was working yesterday and the expiry is months away.
serverHold — the domain is offline, by registry action
Same effect, different authority. The registry removed the name from DNS, typically over an abuse report, a legal instruction or a UDRP proceeding. A registrar cannot clear it.
If you see serverHold on a client's domain, the conversation is not a technical one.
redemptionPeriod and pendingDelete — the domain is leaving
These two are the end of the expiry sequence and are covered in detail in redemption period vs pending delete. In short: the first is recoverable for a fee, the second is not recoverable at all.
Codes come as a list, not a single value. A domain in redemption usually carries redemptionPeriod, serverHold and one or more transfer locks at the same time. Reading only the first entry is the most common way to get this wrong — the recoverability answer lives in whichever lifecycle code is present, not in the locks around it.
The pending codes
pendingTransfer, pendingUpdate, pendingRenew and pendingRestore mean an operation has been requested and not yet completed. They are transient and usually resolve within days. pendingRestore specifically means someone has paid to pull a name back out of redemption — which, if you were waiting for that name to drop, is the signal that it will not.
Common questions
What is the difference between clientHold and serverHold?
Both remove the domain from DNS so the site and email stop working. clientHold is set by the registrar and can usually be lifted by them; serverHold is set by the registry, takes precedence, and a registrar cannot clear it.
Is clientTransferProhibited a problem?
No. It is the default at most registrars and is a genuine defence against domain hijacking. It only matters when you actually want to transfer, at which point you ask your registrar to remove it.
Why did my domain get clientHold when it has not expired?
The most common cause other than expiry is failing to complete registrant contact verification within 15 days of registration. The domain works, then abruptly does not, while the expiry date is still months away.
What does pendingRestore mean?
Someone has requested that a domain be pulled back out of the redemption grace period. If you were waiting for that name to drop, pendingRestore is the signal that it will not.
Alerts on the codes that matter, silence on the ones that do not
DropPerch reads the registry status array directly and lets you choose which transitions email you. Hold, redemption, pending delete and release are independent switches.