ETH Registrar (2024)

The ETH Registrar is a special registrar. It allows for trustless on-chain name registration and is in charge of the ".eth" TLD.

.com.xyz.nl.net.org.shop.photos.pizza.cash.money.news.info.gold.domains.social.de.city.lol.rip.company.es.network.me.us.id.fr.space.ninja.tools.wtf.capital.finance.vision.limo.link.uk.world.dev.day.fyi.cooland any other DNSSEC-compatible domain...

The ETH Registrar is split into two contracts. The BaseRegistrar and the ETHRegistrarController.The BaseRegistrar is responsible for name ownership, transfers, etc (ownership related),while the Controller is responsible for registration & renewal (pricing related).This separation is done to reduce the attack surface of the registrar, and provides users with the guarantees of continued ownership of a name so long as the registrar is in place.

Controllers

The ETHRegistrarController is the main controller for the ETH Registrar, and provides a straightforward registration and renewal mechanism.

Pricing Structure

The ETH Registrar charges a fee for registration.This fee is paid in ETH and is set to prevent spamming the registrar.Any protocol fees are sent to the ENS Treasury.

Pricing Oracle

Initially, a single pricing oracle was deployed, the StablePriceOracle.This contract has owner-set prices for each name length (1, 2, 3, 4, 5 or more).Users do not have to interact with this oracle directly, as the controller provides functionality to determine the pricing for a registration or renewal.

3, 4, and 5 Letter Names

The ETH Registrar has special pricing for 3, 4, and 5 (and more) letter names. At the time of writing, a 5+ letter .eth will cost you 5 USD per year.A 4 letter 160 USD per year, and a 3 letter 640 USD per year.This pricing structure is done to promote market diversity as there are an exponentially less amount of names the shorter they become.The minimum length of a name is 3 characters.

Name LengthPrice (USD)
5+5
4160
3640

Premium & Auctions

In addition to length-based pricing the ETH Registrar also has a premium pricing structure.90 days after a name expires (aka after the grace period), the name will go into a Temporary Premium Auction.The Auction is a 21 day dutch auction, meaning that the price starts high (~100 Million USD) and exponentially decrease till it hits 0 or a bid goes through.

This is done to prevent sniping of names, and ensures the name goes to the highest bidder fairly.

You can read more about the temporary premium in this article.

Where does the money go?

Upon registration funds are sent to the ETHRegistrarController. The controller then sends the funds to the ENS Treasury (anyone can call the withdraw method to trigger this).Income from the ETH Registrar is used to fund the development of ENS, its ecosystem, and other public goods.

Read more about our spending in Article III of the Constitution.

In the early days of ENS, the ERC721 standard did not exist.The original ETH Registrar formed the pre-cursor to the ERC721 standard.As we witnessed the ERC721 being standardized support for it was added to the ETH Registrar.

Today, users can interact with the ETH Registrar to transfer their name just like with any other ERC721 token.

Registering a Name

To register a name you can use the ENS Manager App, ENS Fairy, your favourite mobile wallet (if supported), or any other frontend you like.If you would like to register a name through a smart contract, or your own interface, you can use the following functions.

For the process of .eth name registration the ETH Registrar uses a two transaction commit reveal process.

Commit

Wait

Reveal

Commit Reveal

The ETHRegistrarController implements a commit reveal scheme to prevent frontrunning.The way it works is that during the registration process we first call the commit function with an opaque bit of data (the commitmenthash).Wait a few blocks and then call the register function.

The commit function takes a commitment hash, which can be generated using the makeCommitment function. The commitment hash is opaque and revealed during the register function.

The commit reveal process ensures no eavesdropping third-party is able to register your name before you can.

ETHRegistrarController.makeCommitment(name string, owner address, duration uint256, secret bytes32, resolver address, data bytes[], reverseRecord bool, ownerControlledFuses uint16)// For examplemakeCommitment( "myname", // "myname.eth" but only the label 0x1234..., // The address you want to own the name 31536000, // 1 year (in seconds) 0x1234..., // A secret that you have generated (32 bytes) 0x1234..., // The address of the resolver you want to use [], false, // Set as primary name? 0);

Once you have calculated the commitment hash you can call the commit function.

ETHRegistrarController.commit(commitment bytes32)

Note this does require an on-chain transaction.After having committed it is recommended to wait at least the MIN_COMMITMENT_AGE (~60 seconds) before registering.

Registering

Once you have committed you can register your name.Registration takes in the same parameters as the makeCommitment function, but this time is in the form of a transaction.

Before initiating registration ensure that:

  • available(name) == true
  • duration >= MIN_REGISTRATION_DURATION
  • commitments[commitment] is between 1 min and 24 hrs old
  • msg.value >= rentPrice(name, duration) + 5-10% (slippage)

Because the rent price may vary over time, callers are recommended to send slightly more than the value returned by rentPrice, a premium of 5-10% will likely be sufficient.Any excess funds sent during registration are automatically returned to the caller.

ETHRegistrarController.register(name string, owner address, duration uint256, secret bytes32, resolver address, data bytes[], reverseRecord bool, ownerControlledFuses uint16)// For exampleregister( "myname", // "myname.eth" but only the label 0x1234..., // The address you want to own the name 31536000, // 1 year (in seconds) 0x1234..., // A secret that you have generated (32 bytes) 0x1234..., // The address of the resolver you want to use [], false, // Set as primary name? 0);

If you would like to try registering a name live on a testnet you can use the live demo below.

Register a name

ETHRegistrarController.renew()

Any user can renew a domain, not just the owner. This means that if you want to ensure a name doesn't expire you can renew it for someone.

By allowing renewal for any arbitrary amount of time users can ensure their name will not expire.As per the separation between registry and controller, even with upgraded controller your name will still be yours.

Renew a name

Other features

ETHRegistrarController.MIN_COMMITMENT_AGE uintETHRegistrarController.MAX_COMMITMENT_AGE uintETHRegistrarController.MIN_REGISTRATION_DURATION uint// Get Commitment TimestampETHRegistrarController.commitments mapping(bytes32=>uint)// Get Rent PriceETHRegistrarController.rentPrice(string name, uint duration) view returns (uint)// Check Name ValidityETHRegistrarController.valid(string name) view returns (bool)// Check Name Availability// Returns true if the name is both valid and available for registration by this controller.ETHRegistrarController.available(string name) view returns (bool)// Calculate Commitment HashETHRegistrarController.makeCommitment(string name, address owner, uint256 duration, bytes32 secret, address resolver, bytes[] data, bool reverseRecord, uint16 ownerControlledFuses) view returns (bytes32)// Get Name Expiry (unix timestamp at which registration expires)BaseRegistrar.nameExpires(uint256 label) view returns (uint)// Check Name Availability (less specific, use ETHRegistrarController.available instead)BaseRegistrar.available(uint256 label) view returns (bool)// Get Transfer Period End (unix timestamp at which transfer period (from legacy registrar) ends)BaseRegistrar.transferPeriodEnds uint// Get Controller StatusBaseRegistrar.controllers mapping(address=>bool)// Check Token ApprovalBaseRegistrar.getApproved(uint256 tokenId) view returns (address operator)// Check All Tokens ApprovalBaseRegistrar.isApprovedForAll(address owner, address operator) view returns (bool)// Get Token OwnerBaseRegistrar.ownerOf(uint256 tokenId) view returns (address)// Get Token URIBaseRegistrar.tokenURI(uint256 tokenId) view returns (string)

Writable

// Transfer a NameBaseRegistrar.transferFrom(address from, address to, uint256 tokenId)BaseRegistrar.safeTransferFrom(address from, address to, uint256 tokenId)BaseRegistrar.safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)// Approve OperatorBaseRegistrar.approve(address to, uint256 tokenId)// Set Approval For AllBaseRegistrar.setApprovalForAll(address operator, bool approved)// Reclaim ENS RecordBaseRegistrar.reclaim(uint256 label)

Events

// BaseRegistrarevent Transfer(address indexed from, address indexed to, uint256 indexed tokenId);event NameMigrated(uint256 indexed hash, address indexed owner, uint expires);event NameRegistered(uint256 indexed hash, address indexed owner, uint expires);event NameRenewed(uint256 indexed hash, uint expires);// Controllerevent NameRegistered(string name, bytes32 indexed label, address indexed owner, uint cost, uint expires);event NameRenewed(string name, bytes32 indexed label, uint cost, uint expires);
ETH Registrar (2024)

FAQs

Is there a grace period for ENS names? ›

Once registered, the owner of an ENS domain name has complete control over it so long as they renew its registration before it expires. If a registration does expire, the owner will receive a 90-day grace period during which they have a chance to re-register the name without forfeiting ownership.

What is the highest sold eth domain? ›

Top 10 Most Expensive Crypto Domains Ever Sold
RankCrypto DomainSale Price (US$)
1paradigm.eth$1,508,884
2000.eth$317,759
3abc.eth$253,100
4deepak.eth$220,401
6 more rows
Dec 4, 2023

Are ens domains worth it? ›

Why Should Anyone Use An ENS Domain? Purchasing an ENS domain shows involvement in the Web 3.0 space and allows a buyer to create a pseudonymous identity should they wish to remain anonymous.

How much does it cost to register an ens? ›

3, 4, and 5 Letter Names

eth will cost you 5 USD per year. A 4 letter 160 USD per year, and a 3 letter 640 USD per year. This pricing structure is done to promote market diversity as there are an exponentially less amount of names the shorter they become. The minimum length of a name is 3 characters.

What is the most expensive ENS name? ›

The most expensive ENS domain sold so far is paradigm. eth, which was auctioned for 420 ETH in October 2021! It fetched roughly $1.5 million.

Can you buy an expired ENS domain? ›

90 days after an ENS name has expired, when it exits the Grace Period it will go into a Temporary Premium Auction . This is a public auction where anyone can buy the name with a Temporary Premium Fee attached to it that lasts for 21 days.

Why is Ens so expensive? ›

The primary purpose of registration fees is as an incentive mechanism to prevent the namespace from becoming overwhelmed with speculatively registered names. A secondary purpose is to provide enough revenue to the DAO to fund the ongoing development of ENS.

What is the most expensive ENS ever sold? ›

ENS names are also non-fungible tokens (NFTs) and can be sold on NFT marketplaces like OpenSea. The biggest sale so far of an ENS domain was for paradigm. eth, which was purchased in October 2021 for 420 ETH (about $1.5 million at the time).

Who owns the most eth in the world? ›

The largest individual holder of ETH is co-founder Vitalik Buterin, who holds 245.8K ETH.

Does ENS have a future? ›

Our most recent Ethereum Name Service price forecast indicates that its value will increase by 12.76% and reach $25.80 by May 27, 2024. Our technical indicators signal about the Bullish Bullish 87% market sentiment on Ethereum Name Service, while the Fear & Greed Index is displaying a score of 76 (Extreme Greed).

Why are people buying ENS? ›

The Ethereum Name Service (ENS) provides users with the unique opportunity to create a . eth domain name. The protocol leverages NFT (non-fungible token) technology to create secure credentials on the Ethereum blockchain. The goal of the project is to simplify cryptocurrency payments and drive adoption.

Why is ENS better than DNS? ›

ENS can potentially streamline the TLD and SLD registration process into one unit on the blockchain protocol- completely overtaking the Registries and Registrars that make up DNS.

What happens to expired ENS names? ›

Luckily the expiration process has a 90 day grace period. This means that once the name expires the original owner has 90 days to renew the name before it is released. After the grace period, the name is released for registration by anyone with a temporary premium which decreases over a 21 days period.

Can you create your own ENS? ›

Click the register button and confirm the transaction in your wallet. Congratulations! If all transactions went through successfully you should now be the proud owner of your very own ENS name!

How many ENS names are registered? ›

According to the service, over 80% of the total ENS domains created since the project's inception were registered in 2022. Data from Dune Analytics shows that ENS has around 2.82 million names registered as of Jan.

What is the grace period for a domain name? ›

What is the domain grace period? The grace period is the time period that most TLDs enter following expiry. It typically lasts up to 45 days, and it often does not incur any additional costs, allowing a domain name to still renew at the regular rate.

Is there a grace period for name com renewal? ›

You have between 15-30 days after a domain expires to renew it with no penalty. If it is not renewed in that window of time, the domain name will be deleted, making the corresponding website and email accounts unusable.

How do I extend my ENS name? ›

Go to the ENS Manager App and connect with your wallet. Search for the name you would like to renew and click on it to view its profile page. Click the Extend button. It is possible to renew a name that the connected wallet does not own or manage.

How much does it cost to renew a domain name in ENS? ›

Renewal fees​
Number of charactersAnnual fee
5+ characters$5
4 characters$160
3 characters$640

Top Articles
What Information Can Police Get From Your Phone? | Risk Free Consultation
Data Collection Methodologies in Criminal Law | Law Paper Example
3 Tick Granite Osrs
Craigslist Pets Longview Tx
Zabor Funeral Home Inc
Unity Stuck Reload Script Assemblies
Manhattan Prep Lsat Forum
Mail Healthcare Uiowa
Apnetv.con
83600 Block Of 11Th Street East Palmdale Ca
Ave Bradley, Global SVP of design and creative director at Kimpton Hotels & Restaurants | Hospitality Interiors
Helloid Worthington Login
Items/Tm/Hm cheats for Pokemon FireRed on GBA
Slope Unblocked Minecraft Game
Pvschools Infinite Campus
Lenscrafters Huebner Oaks
Craigslist Malone New York
Arboristsite Forum Chainsaw
SXSW Film & TV Alumni Releases – July & August 2024
60 X 60 Christmas Tablecloths
Find Such That The Following Matrix Is Singular.
Divina Rapsing
Effingham Bookings Florence Sc
18889183540
Atdhe Net
Morse Road Bmv Hours
Magic Seaweed Daytona
Airtable Concatenate
Victory for Belron® company Carglass® Germany and ATU as European Court of Justice defends a fair and level playing field in the automotive aftermarket
Great ATV Riding Tips for Beginners
Martins Point Patient Portal
Earthy Fuel Crossword
WOODSTOCK CELEBRATES 50 YEARS WITH COMPREHENSIVE 38-CD DELUXE BOXED SET | Rhino
Sun-Tattler from Hollywood, Florida
Rocksteady Steakhouse Menu
Boondock Eddie's Menu
What Time Does Walmart Auto Center Open
450 Miles Away From Me
877-292-0545
Kerry Cassidy Portal
Tyler Perry Marriage Counselor Play 123Movies
Mudfin Village Wow
Reilly Auto Parts Store Hours
A rough Sunday for some of the NFL's best teams in 2023 led to the three biggest upsets: Analysis
Sky Dental Cartersville
Sam's Club Gas Price Sioux City
Morbid Ash And Annie Drew
Costco Tire Promo Code Michelin 2022
The Ultimate Guide To 5 Movierulz. Com: Exploring The World Of Online Movies
La Fitness Oxford Valley Class Schedule
Latest Posts
Article information

Author: Dong Thiel

Last Updated:

Views: 6259

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.