A generic WHMCS registrar module for connecting to any domain registry that uses the EPP protocol.
This module is designed to work with both gTLD and ccTLD registries and provides a flexible foundation for EPP-based domain management in WHMCS.
| Registry | TLDs | Profile | Needs |
|---|---|---|---|
| Generic RFC EPP | any | ||
| AFNIC | .fr/others | FR | |
| CARNET | .hr | HR | |
| Caucasus Online | .ge | GE | |
| CentralNic | all | Set AuthInfo on Request | |
| CoCCA | all | Set AuthInfo on Request | |
| CORE/Knipp | all | ||
| Domicilium | .im | ||
| DRS.UA | all | ||
| EURid | .eu | EU | |
| GoDaddy Registry | all | ||
| Google Nomulus | all | ||
| Hostmaster | .ua | UA | |
| Identity Digital | all | ||
| IIS | .se, .nu | SE | |
| IT.COM | all | ||
| Namingo | all | ||
| NASK | .pl | PL | |
| NIC Chile | .cl | ||
| NIC Mexico | .mx | MX | |
| NIC.LV | .lv | LV | |
| .PT | .pt | PT | |
| Regtons | all | ||
| RoTLD | .ro | ||
| RyCE | all | ||
| SIDN | all | ||
| SWITCH | .ch, .li | SWITCH | Set AuthInfo on Request |
| Tucows Registry | all | ||
| Verisign | all | VRSN | |
| ZADNA | .za | ||
| ZDNS | all |
| Registry | TLDs | Profile | Status |
|---|---|---|---|
| DENIC | .de | DE | |
| DOMREG | .lt | LT | |
| FORTH-ICS | .gr, .ελ | GR | |
| FRED | .cz/any | FRED | |
| NORID | .no | NO |
| Registry | TLDs | Profile | Status |
|---|---|---|---|
| HKIRC | .hk | HK | |
| Internet.ee | .ee | EE | |
| Registro.it | .it | IT | |
| Traficom | .fr | FI |
-
Use our Module Customizer Tool to generate a fine-tuned registrar module specifically for your registry.
-
Place the generated registrar module directory (as produced by the Module Customizer Tool) into your WHMCS/Namingo Registrar installation under
[WHMCS_path]/modules/registrars/. -
Obtain a client TLS certificate for EPP access (issued by the registry or signed by a CA accepted by the registry). Place the certificate (
cert.pem) and its corresponding private key (key.pem) inside that module directory (for example[WHMCS_path]/modules/registrars/yourmodule/). They are required for secure EPP authentication.
Ensure the files are readable by the web server user:
chown -R www-data:www-data [WHMCS_path]/modules/registrars/yourmodule
chmod -R 755 [WHMCS_path]/modules/registrars/yourmodule-
Activate from Configuration -> Apps & Integrations -> (search for [MODULE]) -> Activate, then configure it under Configuration -> System Settings -> Domain Registrars. Enter your registry connection details, including the EPP host, port, login credentials, and the full filesystem paths to your client TLS certificate (
cert.pem) and private key (key.pem). -
Add a new TLD using Configuration -> System Settings -> Domain Pricing, assign it to the activated registrar module, and configure the pricing as needed.
-
If your module includes additional domain fields, copy the contents of
additionalfields.phpinto[WHMCS_path]/resources/domains/additionalfields.php. If the file already exists, merge the contents carefully (do not overwrite the existing file). -
Create a whois.json file in
[WHMCS]/resources/domainsand add the following:
[
{
"extensions": ".yourtld",
"uri": "socket://your.whois.url",
"available": "NOT FOUND"
}
]
- Before upgrading, note your current module settings.
- Download the updated module and repeat the installation steps to replace the existing files.
- After upgrading, verify that your module settings are still correct.
-
Multiple EPP modules conflict
- WHMCS does not allow multiple registrar modules that share the same internal function names.
- If you are connecting to more than one registry, you must generate each module using the Module Customizer Tool to ensure unique module names.
- Do not manually duplicate or rename module files, as this may cause function collisions or unexpected behavior.
-
Network access / allowlisting
- Ensure the server’s outbound IP(s) are allowlisted by the registry EPP endpoint (both IPv4 and IPv6, if applicable).
-
IPv6 considerations
- Confirm both sides support IPv6 if you intend to use it.
- If you encounter IPv6-related connection issues, temporarily disable IPv6 on the client side and retry.
-
EPP server access
- If you are unsure whether your server can reach the EPP endpoint, test the connection using OpenSSL:
Basic test:
openssl s_client -connect epp.example.com:700
Test with client certificate:
openssl s_client -connect epp.example.com:700 -CAfile cacert.pem -cert cert.pem -key key.pem
Replace the hostname and certificate paths as needed. These tests help diagnose network or TLS issues.
-
Generating a client TLS certificate (testing only)
- If you do not yet have a client certificate for EPP access, you can generate a temporary self-signed pair:
openssl genrsa -out key.pem 2048 openssl req -new -x509 -key key.pem -out cert.pem -days 365
For production, use a certificate issued or approved by the registry (not a self-signed certificate).
-
Registrar prefix
- Ensure the module is configured with the correct registrar prefix for your registry connection.
-
Transfer AuthInfo not returned by registry
- Some registries (e.g. CentralNic, CoCCA) may not return the transfer AuthInfo code via standard
domain:info. - If your module does not display the transfer code, enable the option “Set AuthInfo on Request” in the module configuration. This forces the module to set/generate AuthInfo when requested, so it can be displayed/managed consistently.
- Some registries (e.g. CentralNic, CoCCA) may not return the transfer AuthInfo code via standard
If the steps above don’t resolve your issue, refer to the WHMCS logs or enable Display Errors in the WHMCS Admin under Utilities > System > General Settings > Other to identify the specific problem.
Your feedback and inquiries are invaluable to Namingo's evolutionary journey. If you need support, have questions, or want to contribute your thoughts:
-
Email: Feel free to reach out directly at help@namingo.org.
-
Discord: Or chat with us on our Discord channel.
-
GitHub Issues: For bug reports or feature requests, please use the Issues section of our GitHub repository.
We appreciate your involvement and patience as Namingo continues to grow and adapt.
If you find WHMCS EPP Registrar useful, consider donating:
- Donate via Stripe
- BTC:
bc1q9jhxjlnzv0x4wzxfp8xzc6w289ewggtds54uqa - ETH:
0x330c1b148368EE4B8756B176f1766d52132f0Ea8
WHMCS EPP Registrar is licensed under the MIT License.