Most hosts already run Blesta provisioning for cPanel or Plesk and want domains on the same invoice. Blesta does this through the Domain Manager plugin plus a registrar module — OpenSRS, Enom, Namecheap, a Logicboxes reseller like ResellerClub, and a dozen others. This walks through wiring up a registrar, importing TLD pricing with a markup, and getting registration, transfer, and renewal flows live on your order forms.
This is for hosts on Blesta 5.x. The Domain Manager replaced the old per-TLD package hack that earlier versions forced on you, so if you last looked at Blesta domains before 5.1, the whole model is different now.
Enable the Domain Manager
The Domain Manager ships with Blesta 5.1+ and is usually already installed. If you upgraded from an older release or run add-on companies, install it manually:
[Settings] > [Company] > [Plugins] > Available → click Install next to Domain Manager.
Once active, two new sections appear:
- [Packages] > [Domain Options] — where you manage TLDs and pricing.
- [Billing] > [Domains] — where you see every registered domain across all clients.
You don't create a package per TLD anymore. The Domain Manager owns one shared domain package and drives everything off the TLD pricing table.
Install and configure a registrar module
First-party modules install from [Billing] > [Domains] > [Registrars] → Install next to the registrar you use. Third-party modules need their files dropped into /components/modules first, then they show up in the same list.
After installing, open the module and enter your reseller API credentials. The exact fields differ per registrar, but the pattern is the same — API key or username/password, plus a sandbox toggle:
Enom: Username + Token (API key)
OpenSRS: Username + Private Key + Reseller Username
Namecheap: Username + API Key + (whitelist your server IP first)
ResellerClub: Reseller ID + API Key (Logicboxes module)
Namecheap in particular will reject API calls until you've added your Blesta server's IP to the API whitelist in your Namecheap reseller panel. If registrations fail instantly with an auth error, that's almost always the cause.
Add TLDs and import pricing
Go to [Packages] > [Domain Options] > [TLD Pricing]. You can add TLDs by hand, but the faster path is a registrar sync — Blesta pulls the live TLD list and your reseller cost prices straight from the registrar.
Registrar sync is supported for OpenSRS, Enom, and all Logicboxes modules (ResellerClub, NetEarthOne, and friends). For those, select the TLDs and choose the Registrar Sync action. For other modules you set cost prices manually.
Set a markup, not a price
The sync dialog applies a markup automatically so you don't price 1,200 TLDs by hand:
- Percentage markup — e.g. cost × 1.4 for a 40% margin.
- Fixed markup — e.g. cost + $3.00 on every TLD.
- Rounding — round the result up to
.99, a whole dollar, whatever you choose.
This sets your selling price relative to the registrar cost it just imported. Run it again any time the registrar changes wholesale pricing — sync, review the diff between your current price and the new cost, and apply.
Per-TLD configuration
Click a TLD to open its config modal:
- Pricing — registration, renewal, and transfer prices for 1–10 year terms, per currency. Set renewal higher than the loss-leader registration price if you discount first-year registrations.
- Name Servers — the default nameservers Blesta passes to the registrar at registration. Point these at your hosting DNS so a domain bought with hosting just works.
- Welcome Email — the confirmation a customer gets after registering.
- Advanced — extra TLD features via Edit Package, including EPP/transfer behaviour.
Currency, tax, and renewals
Domain prices are per currency, so if you sell in more than one, set each. Domains are taxable in most jurisdictions the same way hosting is — if you're handling EU VAT in Blesta, the domain package inherits the same tax rules, so configure that before you take orders.
Renewals and expiry reminders run off Blesta's automation system, which means your cron has to be firing reliably. No cron, no renewal invoices and no expiry notices — domains will lapse silently. This is the single most common reason a Blesta domain business quietly breaks.
Feature TLDs on the order form
In the Domain Manager's General settings you can mark a handful of TLDs as featured. The order form shows those prominently and hides the rest behind a Show All button. Pick the five or six TLDs you actually want to push (.com, .net, .org, your country code, one or two trendy ones) rather than drowning customers in 1,200 options.
Go live
With a registrar connected, TLDs enabled, and cron running, domains are now a product type in the order system. Customers can register a new domain, transfer one in with an EPP/auth code, or renew — and it all lands on the same invoice as their hosting. Watch [Billing] > [Domains] for the first few live orders to confirm provisioning and WHOIS data are clean.
Domains pair naturally with hosting in Blesta, and the billing platform itself is a one-time license rather than the recurring per-client fee WHMCS charges — see Blesta vs WHMCS for the cost math, grab a Blesta license to get started, or check pricing for current tiers.