Guides

Holding a domain portfolio: renewals, status codes and the names that attack yours

Holding more than a few domains means missed renewals, EPP status codes on failed transfers, and lookalike names registered against your brand.

The short answer

Holding a domain portfolio means tracking renewal dates across every name at once rather than one at a time, knowing roughly what a renewal or transfer will cost before committing years to it, reading EPP status codes like clientTransferProhibited and redemptionPeriod when a transfer stalls or a name lapses, and checking on a schedule for typo and lookalike domains registered against your own brand. One domain can be managed from memory; a portfolio needs a list, a renewal calendar and a repeat check, not three emergencies that arrive looking unrelated.

A domain portfolio is not one domain you remember to renew every January. It is a list of names, each on its own one-to-ten-year clock, each sitting with a registrar that may differ from the next name's, and each carrying its own set of EPP status codes at any given moment - none of it visible unless you go and check. Holding a portfolio well means answering four questions on a routine, not one at a time in a panic: which name expires next, what keeping or moving a name will actually cost, what a status code on a stalled transfer is telling you, and which name registered to look like yours already exists. This guide works through each one in the order a real year of holding names tends to raise them: tracking the list, budgeting renewals and transfers, reading status codes when something goes wrong, choosing a name worth adding to the list, and the three checks - age and registrar, lookalikes, and a redirect chain - worth running on names you already hold.

A portfolio is a list, not one domain

Forty domains is not an edge case for an agency or a reseller: it is a typical client's footprint once you count the brand name, its common misspellings, a couple of regional endings, and the campaign-only names marketing registered two years ago and then forgot about. A spreadsheet updated by hand drifts the moment any one of those forty is renewed, transferred or dropped, and the name that actually matters - the one expiring in a fortnight - looks exactly the same in that spreadsheet as the thirty-nine that are fine for another two years, until someone actually opens each record.

Checking a portfolio means asking the registries themselves, not trusting whatever was true when the spreadsheet was last touched. Our domain portfolio expiry checker takes up to twenty domains at a time and returns, per name, the sponsoring registrar, the expiry date, the whole days left, and the EPP status codes the registry answered with - because a name already in redemptionPeriod or pendingDelete has effectively already passed its date, whatever the days-left number next to it says. Once you have a list of dates worth acting on, the domain portfolio renewal calendar takes it from there: paste the names and dates you already have, see them grouped by month, and download one .ics file you import once, rather than forty separate reminders you set up by hand and then forget to repeat next year.

How early to renew, and what a renewal or transfer actually costs

ICANN's Expired Registration Recovery Policy requires a gTLD registrar to send at least two renewal reminders before a name expires - one sent "approximately one month prior to expiration" and one "approximately one week prior", which the policy pins down precisely as 26 to 35 days out and 4 to 10 days out. Treat that as the floor a registrar is required to clear, not a target to renew by. A transfer needs its own lead time on top: ICANN's Transfer Policy lets the registrar of record refuse a transfer requested within 60 days of a domain's creation date, or within 60 days of a previous transfer, so a name you plan to move has to clear both the renewal window and that lock with room left over.

Renewal and transfer pricing rarely move in step with each other, and the gap is not fixed. Wholesale cost itself changes under every registrar's own prices: Verisign's registry fee for .com rises from $10.26 to $10.97 per year on 1 November 2026, announced on 23 April 2026, with ICANN's own $0.20-per-transaction registrar-level fee on top of every add, renew or transfer that survives its grace period (the fee approved for ICANN's fiscal year 2026, which runs to 30 June 2026 - check ICANN's own current fee announcement before relying on it past that date), which moves a registrar's floor cost from $10.46 to $11.17 before any margin is added. On top of that moving floor, each registrar sets its own register, transfer and renew prices, and they are not guaranteed to match each other: OpenSRS, as one example, lists its Essential-tier price for a .com at $14.50 for Register, $14.50 for Transfer and $14.50 for Renew alike, as shown on its own pricing page, read 7 October 2026 - a registrar that happens to price all three identically, which is a fact about that one registrar's price list, not a rule every registrar follows. The only reliable source for what a renewal or transfer will cost you is the registrar's own current price list, checked again rather than remembered from last year's receipt.

Once you have your own prices in hand, the domain renewal and transfer cost planner does the arithmetic: it compounds whatever yearly increase you expect across however many domains and years you give it, and flags every name still inside that 60-day transfer lock before you plan around moving it.

What ResellerHQ's own renewal API does when a wallet comes up short on a product it sells is a separate, product-specific question with its own answer for domains, phone numbers and mailbox licences, covered in how renewals and grace periods work for resellers. That article is about this platform's own behaviour; this section is about the registrar behind whatever domains you already hold, wherever that is.

EPP status codes, read when a transfer fails

EPP - the Extensible Provisioning Protocol - is what registrars and registries use to talk to each other, and a domain carries a set of these status codes rather than one. A registration can hold a transfer lock and a grace-period code at the same moment, and each one says something different about what can and cannot be done with the name right now. ICANN publishes plain-English definitions of the codes a registrant is most likely to run into:

CodeWhat it means (ICANN's own wording)
clientTransferProhibited"This status code tells your domain's registry to reject requests to transfer the domain from your current registrar to another."
serverTransferProhibited"This status code prevents your domain from being transferred from your current registrar to another."
redemptionPeriod"This status code indicates that your registrar has asked the registry to delete your domain. Your domain will be held in this status for 30 days."
pendingDelete"The pendingDelete status code indicates that your domain has been in redemptionPeriod status for 30 days and you have not restored it within that 30-day period."
clientHold"This status code tells your domain's registry to not activate your domain in the DNS and as a consequence, it will not resolve."
serverHold"This status code is set by your domain's Registry Operator. Your domain is not activated in the DNS."
pendingTransfer"This status code indicates that a request to transfer your domain to a new registrar has been received and is being processed."
autoRenewPeriod"This grace period is provided after a domain name registration period expires and is extended (renewed) automatically by the registry."
renewPeriod"This grace period is provided after a domain name registration period is explicitly extended (renewed) by the registrar."
addPeriod"This grace period is provided after the initial registration of a domain name."
ok"This is the standard status for a domain, meaning it has no pending operations or prohibitions."

A transfer that fails almost always fails against one of the first two rows. If clientTransferProhibited or serverTransferProhibited is set, the registry rejects the transfer outright until whoever set it - you, your registrar by default, or the registry itself - takes it off. redemptionPeriod and pendingDelete describe a name that has already lapsed rather than one that is merely expiring soon, and nothing restores a pendingDelete name; the restore window was the 30 days before it. clientTransferProhibited, serverTransferProhibited, clientHold, serverHold, pendingTransfer, pendingDelete and ok are defined in RFC 5731; redemptionPeriod and the grace-period codes (autoRenewPeriod, renewPeriod, addPeriod, and a fourth, transferPeriod, not shown above) were added by RFC 3915, which also requires a domain in the post-redemption purge state to carry RFC 5731's pendingDelete status at the same time.

Paste the whole status column out of a registrar export, however it was capitalised, into the EPP status code list explainer and it groups whatever you paste by what it actually does to the domain - transfer lock, hold, grace period - rather than making you look each code up separately, and it flags a code that is not in any specification instead of guessing at a meaning for it.

Choosing a name worth holding

Every domain added to a portfolio starts the three problems above over again, so it is worth spending a few minutes before registering rather than after. Generate candidates from the words that actually describe the business - prefixes, suffixes, two of your own words joined into one - with the domain name generator, which checks each idea against the registry itself rather than guessing whether it is taken.

Before committing to an ending, read what it actually is rather than what a listicle says it means. IANA's Root Zone Database is the authoritative record of who runs each top-level domain and what kind it is - generic, country-code, sponsored or infrastructure. As one example already checked for this site: IANA records .io as a country-code TLD managed by Internet Computer Bureau Limited, last updated 18 January 2023 (iana.org/domains/root/db, read 13 October 2026) - a category and a manager that say nothing about whether .io suits a given product, only who actually controls it. The domain ending explorer turns that record into a table across more than thirty common endings, alongside which ones publish a registration restriction worth knowing about before you fall in love with a name under them.

The rule a candidate name has to pass also differs by registry. Every ending shares one DNS-level rule - a label of at most 63 characters, a whole name of at most 253, no leading or trailing hyphen - but a number of registries narrow that rule further, and the only way to know a given registry's own rule is to read that registry's own published policy. The domain naming rules checker holds a candidate name to the generic rule first and then to the specific registry's stricter rule for whichever ending you typed, so a name that would be refused at the counter is refused before you pay for it.

A domain's age and who holds it, read quickly

Sometimes the question is narrower than a full RDAP record: how old is this one name, and which registrar actually holds it right now. Both answers come from the same two RDAP fields. RFC 9083 defines events as "a data structure [that] represents events that have occurred on an instance of an object class" - with eventAction values including registration ("the object instance was initially registered"), transfer ("the object instance was transferred from one registrar to another"), expiration, and last changed - and defines status as "an array of strings indicating the state of a registered object."

Our whois-rdap-lookup tool reads that whole RDAP answer - every event, every status, the registrar, whether the answer is redacted - for whoever needs the full record. The domain age and registrar checker reads exactly the same RDAP data but answers one narrower question fast: how old, in years, months or days, and who holds it today, which is the pair of facts a quick portfolio check actually needs most often, without the rest of the record in the way.

The names already registered against yours

A portfolio is not only the names you chose; it is also whatever anyone else registered that looks like them. A typosquatted or homoglyph domain registered against your brand is a different kind of risk from a name you simply forgot to renew, because someone else is holding it on purpose. The typo and lookalike domain finder generates the permutations - ending swaps, neighbouring-key slips, homoglyph substitutions - and checks which ones are already registered and which of those actually resolve to something, ranking the permutations a reader would not notice (an ending swap, a homoglyph) above the ones a reader catches themselves (an obvious neighbouring-key typo).

Run it on a schedule, not once. A lookalike registered today and parked can be pointed at a phishing page or a mail server tomorrow with no announcement at all, and the ranking is what tells you which handful of the list is actually worth registering yourself rather than holding the whole set defensively.

What a redirect chain on your own domain reveals

The last check in a portfolio review is not about any registry at all: it is about what your own domain actually does when someone visits it. A domain that has moved - a rebrand, a platform migration, two sites merged into one - often leaves a redirect in place that nobody revisited, and a second migration on top of the first leaves two hops where one would do. The redirect chain checker follows a URL hop by hop and shows the status, the target and a header from each one, which is usually enough to tell a stale single redirect from a genuine loop, and to catch the quieter failure of a redirect that downgrades https back to http partway through the chain. A domain you are still paying to renew every year is worth confirming it still does what you think it does.

Keep it a routine, not eleven one-off checks

None of the eleven tools linked above need an account: each answers exactly the question in its name, for free, as often as you want to ask it. The order above is not arbitrary - a portfolio view that catches a renewal before it lapses, priced against the registrar's actual list, is worth more than a perfect answer to any one of the later questions on a name that has already gone past its date. Run the expiry check and the renewal calendar on a schedule; price any renewal or transfer before committing years to it; keep the EPP status explainer bookmarked for the day a transfer actually stalls; and check for lookalikes on the same schedule as everything else, because that is the one risk in this list that grows the longer nobody looks.

Questions

  • Four things done on a routine rather than one at a time in a panic: tracking which name expires next across the whole list, knowing what a renewal or transfer actually costs at the registrar you use before committing to one, being able to read the EPP status codes a registry returns when a transfer stalls, and checking on a schedule for typo and lookalike names registered against your own brand. Each has its own free tool; this guide links all of them in the order a real year of holding names raises them.
  • ICANN defines it plainly: "This status code tells your domain's registry to reject requests to transfer the domain from your current registrar to another." It is a lock, usually one you or your registrar set on purpose, and the registry will not process a transfer while it is on.
  • ICANN's definition: "This status code indicates that your registrar has asked the registry to delete your domain. Your domain will be held in this status for 30 days." After those 30 days with no restore, the next status is pendingDelete, which ICANN defines as the domain having "been in redemptionPeriod status for 30 days" with no restoration - after that stage the name is released for anyone to register.
  • ICANN's Expired Registration Recovery Policy sets a floor, not a target: a gTLD registrar must send a renewal reminder roughly a month out (26 to 35 days before expiration) and a second one roughly a week out (4 to 10 days before). Treat those as the last two warnings a registrar is required to send, not a renewal deadline - if you also plan to transfer a name, ICANN's Transfer Policy lets the registrar of record refuse a transfer requested within 60 days of the domain's creation date or of a previous transfer, so build in that window too.
  • Not necessarily, and the answer is registrar-specific: OpenSRS, for one example, lists the same $14.50 for Register, Transfer and Renew on a .com at its Essential tier on its own pricing page (read 7 October 2026), but nothing guarantees another registrar prices all three alike. Wholesale cost also moves on its own - Verisign's .com registry fee rises from $10.26 to $10.97 per year on 1 November 2026, announced 23 April 2026 - so a renewal budget needs a registrar's current price list, not last year's receipt.
  • Generate the permutations - ending swaps, neighbouring-key slips, homoglyph substitutions - and check which are registered and which resolve to something, which is what our typo and lookalike domain finder does, ranking the permutations a reader would not notice above the ones they would catch themselves. Run it on a schedule: a lookalike registered today and parked can be pointed at something else tomorrow with no announcement.

Sources

  1. ICANN: EPP Status Codes | What Do They Mean, and Why Should I Know? icann.org
  2. RFC 5731: Extensible Provisioning Protocol (EPP) Domain Name Mapping rfc-editor.org
  3. RFC 3915: Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol (EPP) rfc-editor.org
  4. RFC 9083: JSON Responses for the Registration Data Access Protocol (RDAP) rfc-editor.org
  5. ICANN: Expired Registration Recovery Policy icann.org
  6. ICANN: Transfer Policy icann.org
  7. IANA: Root Zone Database iana.org
  8. Verisign Reports First Quarter 2026 Results (SEC Form 8-K exhibit) sec.gov
  9. ICANN: Accredited Registrars Approve Registrar-Level Fees for Fiscal Year 2026 icann.org
  10. OpenSRS: Domain pricing opensrs.com

Keep reading

More on selling under your own name

Start selling under your own brand

  1. Sign up with an email, no call needed1 minute
  2. Get test keys and $5,000 of pretend moneyInstantly
  3. Take order #0001 under your own nameToday