Determining a fair rent model


Assuming we transition from a deposit-based model to a rent-based model as proposed in my DevCon 3 talk, a significant question is how to determine a fair rent price.

First, why do we want rent? There are two related reasons for doing so:

  1. To discourage mass registration and resale of all viable domains, which is likely to occur if no ongoing costs are imposed for name ownership.
  2. To provide an incentive to terminate registration of unwanted or unused names.

Neither of these requires a particularly high rent; only enough to impose significant cost on anyone seeking to register and keep unused large volumes of names. I believe that a cost compatible with the current registration cost for DNS domains, in the range of $10 - $100/year is likely reasonable.

The question then is how to set this price, and regulate it with variations in the price of ether. Several options have been proposed, but for now none seem sufficiently robust to be implementable as-is.

  • Vlad Zamfir proposed monitoring deregistration rates, and using a feedback loop on this basis to adjust rent. This is the proposal I discussed in my DevCon 3 talk. Unfortunately, it suffers from the issue that an individual could deliberately register and deregister a large number of domains to artificially inflate deregistration rates, and thus lower prices.
  • A variation of the above would weight deregistrations based on how long the domain was held before being deregistered. This would help impose a minimum cost on anyone seeking to affect the system, but would still permit some degree of manipulation. Research is needed to determine the theoretical soundness of this approach.
  • A feedback loop based on net registration rate is possible, but ends up enforcing a growth rate, or a rate-of-change-of-growth-rate; neither seems desirable.
  • Systems requiring manual price adjustment are susceptible to centralised control.
  • Another proposal is a Harberger Tax; in this, anyone pays the amount of rent they see fit, but the domain may be bought at any time for some multiple of the yearly rent fee. This has the significant advantage that we can expect it to be self-regulating, and encourages people to value their domains honestly. However, it permits the possibility of hostile takeover of domains, relies on people accurately assessing the value of their domains, charges more for more valuable domains (even though they impose no additional burden on the system), and does not function well for ‘public goods’, where the owner of the domain does not derive direct financial benefit from the system.


Proposed design outline for the permanent registrar
Proposed design outline for the permanent registrar

My first thoughts on this are, why would you want to charge similar costs for registration as current centralized systems for DNS domains? Can we not do better? Have you considered a stable coin such as DAI for dealing with the fluctuating price of ether?


I’m suggesting it as a ballpark; cheaper would be fine too! My point was more that it shouldn’t be more expensive, and that it needs to be high enough to discourage mass registration of names people won’t use.

It’s a possibility - but that just punts the problem to “what should the cost be in USD”? The ideal would be some form of self-regulating mechanism.


I’m not sure why it’s undesirable. I think a continuous growth is a good metric: of course we can’t set a rate of “we need 10% growth every year” but the idea of “if we see a sudden abnormal growth, we raise prices, if we see a sudden stagnation, we decrease it”. It creates a feedback mechanism that raises prices during rush periods and a cheaper rent during off-season. It also adapts itself: if the abnormal growth or stagnation becomes the new normal, then in about a year, the prices will stabilize again…


I believe setting a market value for something that should not be seen as having asset value apart from being a useful redirection tool is a mistake. If discouraging squatters is the number one goal, only certain .eth names are going to be worth a higher price. Ford.eth (i know its too short, just an example) will have more monetary value to the largest Ford trademark owners, not because the .eth extension has value, but because the are protecting another valuable asset (their registered trademarks).

JohnDoe.eth, DoeJohn.eth, TheJohnDoe, or JohnDoe.CityWide.eth each satisfy to intended goal of the ENS equally not because some monetary value steered me to or away from any of the above choices by inserting some monetary value. That reality will make Ford Motor Cars, Ford Modeling Agency, bid for it the top level Ford.eth (if they are even aware of Ethereum), but Jane Ford will not have the same interest in the top level in the face of Ford Motor Cars, or Ford Modeling unless a first-come-first-served model is adopted. Jane will have bigger problem if she slaps her Ford logo on a go-cart because Ford Motor Cars will likely sue her, so she probably will want to only used FordJewelry.eth anyway. (i’m not advocating for this a First Come First Serve system, or a more restrictive auction, just want to point out some things that are relevant in the discussion.)

If the goal of the ENS is to give Jane Ford’s home based jewelry company a chance at the name also, this can’t really ever be “fair”. Setting a market price for these marks is a “red herring”. Only valuable marks are worth squatting, and these marks you already know what they are with a high degree of certainty. It would be better to have a small team scan the worldwide registers of most valuable brands and embargo them, because the have strong ties to a particular good or service. Then these name could be offered in a closed bidding session between the international holder having a bonafide interest in the X.eth redirector tool.

Marks like CocaCola are are brands that have no meaning outside what you think it is, a soft drink. But when it comes to marks like Universal, few people can tell you what its affiliated with, because its not fanciful or a made up word. By McDonald’s is different. Does McDonald’s Corp have superior rights to some guy name “John McDonald”, who just wants a redirector .eth tool? So this leads, back to the original question what is a “fair” rent price? Well, how far should the ENS team go in regulating or controlling a marketplace if this is what the ENS is? Should TheOnlyCocaCola.eth be protected? CocaCola1.eth? MyCocaCola? it just goes on, an on…

Additionally, personal names can’t be registered as personal trademarks so this opens a whole new set of challenges. Like who is the real JohnDoe; meaning JohnDoe can’t register JohnDoe as a protected US Trademark name, even though it may be a common name, but JimmyChoo can register the name for shoes. It’s complicated economics vs social value vs corporate investment in trademarks, and cost vs benefit of paying lawyers to enforce rights.

I am very hopeful for the ENS system, but see some deep rabbit holes trying to control the uncontrollable.


I don’t think anyone is proposing charging different rents for different domains. When I talk about a “market rate” here, I’m talking about finding an equilibrium flat-rate rent price that all domains pay.


I know, and I agree. I am only looking at it from the user perspective, as in value to the acquiring party. If the rent is mainly to make it a “fair” system and to discourage squatters; first, the whole world, or some reasonable metric needs to know the ENS .eth system even exists (we are about 10-years too soon for that), or that popular names have more “rent” value that useless ones like the 0x09879897988979789. Rent in real estate varies from urban blight values to the Ritz Carlton. The X.eth X .com and ® registered trademarks all follow that principle. I agree valuable ones are worth singling out for an auction as already exists, with notice to interested parties, whatever that means.


JohnDoe.eth, DoeJohn.eth, TheJohnDoe, or JohnDoe.CityWide.eth each satisfy to intended goal of the ENS equally not because some monetary value steered me to or away from any of the above choices by inserting some monetary value.

The purpose of having a small rent is to make it harder and more expensive to register all possible name combinations with the intent of holding it forever until John appears


It becomes a circular argument.

Is squatter X any better off securing JohnSmith, JohnSmith1 … JohnSmith100000 and at what price would the squatter stop being so interested in JohnAnything.eth. It’s impossible to guess. You could say, it’s 1 finney x 100,000 names, but that would still not deter someone with resources and hell-bent on taking them all. Who are the people that the system is truly trying to defend against, and at what cost?

If I had so come up with a “fair” rent model based on a pure guess, how about $10 per year? I think that would be my breaking point. I would just settle for JohnSomethingElse.eth as a normal protocol user, and it would also deter me from trying to seize one hundred similar .eth domains from John1.eth - John100.eth for $1,000 USD, but I am not someone who looks to a ROI on squatting potentially value .eth names. $1,000 for squatter minded people is probably “chump change” if it’s what they like to do and part of their hostage-like business strategy (or shrewd acquisition strategy, if that’s their game). So, my fair vote is $10 per year to deter squatter, but that is also too high for the common user, which I would say is worth 1-finney per year, which unfortunately would not deter the average squatter.


I kind of like the idea of targeting a certain number of outstanding domains. The target can be something on the order of magnitude of “number of humans”, which would mean domains are crazy cheap for a long time but do eventually get pressured down. For comparison, there are about 250M DNS registrations (according to quick internet search).

I do think there needs to be rent. I don’t think we are going to find a perfect solution that lasts forever.


I like the simplicity of a dutch auction. I don’t see a good way to implement it here, though, without delaying nearly all registrations by an arbitrary period.

Are you still talking about rent here, nick or is that a response about the registrations thread? If it is about registrations, what we can do is to start the initial dutch auction at 10x the amount of the most expensive domain already registered on ens. One possible issue with dutch auction is front runners.


Sorry, yes, that was intended for the registrations thread. I’ll repost it there.


Hey folks, I’ve been discussing exploring a rental model with Nick. I’d like to send my first proposal idea that I came up with and have you all poke holes.

Here’s the doc:


@suhail, that’s an interesting proposal and would probably merit a topic on its own.

Now the problems I see with that are: what constitutes an “offer”? How long does an offer lasts? How long does the other party has to accept it?

If an offer lasts a long time (multiple weeks) then the ether volatility becomes an issue. I am offering $100k for your domain now, so I must lock now, but in one week that might represent half million or just $20k. This might be avoided by using oracles or allowing the offer to be done in multiple tokens but it then creates a new set of problems: which tokens are accepted? Is the rent also paid in those tokens? Who says which tokens are valid and who doesn’t? Does the owner sets with tokens are accepted, or maybe ENS foundation validates them? I would say it if you solve it to be token agnostic it opens up a lot of possibilities.

If an offer lasts only as long as the person making the offer wants it to, or if the offer isn’t done by locking ether but at agreeing at some price, then it creates a new set of problems: what if I make an offer that lasts only a short time, and decline it before you accept it? It could be a valid attack to increase the rent of domains, to make lightning offers and take them out before the other party can take action. Even if there’s a minimum time requirement of hours or days, this can be timed right to coincide with a time where you know your opponent will be busy and not be able to answer it: time it to common holidays, or during conferences, or even a long weekend and you can have an offer that lasts 72 hours yet has a small chance of being accepted, before you take it down. Forcing people to lock for longer than 72 hours and then suddenly you have the volatility problem I mentioned earlier. Also, is there a difference in terms of rent, if someone receives a one time high offer, or if they receive multiple smaller offers during the year? Should maybe the rent be an average that moves according to how many offers have been made and for how long they stood?

Finally, I understand the reason why bidding fees would go to the ENS foundation, but am still reticent about adding a hardcoded “main owner”. The question we must ask ourselves is: “if this entity doesn’t do its job, and someone else does it better, are they replaceable?” and then to add some sort of mechanism to that. Of course, maybe the answer is “if ENS foundation is doing a bad job or doing rent-seeking behavior then people can fork off ENS names in an instant and use something else with the same code”, but is there any other last resort for governance?


One thought I had was designating a specific day each year where this process could occur. There are some obvious disadvantages of it though: (1) less fluid market, (2) people can squat for a year, (3) arbitrary length of time.

However, I think there are some distinct advantages that I think outweigh the disadvantages:

  • It’s scheduled and therefore expectations are easy to meet
  • It’s simple: it being easy to understand for users will be important over a convoluted complex set of rules
  • We can choose a day that avoid the pitfalls of holidays, conferences, etc.
  • We can set a range of time (maybe 48 hours) where owners can plan to respond (and a future system could simply automate acceptance of rent thresholds obivating the need for human interaction). Maybe we allow people to retract bids within a timeframe to deal with price volatility.
  • We can implement auction like rules that are currently in place when registering to make this moment to mimic a blind auction thereby setting more fair rents.
  • It’d reinforce domain ownership stability - a key goal. I don’t think a year is unreasonable. The default today is 1 year and I don’t believe it’s a major cause of concern. Of course, you could do a shorter timeframe but that may be too much work that we’d be imposing on owners.


I have to say I’m not a fan of having a yearly “ENS bidding day”. Maybe it could work by having a monthly day, but I really dislike forcing people to adapt their schedule to the machine, not the other way around.

One way in which I can see this being solved is to force all bids to remain locked for at least one week (unless someone makes a larger bid, replacing the first one), and allow bids to be extended. The rent could be proportional to both the bid value and the duration of the bids, so a domain that had multiple bids, during the whole year, would be more expensive than one that had a single offer that expired. This would also allow users a better idea of how much their rent would be: so if you only no or small bids for 51 weeks, then the bids on the last week will only be able to change the rent about 2%.

I would solve the stability problem by allowing bids in multiple tokens. Domain owners must opt-in which tokens the accept, maybe from a list curated by the ENS foundation (since they’re the ones receiving rent), so the tokens need to be approved by 3 parties.

Of course it could mean to pay rent in multiple tokens, which sounds complicated, but there’s probably a creative way to avoid that, by allowing some other party buy a token basket using ether or something similar, which allows the end user (and who receives the rent) to pay it all in a single currency. In an ideal world, currencies should be super fungible and instantly converted so parties could use multiple tokens without realizing


Yeah, I think a 30-day (or shorter) bidding period with a period of time to either (a) deny paying rent & transferring ownership, (b) accepting the new rent) would provide potentially enough flexibility. I agree with people having to adopt their schedules sucks. Either way though, there has to be some way where bids occur and owners give up domains and I’d rather be a consistent period of time in the year (which I think would make things easier) than a rolling part of the year (where it could be timed by opponents more optimally).


I’m totally against this pricing model 1) why do we want to maintain flat growth rate 10% /y or any other arbitrary number, what is wrong with ENS growing exponentially? we want a system that incentivizes exponential growth not the other way around 2) it’s nice complex something but bad UX, I own MyName.eth and i’ve got for 0.01 ETH or $10 I tell my sister to buy herName.Eth and now she pay 50 or 30 or 100, and she can’t predict the renewal fee…

Very nice work Suhail, a final usable implementation of harberger tax minimizing the risk of hostile takeovers.

I’m not sure I understand the need of USD, why can’t we just keep it in ETH, I’ve locked in 5 ETH for this name, and I pay maybe 1 or 0.5ETH renewal, then you want to take it you offer 10 ETH (you pay the bid fee of let’s say 0.5ETH) you lock your 10ETH, and now I accept paying the new higher rent or you get my name in 6months or more… I wish we have less external variable.

and that is for all other tokens and DAI, I know Ether will be there as it’s today in 5years but I don’t want to worry about DAI, USD and other tokens… I wish to have ENS registration & rental native to Ethererum

why? It’s not clear for me, further I totally agree with you on your points there… if something ENS org./foundation will do, then it should be designed that anyone can do…

great idea, a larger bid would release the locked smaller one, but 1 week is short time, I was thinking of something like 6 months… with an incentive to the current owner to respond prior, ex. bid fee would go to current owner proportional to his response time if he respond withing week he get like 90% if he respond in 6month he get nothing, and he will get up to his renewal fee not more… :thinking:

I noticed we’re very defensive, like oh we don’t want people to squatter names, we want stable growth rate, and protect TM,

guys we’ve ENS for a year now, and while it’s true there is so many registered names, the actual use, and adoption is very minimal! I would suggest we add a goal with priority to “Encourage ENS usage and adaptation” and care may be about that more than protecting someone trademark or someone abusing the system and getting some names to resell in future…


There is a Hidden cost of up ~5% per year, we need to consider, for ENS staking
the current dutch auction of ENS force winner to stake and lock 2nd bid, and while Ethereum shifting to PoS, domain owner lose a potential profit already by holding ETH on ENS instead of staking it for txs validation/mining and gaining a 0% to 5% -current estimations- and that by itself would reduce dramatically amount of ENS squatters (particularly names w/ high amounts)


Taking into the consideration all great inputs, I’m proposing something I would eli5 as… please correct me here…

ENS Proposal v2.0

Vickrey auction, you bid what you believe the true value, The highest bidder will win locking ETH equivalent to the second-highest bid, you will pay annually square root of your bid, and if someone believes you undervalued your ENS name, they can submit a complaint with a higher bid, and pay square root of their bid as a fee for that…, you’ll have 6 months to match their new higher bid by adjusting your annual rental or if you reject you will lose the name and your locked funds will be released back to you, knowing that sooner you respond is better, as a % of the complaint bid fee will go to you up to 60% of your annual renewal.

and if you’re using the name actively and based on tx transactions volume, you get a discount on your annual renewal up to 66.6%


  • true_value Is what we’re calling today highest bid
  • grace_period of 180 days prior to transfer as @suhail introduced (or maybe we call pending_transfer_period)
  • redemption_period of 180 days from time of new bid/complaint with higher bid come to play, technically you lost the name here (think about it, despite the high bidding fee someone outbid me risking to lose that complaint bid fee most probably I have undervalued the name) further I’ve priority as current owner to match that bid, and continue with the name, paying the higher renewal fee
    We need reasonably long redemption_period (we can’t be punched just because we’re traveling a couple of months)

To incentivize the quick respond of the current owner to complaints, suggest “complaint bid fee” to be divided by redemption_period days or months, and a portion of it go to current owner proportional with his response time, ex. complaints bid fee of 1ETH /6 for sure this amount is higher than current annual renewal if current owner responded within 1month he get 0.6ETH if responded in 4months he gets 0.2 if didn’t respond until last month he gets nothing… (we burn the rest of the fee),

  • auto-renewal is an optional tag, names annually will be renewed from “Locked value” owner are free to increases the true_value bid (and subsequentially annual renewal fee) ex. and/or deposit any additional amount to the locked value

  • tx_volume_discount: a discount on the annual renewal fee based on tx volume, a name with high transaction will get discounts up to 2/3 of their annual renewal,
    Think about MyEtherWallet.eth many scammers might be interested to make a really high bid for this name with malicious intent, however if there is a discount for tx usage on annual fee, that would filter out true honest usage,
    Let’s assume MyEtherWallet tx volume 5k per day that’s about $400 fee in gas price, while honest owner of the name, can do that quantity of transactions the 400 isn’t going out of thier pockets, a scammer can’t do it he would have much less volume much much less, and for him to fake it, it would cost him $400/day and $144k /year, a malicious, dishonests & scammer will have to pay a full high annual renewal fee, while honest users (in our case MyEtherWallet true owners) end-up paying 1/3 of that. they will have a better capacity to outbid any scammer trying a hostile takeover.

We need to run some tests for a fair mechanism for the tx volume discount, but if we get something fair here, we would 1) incentivize ppl/Dapps/Sites to actually use their .ETH name, and 2) give an edge to honest owners with use of ETH over scammer/squatters etc.