Configuration reference
Every setting on the Porkbun registrar configuration page and what it actually does: credentials, default nameservers, registrant push, DNS deletes, pricing and webhooks.
Every setting on Configuration → System Settings → Domain Registrars → Porkbun → Configure, and what it actually does.
Credentials
API Key
Your Porkbun API key, beginning pk1_. Create one at porkbun.com/account/api. A sandbox key (pk1_sb_…) works against the same host and runs everything in an isolated test environment.
Secret API Key
The matching secret, beginning sk1_. Stored masked.
Saving the page validates both against Porkbun and refuses the save if they are rejected, so you find out immediately rather than on the first order.
Registration behaviour
Default Nameserver 1–4
Applied to a newly registered domain when the customer does not supply their own. Pre-filled with Porkbun’s nameservers, which puts the domain on Porkbun-hosted DNS and makes the WHMCS DNS tab the place to manage records.
Replace all four if you host DNS elsewhere.
Push customer to registrant
Default: on. After a successful registration, copies the WHMCS customer’s details onto the domain contacts. Turn it off to keep your own Porkbun account contact as the registrant — which some resellers prefer, though note it makes you the legal registrant of your customers’ domains.
Full DNS sync (allow deletes)
Default: off. When on, saving DNS in WHMCS deletes any Porkbun records not present in the WHMCS list.
Off is safer: the module only adds and updates records, never deletes. That means a record created directly in Porkbun and not visible in WHMCS survives a save from WHMCS. Turn this on only if you want WHMCS to be the single source of truth for DNS.
Pricing
Covered in depth in Automatic pricing and Markup rules.
Markup %
Default: 25. Added to Porkbun’s cost price. A cost of $11.08 at 25% becomes $13.85.
Fixed uplift
Default: 0. A flat amount added after the percentage, in the pricing currency.
Minimum margin
Default: 0 (no floor). The smallest margin per year you will accept. If the percentage and fixed uplift together produce less than this, the price is lifted to cost plus this amount.
Worth setting. Porkbun’s first-year registration prices are promotional and often very low — .xyz is around $2 to register and $14 to renew — and a percentage of $2 is small change.
Round prices to
Default: exact. One of:
| Option | Effect on 13.85 |
|---|---|
| Exact (2 decimal places) | 13.85 |
| Next whole number | 14.00 |
| Next price ending .95 | 13.95 |
| Next price ending .99 | 13.99 |
Rounding is always upwards, so it never reduces your margin.
Per-TLD markup rules
Optional exceptions to the settings above, one per line. Full syntax in Markup rules. A line that cannot be parsed blocks the save and names the line number.
Pricing currency
Default: USD. The WHMCS currency prices are written in.
Left as USD, Porkbun’s own figures go to WHMCS and WHMCS converts them into your other currencies. That requires USD to exist under Configuration → System Settings → Currencies.
Set it to your own currency (GBP, EUR, …) and the module converts first, using the exchange rates already configured in WHMCS.
USD conversion rate
Only read when the pricing currency is not USD. Leave blank to use the rates already in WHMCS. Set a number — 0.79 for USD to GBP — if USD is not one of your configured currencies at all, so WHMCS has no rate to work from.
Which TLDs to price
Default: only TLDs already assigned to Porkbun in WHMCS. The three options:
- Only TLDs already assigned to Porkbun — refreshes what you already sell and adds nothing. The safe default.
- Only the TLDs listed below — exactly the extensions in the TLD list field.
- Every TLD Porkbun sells — around 640 extensions, excluding Handshake.
Whichever you choose, a TLD already pointed at a different registrar is skipped and reported, never taken over.
TLD list
Used when Only the TLDs listed below is selected. Separate with spaces, commas or newlines: .com .net .co.uk .dev
Registration terms
Default: 1 year only.
The Porkbun API registers and renews the registry minimum — one year — per call. A customer who buys three years gets one year and a note in the module log.
- 1 year only switches years 2–10 off in WHMCS for the TLDs in scope, so the longer terms cannot be sold.
- Leave other terms as they are prices year 1 and does not touch the rest. Choose this if you handle multi-year orders manually.
Include Handshake TLDs
Default: off. Roughly 270 of Porkbun’s ~910 extensions are Handshake blockchain names — .0z, .420247, .aotearoa — which resolve only behind a Handshake resolver and are not ICANN TLDs. They are excluded from both pricing paths unless you tick this.
Sync retail pricing daily
Default: off. Runs the pricing sync on the daily cron, applying your markup to Porkbun’s current prices and writing the result into Domain Pricing.
Preview it first with php pricing.php, which changes nothing.
Webhooks
Webhook Signing Secret
Optional. The secret printed by php webhook.php --register <url>. With this set, the receiver verifies and processes incoming Porkbun events. An empty field disables the receiver entirely — deliveries are rejected rather than processed.
See Webhooks.