Domain status codes explained: the complete EPP reference

Every domain EPP status code explained: clientTransferProhibited, serverHold, pendingDelete, and more. What each means and what you can do about it.

Domain status codes are defined by the Extensible Provisioning Protocol (EPP, RFC 5731) and exposed today through both RDAP and WHOIS. There are two fundamental categories: "client" codes set by your registrar, and "server" codes set by the registry itself. That distinction determines who can change the status and how quickly. This article is a complete reference for every EPP status, what it means, and what it implies for domain transfers, renewals, and DNS resolution.

Client statuses vs. server statuses: the fundamental distinction

Understanding this split is the key to knowing what you can do when you see an unexpected status.

Client statuses are set and removed by the registrar (GoDaddy, Namecheap, OVH, etc.) at the request of the domain owner. If you see a clientHold and want it removed, you contact your registrar. Resolution is typically fast, hours to days.

Server statuses are set by the registry (Verisign for .com, AFNIC for .fr, DENIC for .de, etc.). Your registrar cannot unilaterally remove a server status. It requires direct intervention from the registry, which may involve documentation, legal processes, or waiting out a mandatory lock period.

If you're troubleshooting a domain issue and see a server status you didn't expect, the resolution path is longer and less under your control.

Complete EPP status code reference

Client statuses (set by the registrar)

StatusMeaningPractical impact
clientDeleteProhibitedDeletion blocked by the registrarProtects against accidental or malicious deletion
clientHoldDomain suspended by the registrarDNS does not resolve, site and email are inaccessible
clientRenewProhibitedRenewal blocked by the registrarDomain cannot be renewed; often related to a dispute or non-payment
clientTransferProhibitedTransfer to another registrar blockedStandard default on most domains; normal protection
clientUpdateProhibitedWHOIS data modification blockedFreezes registrant information (hijacking protection)

clientTransferProhibited is on by default for most domains and is actually a good thing, it prevents unauthorized transfers. If you're initiating a legitimate transfer, you'll need to remove it first via your registrar's control panel, which is a deliberate friction point.

clientHold is the one that causes immediate operational pain. DNS stops resolving entirely. If you see this on a domain you own, contact your registrar immediately, it's often tied to payment issues, abuse reports, or compliance flags.

Server statuses (set by the registry)

StatusMeaningPractical impact
serverDeleteProhibitedDeletion blocked by the registryOften associated with a UDRP dispute or registry-level security lock
serverHoldDomain suspended by the registryDNS does not resolve; more serious than clientHold, takes longer to resolve
serverRenewProhibitedRenewal blocked by the registryRare; typically tied to a legal or regulatory decision
serverTransferProhibitedTransfer blocked by the registryApplied automatically for 60 days after registration or transfer
serverUpdateProhibitedData modification blocked by the registryComplete freeze imposed by the registry

serverHold is more serious than clientHold because the registrar can't fix it, you need to go through the registry. If a domain is in serverHold due to an abuse complaint, the resolution process can take weeks.

serverTransferProhibited is often misunderstood. It's not a sign of a problem, it's automatically applied for 60 days after a new registration or after a completed transfer, to prevent immediately moving the domain again.

Lifecycle statuses (neither client nor server)

StatusMeaningPractical impact
activeDomain is active and healthyNormal operational state
inactiveNo nameservers registeredDomain doesn't resolve but isn't suspended
pendingCreateRegistration being processedTransient, resolves within minutes to hours
pendingDeleteQueued for deletion5-day window for .com before the domain drops
pendingRenewRenewal being processedTransient
pendingRestoreRestoration from redemption in progressDomain being recovered from the redemption period
pendingTransferInter-registrar transfer in progressAwaiting confirmation, typically 5 days
pendingUpdateData modification being processedTransient
redemptionPeriodDomain in recovery windowExpired but can be recovered with a fee ($150–200 at most registrars)
transferPeriodPost-transfer lock period60-day serverTransferProhibited applied automatically

The five statuses worth alerting on immediately

If you're managing domains in production, these are the ones that warrant an immediate alert rather than a weekly check:

  1. serverHold or clientHold: your domain is inaccessible right now. DNS is not resolving. Every minute costs you.
  2. pendingDelete: you have at most 5 days (for .com) before the domain is gone. There's still time to act, but urgency is real.
  3. clientTransferProhibited removed: this may mean someone at your registrar (or someone with access to your account) has unlocked the domain for transfer. Verify immediately.
  4. redemptionPeriod: the domain has expired and entered the recovery window. You can still get it back, but it costs significantly more than a standard renewal.
  5. pendingTransfer: a transfer has been initiated. If you didn't authorize this, contact your registrar to block it before the 5-day window closes.

How Domain Sentinel monitors status changes

Domain Sentinel stores a snapshot of each domain's RDAP data after every verification cycle. On the next cycle, it compares the new response against the stored snapshot field by field. Any status that appears or disappears generates a change event.

If you've configured an alert for status changes on a domain, you'll receive a notification within the next monitoring cycle after the change occurs. The data comes directly from the registry (not from an intermediate cache) which means there's no lag between when the registry updates a status and when Domain Sentinel can detect it.

Keep this reference accessible, and configure alerts on your critical domains so you're reading it because you're curious, not because something is broken.

Start with a domain you care about

Look it up for free. If you want alerts when status changes or expiry gets close, create an account. Takes about 30 seconds.