ENS Logo

[EP1.1] [Executable] Set the temporary premium start price to $100,000

Note: This was previously numbered EP5.


When a name expires, it goes through a 90 day grace period, after which it becomes available for general registration. To prevent it becoming a race to register, a ‘temporary premium’ is attached, starting at $2000 and diminishing to 0 over 28 days. Done properly this results in a dutch auction for the name.

When the premium was set, $2000 was roughly the 98th percentile of all auction prices for the short name auction, and seemed like a reasonable starting price. Today, we’re seeing multiple reports of names, particularly 3 character names, being snapped up by bots the moment they become available at the maximum premium.

Long-term we can improve the mechanism by setting the initial premium based on the base price of the name (so 3 letter names start off more expensive than 5+ letter names), and by introducing a nonlinear pricing curve (for example, having the price diminish by 1% per hour for 28 days). In the short term, however, I’d like to propose setting the initial premium to a much higher value, which we can do with a simple transaction from the DAO account.

Research of current trends shows:

  • 2,798 names have been bought during the temporary premium period so far.
  • Of these, 340 (12%) were purchased the moment they became available.
  • Registrations of names during the temporary premium period have been on the increase since the DAO launched in November.
  • 12 names have been purchased at a premium and flipped on OpenSea; the most valuable of these, punk.eth, went for $85,636.

Accordingly, I propose increasing the temporary premium from its current value of $2,000 to a new value of $100,000. This will ensure that the start price exceeds the secondary market resale value of almost all released domains, and corresponds to a rate of decrease of just under $150/hr, meaning that less valuable domains will still have a multi-hour period during which people can purchase them before the premium expires.

In parallel, work should be initiated on a new nonlinear premium model, so that high initial premiums can be combined with a slow decrease towards 0, allowing both high and low value names to be bid on fairly.


  1. Deploy a new instance of the LinearPremiumPriceOracle with the initial premium set to 100,000 USD and the period set to 28 days, with other pricing variables identical to the current oracle.
  2. Call setPriceOracle on controller.ens.eth, passing in the address of the new price oracle contract.



👷 Executable
Last Modified
2 months ago