What is EPP (Extensible Provisioning Protocol)?
EPP (Extensible Provisioning Protocol) is a standardized XML-based protocol used for communication between domain name registrars and registries. It provides a consistent, secure framework for domain registration, transfer, renewal, and management operations. EPP has become the industry standard, replacing older protocols and enabling interoperability across the domain name system.
How EPP Works
Communication Model
Registrar ←→ EPP Server ←→ Registry Database
↑ ↓
Customer Domain Records
EPP Operations
| Command | Purpose |
|---|---|
| check | Verify domain availability |
| create | Register new domain |
| info | Get domain information |
| update | Modify domain data |
| delete | Remove domain |
| transfer | Move to different registrar |
| renew | Extend registration |
EPP Message Structure
Request Example
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example.com</domain:name>
</domain:check>
</check>
</command>
</epp>
Response
Contains result codes, domain status, and any error messages.
EPP Status Codes
Client Statuses
- clientHold: Domain suspended by registrar
- clientTransferProhibited: Transfer blocked
- clientUpdateProhibited: Updates blocked
- clientDeleteProhibited: Deletion blocked
Server Statuses
- serverHold: Domain suspended by registry
- serverTransferProhibited: Registry-level transfer lock
- pendingCreate: Registration processing
- pendingDelete: Domain being deleted
EPP Authorization Code
Also called:
- Auth code
- EPP code
- Transfer key
Used for:
- Domain transfers between registrars
- Proving ownership/control
- Security verification
EPP Security Features
Authentication
- Client certificates
- Username/password
- Session management
Transport Security
- TLS encryption required
- Secure TCP connections
- Certificate validation
EPP in Domain Transfers
Transfer Process
1. Current registrar generates EPP auth code
2. Gaining registrar submits transfer request with code
3. Losing registrar receives notification
4. 5-day approval/rejection window
5. Transfer completes or is rejected
Transfer Statuses
- pendingTransfer
- clientTransferApproved
- serverTransferApproved
- transferRejected
EPP Extensions
Base EPP can be extended for:
- DNSSEC management
- Registry-specific features
- Premium domain handling
- Grace period information
Why EPP Matters
For Registrars
- Standardized integration
- Consistent API across registries
- Automated domain management
- Secure transactions
For Domain Owners
- Reliable domain operations
- Consistent experience across registrars
- Secure transfer mechanism
- Status transparency
EPP is the backbone protocol enabling the modern domain name registration system to function reliably and securely across thousands of registrars and registries.