To sell domains, WHMCS needs a registrar account and the matching registrar module. Once connected, WHMCS registers, transfers and renews domains automatically when invoices are paid, and lets clients manage nameservers and contacts themselves. This guide works for any built-in or third-party registrar module.
Before you start
- A reseller account with a registrar that has a WHMCS module (for example Enom, ResellerClub, Namecheap, OpenSRS or CentralNic Reseller).
- Funds or credit in that registrar account.
- Your WHMCS server's public IP, which most registrars require you to whitelist for API access. Check it with the IP checker from the server, or ask your host.
Get API credentials
In the registrar's control panel, enable API access and create an API key or password. Add your WHMCS server IP to the API whitelist. Some registrars also offer a test (OT&E or sandbox) environment with separate credentials.
Activate the registrar in WHMCS
- Go to Configuration → System Settings → Domain Registrars.
- Find the registrar and click Activate.
- Click Configure and enter the user name, API key or password.
- Tick Test Mode if you are using sandbox credentials.
- Click Save Changes.
For a third-party module, upload its folder to /modules/registrars/ first; it then appears in the list.
Assign the registrar to TLDs
- Go to Configuration → System Settings → Domain Pricing.
- For each TLD, select the registrar in the Auto Registration column.
- Save. Now paid orders for that TLD are sent to the registrar automatically.
Pricing for each TLD is covered in domain pricing and TLD setup.
Configure domain automation
In Configuration → System Settings → Automation Settings:
- Domain Sync Enabled – updates expiry dates and transfer status from the registrar.
- Sync Next Due Date – keeps WHMCS billing aligned with the registrar's expiry.
- Domain Renewal Notices – reminders at, for example, 30, 7 and 1 days before expiry.
- Auto Renew on Payment – renews at the registrar as soon as the renewal invoice is paid.
Domain features for clients
In General Settings → Domains, decide whether clients can manage nameservers, contacts, DNS (if the registrar supports it), ID protection and EPP codes from the client area.
Test the setup
On a domain in a client's profile, click Get EPP Code or Modify Nameservers, or use the Register command in test mode. Check Utilities → Logs → Module Log to see the request and response.
Troubleshooting
- "IP not whitelisted" / authentication failed: add the exact server IP (IPv4 and possibly IPv6) at the registrar.
- Insufficient funds: top up the registrar account; WHMCS will not retry automatically until you run the action again.
- Domains not registered after payment: the TLD has no auto-registration registrar, or the order is still pending. Accept the order or register from the domain page.
- Expiry dates out of sync: enable Domain Sync and run the cron.
