What are EPP Status Codes?
EPP (Extensible Provisioning Protocol) status codes are standardized indicators that describe the current state of a domain name. These codes appear in RDAP and WHOIS responses, telling you whether a domain can be transferred, modified, deleted, or is subject to special restrictions.
Categories of Status Codes
EPP status codes fall into two categories:
Client Status (Set by Registrar)
Prefixed with "client"—set by the domain's registrar at the registrant's request:
- clientTransferProhibited
- clientDeleteProhibited
- clientUpdateProhibited
- clientHold
Server Status (Set by Registry)
Prefixed with "server"—set by the registry, often for policy enforcement:
- serverTransferProhibited
- serverDeleteProhibited
- serverUpdateProhibited
- serverHold
Common Status Codes Explained
ok
status: ok
The standard status for an active domain with no restrictions. Domain can be modified, transferred, or deleted normally.
clientTransferProhibited
status: clientTransferProhibited
Registrar has locked the domain from transfers. Prevents unauthorized transfers. Must be removed before initiating a transfer.
Common reason: Security lock set by registrantclientDeleteProhibited
status: clientDeleteProhibited
Domain cannot be deleted. Protects against accidental or malicious deletion.
Common reason: Registrant protectionclientUpdateProhibited
status: clientUpdateProhibited
Domain contact/nameserver info cannot be modified. Prevents unauthorized changes.
Common reason: Security lockclientHold
status: clientHold
Domain does not resolve (removed from zone). Set by registrar.
Common reasons: Payment issues, verification required, abuse investigationserverTransferProhibited
status: serverTransferProhibited
Registry has locked transfers. Often during first 60 days after registration/transfer or during disputes.
Common reason: ICANN 60-day lock, legal disputeserverHold
status: serverHold
Domain does not resolve. Set by registry.
Common reasons: Legal order, registry policy violation, fraud investigationpendingDelete
status: pendingDelete
Domain is scheduled for deletion and will be released for registration.
Implication: Domain will be available soonpendingTransfer
status: pendingTransfer
Transfer is in progress.
Timeline: Usually 5-7 days to completeredemptionPeriod
status: redemptionPeriod
Domain has expired and is in redemption. Can be restored for a fee.
Typical duration: 30 daysStatus Codes in RDAP
DomScan returns status codes in API responses:
{
"domain": "example.com",
"available": false,
"registry_status": [
"client transfer prohibited",
"client delete prohibited",
"server transfer prohibited"
]
}
Interpreting Multiple Status Codes
Domains typically have multiple status codes. Example:
clientTransferProhibited
clientUpdateProhibited
clientDeleteProhibited
serverTransferProhibited
This domain is:
- ✓ Fully locked (maximum protection)
- ✗ Cannot transfer (unlock required)
- ✗ Cannot modify (unlock required)
- ✗ Cannot delete (unlock required)
Status Codes for Domain Buyers
When evaluating a domain for purchase:
| Status | Concern Level | Meaning |
|---|---|---|
| ok | Low | Normal, can transfer |
| clientTransferProhibited | Low | Owner must unlock |
| serverTransferProhibited | Medium | May be recent registration/transfer |
| serverHold | High | Possible legal issues |
| pendingDelete | N/A | Will be available publicly soon |
| redemptionPeriod | Medium | Current owner might restore |
Status Codes for Security
For domain security, ensure these are set:
Minimum recommended:clientTransferProhibited
Maximum protection (registry lock):
clientTransferProhibited
clientUpdateProhibited
clientDeleteProhibited
serverTransferProhibited
serverUpdateProhibited
serverDeleteProhibited
Registry lock requires manual verification for any changes—used for high-value domains.
Checking Domain Status
# Using DomScan
curl "https://domscan.net/v1/status?name=example&tlds=com"
# Using RDAP directly
curl "https://rdap.verisign.com/com/v1/domain/example.com" | jq '.status'
Status codes are essential for understanding what actions are possible with a domain and identifying potential issues before purchase or transfer.