I currently sit on roughly 2,000 domains, with the majority being .com. Renewals cost me well over $10,000 a year, every year, whether I sell anything or not. After years of doing this badly, then eventually doing it adequately, this is the actual framework I use to put a number on a name. Nothing in here is theoretical — every rule comes from a sale that worked, a sale that didn't, or a year of staring at a listing that wouldn't move.
The thesis in one paragraph: "Appraise this domain" is four different questions, not one. Get clear on which buyer you are actually pricing for, then overlay three name signals on top of the GoValue starting point, and run the portfolio for velocity instead of single-domain price-maximisation. Below: the four buyer archetypes with calibration sales, where GoValue underprices and overprices, the three micro-signals (phonetic alliteration, the seam tax, registration history), the -65 ending convention, why headline sales like twig.com's $695K are not your comp, and the five tools I have open every time I'm putting a number on a name.
There is a version of domain pricing that works like a stock screener: punch the name into a tool, get a number back, list at the number. Several of the AI-driven appraisers — including toyroom.ai/appraiser and GoDaddy's GoValue, which is the one I open first nine times out of ten — will give you a confident central estimate within about ten seconds. The number is usually a sensible starting point. It is rarely the right answer.
The reason is that "appraise" is shorthand for at least four different questions, and the right answer depends on which one you're actually asking:
Those four questions have four different answers and the gaps between them can be enormous. I have sold names where the marketplace clear was $500 and the warm-contact offer six weeks later was $2,500 for the same name. The mistake in my early years was treating "appraise this domain" as a single question. It isn't.
So before any number gets typed into Atom or Afternic, the very first thing I ask is: which buyer am I pricing for?
Spend enough time selling domains and the buyers cluster into four shapes. Almost every sale I have made fits one of them. The pricing logic changes for each.
A founder shopping for a name for a new business. They don't know me. They have not been to the lander before. They want a name that sounds good, looks good and is easy to spell. They will pay roughly what GoValue says the comparable-name market clears at, give or take ten or fifteen percent depending on how much they like the name.
Reference sale: I sold thesupa.com for $1,468 via a 16-month lease-to-own. The GoValue Sale estimate was $1,300. From registration to close was about 4 months. No drama, no negotiation theatre, just a clean Afternic transfer when the LTO completed.
For this archetype, trust the GoValue central estimate plus or minus 5% and price the list at roughly 1.7-2.0x that number, with the GoValue Sale figure as the realistic minimum-offer floor. The deal usually closes in the lower half of the range.
A real industry — pallet shipping, brewing equipment, gallery framing, dental supplies — and the name is descriptive of that industry's exact product or service. The buyer pool is smaller but every individual buyer is more motivated, because the name means something specific to their work. They want it because it matches what their business does. Their willingness to pay is higher per buyer but the queue is shorter.
Reference sale: palletseal.com sold via $2,999 lease-to-own over 24 months. GoValue Sale was around $1,000; the engine doesn't know enough about pallet-industry buyers to value the name correctly.
For this archetype, list at GoValue List × 0.7 to 0.85 and accept that the search-volume comp data is misleading on the low side. End-buyer conviction is high, the queue is patient, the LTO term gets longer (24+ months instead of 12) because the buyer is a real business with a real CFO who prefers monthly bookkeeping to a single large cheque.
Someone has reached out. They emailed me directly, or filled in the contact form on the lander, or messaged me through the marketplace. They name-check the domain in their first message. They are not asking what the price is in general; they are asking what the price is to them. The marketplace listing now matters less than the conversation.
Reference sale: *******.com sold for a clean $1,000 BIN in seven days to a Solana-ecosystem startup. I quoted $1,000, they paid the next day. The GoValue Sale estimate on that domain was $1,400. I priced under it on purpose, because the buyer was warm and motivated and closing speed mattered more than maximising the number. The point of a warm contact is that they have already self-identified as the buyer. The job is to close, not to optimise.
For this archetype, bypass the marketplace, quote a clean round number at roughly 0.7-0.9x the cold-marketplace list price, take 0% commission on a direct deal instead of 15-20% on a marketplace LTO, and close inside two weeks. If you push the price too hard the buyer hears "this is going to be hard work" and walks away to the next name on their shortlist.
A previous owner let the domain expire. I picked it up at a drop auction, sometimes for as little as $10. The previous owner contacts me wanting it back. They are upset they lost it. They are also embarrassed they let it drop, which means they will not pay a stupid number even though their emotional investment is real. The negotiation is slow and the offers walk up in steps.
Reference sale: ******.com drop-recovery, still ongoing as of this morning. The previous owner offered $100 on day one. Two weeks later, $300. Then silence. The pattern is consistent across drop-recovery deals: the buyer walks up the curve until they hit their personal pain point, and the final closed number tends to be a few hundred to a low four-figure sum. Patience is the only correct strategy. Never quote a number first; always let them name the next offer; never seem too keen.
This archetype is also the only one where there is real UDRP risk if the original owner had legitimate trademark equity in the name. So step one with any drop is a 30-second USPTO TESS check and a Google search for active commercial use. If either lights up, the answer is to not price the name at all, and to push it back to the previous owner at acquisition cost plus a token margin.
I open GoValue first on roughly nine out of ten appraisals because it does one thing well: it digests the entire NameBio comp database and gives me a central estimate, an upper-bound, a tone tag and a tier label inside ten seconds. It is excellent as a starting point. It is consistently wrong in two specific ways, and once you learn the patterns you can correct for them.
Where GoValue underprices: niche B2B descriptive names with shallow comp data. The engine can't see motivated industry buyers; it only sees keyword search volume and surface-level comp depth. Pallet, gallery, brewery, dental, wedding, charter-fishing — anywhere the typical buyer is an industry insider rather than a generic founder, GoValue tends to land 30-50% below what the name actually clears at.
Where GoValue overprices: generic-brandable names with strong surface comps but weak ownership history and no obvious end-buyer profile. The engine likes the comp depth and rates the tone confidently, but there's no real motivated buyer behind the name. The listing sits at the GoValue List price for two years and you eventually drop it back to the Sale estimate or below.
The fix is to overlay three signals on top of GoValue. None of them takes more than ninety seconds.
If both words in a two-word name start with the same consonant sound — Yuna + Yoga, Better + Beats, Light + Luxe, Cyprus + Space (the s-sound match counts) — the name reads more designed, sticks in memory longer, and earns roughly 10-25% over its GoValue central estimate. The lift is highest in consumer / lifestyle / event / brand verticals where memorability monetises directly. It is much smaller in B2B / industrial verticals where function trumps phonetics.
The flip side of alliteration is the seam. When two words concatenate and create a doubled letter at the join — CyprusSpace has the ss collision, TopPick the pp, BigGame the gg — the name carries a 10-15% pricing penalty. It looks like a typo. It trips up the buyer in speech. It is ambiguous in email. Vowel seams (BetaArmy, MetaApp) are softer at -5-8%. CamelCase mitigates but doesn't fully cancel it.
Names with both alliteration and a seam tax (the canonical example: CyprusSpace) often net out roughly neutral. Don't double-count.
This is the one most appraisers ignore and the one I lean on hardest for genuine premium names. If twenty-plus years of WHOIS history shows five-plus distinct registrant changes and the domain has never been parked (every prior registrant tried real use), the prior probability that another buyer wants it in the next decade is much higher than baseline. That earns +20-30% over the GoValue anchor. If the history is twenty years deep, geographically diverse, and includes prior brand use, the lift can be +30-50%.
The standard source is CompleteDNS and it is essentially free for moderate use. Look for the headline summary line: <domain> - N changes and M drops recorded over Y years and a This domain has not been parked before annotation. Both are gold.
The one limitation: CompleteDNS covers the main gTLDs (.com / .net / .org / .info / .biz / .us) reliably but does not cover .io, .ai, .cc, .co, .tv or most niche ccTLDs. For those the history signal is unverified, not negative. Don't fabricate a history lift from a silent source.
-65 price endingA small convention I migrated to recently: every list price ends in -65. Not 99, not 95, not a round thousand. $1,965. $2,965. $4,965. $14,965.
The reason is that round-thousand prices anchor too obviously — the buyer immediately starts thinking "would they take fifteen hundred instead of two thousand?" — and -99 endings read as a discount-retailer trick that doesn't suit the premium-brandable category. -65 lands between the two: specific enough to feel real, low enough to avoid the round-number anchor. It also nudges the buyer's psychology fractionally. Three years of empirical results across hundreds of listings convinces me it adds maybe 1-2% to clear rate without affecting price. Small effect, but free.
Two days ago twig.com sold for $695,000. The serious lesson hidden in the noise is this: that sale is not a comp for almost anything in your portfolio.
Twig.com is a four-letter single dictionary noun on .com with broad commercial application. It sits in the upper tail of one specific tier — premium dictionary one-word .com — and even within that tier the sale is upper-tail rather than median. Loans.com cleared $3M historically and Insurance.com $35.6M; the median for the tier sits somewhere in the $20K-$80K range and sub-$10K outcomes are common when the keyword has low commercial loading.
If your portfolio is two-word .com brandables, hand-reg compounds, ccTLD shorts, niche-B2B descriptive names, or recently-coined SaaS terms — twig.com is not a useful anchor for any of them. Adjusting your price expectations upward because of a headline sale is the single fastest way to convert a saleable name into a stale listing.
The discipline is: stay anchored to your tier's actual comp depth (NameBio is the source of truth here — namebio.com — and the GoValue Sale figure is the median-of-medians for your specific name's profile). Headline sales are signal that the tier itself still moves; they are not signal for your specific name.
The five I actually have open when I'm pricing:
<keyword> names recently?"), trademark-conflict war stories, drop-recovery patterns, and live pulse on which industries are moving.USPTO TESS for trademark, Amazon Brand Registry search for amazon-brand collisions and a 30-second Google search for active commercial use round out the pre-pricing checks. None of these takes more than two minutes per name and any one of them can save a name from a UDRP or a bad listing.
The single biggest mindset shift after the first few years was understanding that a large portfolio needs velocity, not price-max on individual sales. The renewal float is not insignificant. The realistic clear-rate target across the portfolio is 1-2% per year.
At scale, the difference between selling thesupa.com at $1,468 LTO (which I did) and holding out for a maybe-someday $2,500 BIN (which I could have) is not a real decision. Take the sale. Move on. The portfolio cash-flow trumps any single-domain optimisation.
The practical implication is that patience favours the buyer pool, not the holder. Long LTO terms (12 months as default, 24+ for five-figure listings) widen the buyer pool to anyone with the monthly budget rather than the full-cheque budget. A 30-day "make an offer or walk" window narrows it. Every quarter I have to remind myself this is a velocity business.
There is one important exception. If you have a five-figure-plus name with a clear ten-year hold horizon — a one-word .com, a high-conviction industry exact-match, a culturally significant phrase that ages well — you can afford to be patient on it because that single sale moves the renewal-float math by itself. But ninety percent of the portfolio doesn't get that treatment. Most of it is in the "clear at GoValue Sale ± 10% as soon as the right buyer surfaces" pile, and the discipline is to recognise which is which.
Five things, ordered roughly by how much money they cost me to learn:
There isn't a magic number for a domain. There is a buyer, a moment, a marketplace floor, a phonetic signal, a history, a tier and a velocity target. Pricing is the act of holding all of those in mind at once for ninety seconds and producing a number that says "this is what I'd take if you showed up today".
I get it wrong on individual names roughly a quarter of the time. I make the portfolio work because I get the framework right roughly three-quarters of the time, the renewal float is paid, and the cash-flow rolls over.
NameBio · NamePros · CompleteDNS · toyroom.ai/appraiser · GoDaddy GoValue.
Most listed below $5,000. Atom, Afternic / GoDaddy, Unstoppable Domains and SecureMyName all carry the inventory.
View the full portfolio →