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
Mortgage Calculator: How Much House Can I Afford?
Depreciation: meaning, types and more - MakeMoney.ng
Stretchmark Camouflage Highland Park
Jonathon Kinchen Net Worth
Health Benefits of Guava
Cosentyx® 75 mg Injektionslösung in einer Fertigspritze - PatientenInfo-Service
Tlc Africa Deaths 2021
Carter Joseph Hopf
Amateur Lesbian Spanking
LA Times Studios Partners With ABC News on Randall Emmett Doc Amid #Scandoval Controversy
Power Outage Map Albany Ny
Blog:Vyond-styled rants -- List of nicknames (blog edition) (TouhouWonder version)
Funny Marco Birth Chart
Transfer Credits Uncc
Curtains - Cheap Ready Made Curtains - Deconovo UK
Busted Barren County Ky
Echat Fr Review Pc Retailer In Qatar Prestige Pc Providers – Alpha Marine Group
Yakimacraigslist
R Personalfinance
Wausau Marketplace
My Homework Lesson 11 Volume Of Composite Figures Answer Key
Is A Daytona Faster Than A Scat Pack
R. Kelly Net Worth 2024: The King Of R&B's Rise And Fall
Dewalt vs Milwaukee: Comparing Top Power Tool Brands - EXTOL
Breckiehill Shower Cucumber
Impact-Messung für bessere Ergebnisse « impact investing magazin
Cardaras Funeral Homes
Leben in Japan – das muss man wissen - Lernen Sie Sprachen online bei italki
Ice Dodo Unblocked 76
Nikki Catsouras: The Tragic Story Behind The Face And Body Images
Stubhub Elton John Dodger Stadium
United E Gift Card
Panchang 2022 Usa
Rocksteady Steakhouse Menu
Hattie Bartons Brownie Recipe
Seymour Johnson AFB | MilitaryINSTALLATIONS
Senior Houses For Sale Near Me
Marie Peppers Chronic Care Management
Zero Sievert Coop
Aliciabibs
Kerry Cassidy Portal
Flipper Zero Delivery Time
Devon Lannigan Obituary
3 Zodiac Signs Whose Wishes Come True After The Pisces Moon On September 16
QVC hosts Carolyn Gracie, Dan Hughes among 400 laid off by network's parent company
Rs3 Nature Spirit Quick Guide
Haunted Mansion (2023) | Rotten Tomatoes
Mother Cabrini, the First American Saint of the Catholic Church
Graduation Requirements
8 4 Study Guide And Intervention Trigonometry
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.