What is EPP?
Also known as: Extensible Provisioning Protocol
EPP (Extensible Provisioning Protocol) is an XML-based application protocol used by domain name registries and registrars to provision domain names, manage contacts, and transfer registrations.
The Extensible Provisioning Protocol (EPP) is a standardized application-layer protocol defined in RFC 5730 through RFC 5734. It replaces older, proprietary protocols like RRP (Registry Registrar Protocol) and provides a uniform way for registrars to communicate with registries for domain name registration, renewal, transfer, and deletion. EPP uses XML for data encoding and can run over TCP (port 700) or TLS (port 7001).
EPP operates in a client-server model where the registrar acts as the client and the registry as the server. The protocol defines four main service objects: domain names, hosts (nameservers), contacts, and a generic session object for login/logout and greeting. Each object has a set of commands such as create, delete, renew, transfer, update, and check. The transfer command implements a standardized process with approval or rejection by the losing registrar, using an authorization information code (authInfo) to verify the requester's authority.
EPP is the backbone of the modern domain name system. Every gTLD registry (e.g., Verisign for .com and .net, ICANN for new gTLDs) and most ccTLD registries support EPP as their provisioning interface. The protocol's extensibility allows registries to add custom commands or object attributes while maintaining interoperability. EPP's widespread adoption has simplified multi-registry management for registrars and reduced integration costs across the domain industry.
Key facts
- Defined in RFC 5730 (base protocol) and RFC 5731-5734 (mapping specifications).
- Uses XML over TCP/TLS on ports 700 (unencrypted) and 7001 (TLS).
- Supports four core objects: domain, host, contact, and session.
- Standardizes domain transfer process with authInfo codes.
- Replaced RRP as the mandatory protocol for gTLD registries under ICANN.
- Extensible via custom object attributes and registry-defined commands.
How it works in practice
Related terms
References
More in Domains
Auth Code
A unique, per-domain secret code that the losing (current) registrar must provide so the gaining (new) registrar can authorize a domain transfer.
ccTLD
A ccTLD is a two-letter top-level domain assigned to a country or territory based on the ISO 3166-1 alpha-2 code, such as .us for the United States or .jp for Japan.
Domain Lock
A registrar-level status that prevents unauthorized domain transfers, modifications, or deletions until the registrant explicitly removes the lock.
Domain Privacy
An optional service that replaces the domain registrant's personal contact information in WHOIS records with the registrar's proxy details to shield the owner from spam and unwanted disclosure.
Grace Period
The grace period is a window after a domain expires during which the registrant can renew at the standard renewal fee, without incurring additional redemption costs.
IDN
An Internationalized Domain Name (IDN) is a domain name that includes characters outside the ASCII set, encoded as Punycode for compatibility with the DNS.
Punycode
Punycode is a method defined in RFC 3492 for converting Unicode strings into ASCII labels, enabling Internationalized Domain Names (IDNs) to be used in the DNS.
RDAP
RDAP (Registration Data Access Protocol) is a modern RESTful protocol for querying domain name and IP address registration data, replacing the older WHOIS protocol with structured JSON responses and role-based access controls.
Registrant
The registrant is the legal holder of a domain name, listed as the owner in the registry database and responsible for the domain's renewal and administration.
Registrar
A domain registrar is an ICANN-accredited company that sells domain name registrations to individuals and organizations, managing the reservation of domain names within the DNS.