Capital Beacon Daily

ens domain transfer procedure

How ENS Domain Transfer Procedure Works: Everything You Need to Know

June 10, 2026 By Casey McKenna

Understanding ENS Domain Transfer Fundamentals

Ethereum Name Service (ENS) domains have emerged as a critical infrastructure layer for decentralized identity and Web3 applications. Unlike traditional DNS domains, ENS transfers involve multiple layers of verification, blockchain transactions, and potential registry adjustments. The procedure is methodical but requires careful attention to each phase to avoid irreversible errors.

An ENS domain transfer fundamentally means moving ownership and administrative control of a .eth name from one Ethereum address to another. This process differs markedly from domain trades on centralized exchanges or traditional registrar transfers. The transfer happens entirely on-chain, meaning no intermediary can reverse or modify the transaction once confirmed. For anyone managing multiple domains, understanding the exact workflow is essential—especially when using a reliable ens domain manager to track pending transfers, renewals, and ownership changes across wallets.

The core components involved in any ENS transfer include:

  • Controller – the address that can edit records (resolver, addresses, texts) and set the primary name
  • Registrant – the address that owns the domain and can transfer ownership, set the controller, or burn the domain
  • Resolver – the smart contract that translates names into addresses and other records
  • Registry – the main ENS smart contract that stores domain ownership and expiration dates

Transfers typically require modifying at least two of these roles, depending on whether you intend to hand over full ownership or only operational control.

Prerequisites Before Initiating a Transfer

Before executing any ENS domain transfer, you must confirm several technical conditions. Failure to meet these prerequisites will result in a failed transaction or, worse, a permanently frozen domain.

  1. Domain must be owned (not expired or in grace period) – Check the domain's expiration date on the ENS app or via Etherscan. Domains in the 90-day grace period after expiration cannot be transferred until renewed.
  2. Registrant and controller must be clearly defined – For a full ownership transfer, the registrant must initiate the transaction. If the domain is in the original .eth registrar (v1), the registrant is the only address that can transfer. For newer domains (v2+), both registrant and controller roles exist.
  3. Resolver must be compatible – If you are transferring to a wallet or service that requires specific resolver features (e.g., wildcard resolution, offchain records), ensure the resolver contract remains accessible post-transfer.
  4. Sufficient ETH for gas – Transfers require at least two transactions: one to set the new registrant/controller and one to accept or confirm. Gas costs fluctuate with network congestion. Budget at least 0.01 ETH in wallet balance.
  5. No pending operations – DNS-proven domains or subdomains with pending ownership challenges must be resolved first.

If you are new to the process, following a carefully documented step by step guide can prevent common mistakes like transferring to an incompatible address or forgetting to set the controller simultaneously.

The Exact Transfer Procedure: Step by Step

The ENS domain transfer procedure can be broken into a concrete, numbered sequence. Execute each step precisely to avoid losing the domain.

Step 1: Initiate the Ownership Transfer (Registrant Change)

Connect your wallet (MetaMask, WalletConnect, or Ledger) to the ENS app at app.ens.domains. Navigate to "My Domains," select the domain you wish to transfer, and click the "Details" tab. Under the "Registrant" section, click "Transfer" and enter the recipient's Ethereum address. This action sends a transaction that proposes the transfer—it does not execute it immediately. The recipient must accept within a certain period (currently 28 days for .eth domains) or the proposal expires.

Step 2: Set a New Controller (Optional but Recommended)

If you want the recipient to be able to modify records immediately without waiting for the full registrant transfer, you can set the controller separately. Under the "Controller" section, click "Change Controller" and input the same recipient address. This action takes effect instantly, allowing the recipient to update resolver, addresses, and texts. However, the registrant remains the original owner until the acceptance step.

Step 3: Recipient Accepts the Transfer

The recipient must visit the ENS app, connect their wallet, and navigate to the same domain. A notification will prompt them to accept the pending transfer. Clicking "Accept" sends a confirmation transaction. Gas fees for this step are paid by the recipient. After confirmation, the recipient becomes the new registrant and retains full ownership.

Step 4: Verify Records and Update DNS (If Applicable)

Once the transfer is complete, the new owner should verify that all records (ETH address, other coins, texts, content hash) have propagated. If the domain uses DNS-based records (e.g., for website hosting via IPFS), the new owner must update DNS TXT records and wait for DNSSEC propagation, which can take 1–24 hours. The ENS resolver automatically syncs with DNS after the transfer.

Step 5: Renew the Domain If Approaching Expiration

Transfers do not reset the expiration date. If the domain was registered for a year and six months remain, those six months carry over. Ensure the domain has at least 28 days of remaining registration to allow for future transfers or renewals. Renewal must be done by the new registrant after the transfer is accepted.

Common Pitfalls and Security Considerations

ENS transfers are irreversible. If you send the domain to the wrong address, there is no recourse. Below are the most frequent issues encountered during transfers and how to avoid them.

  • Transfer to a contract address without accept logic – Smart contracts cannot accept ENS transfers unless they implement the appropriate ERC-721 or ENS-specific interfaces. If transferring to a multi-sig or DAO, verify that the contract can call the accept function. Otherwise, the domain will be locked in pending state indefinitely.
  • Gas price spikes during transaction – If you set a gas limit too low during the proposal or accept step, the transaction might be dropped. Always use the recommended gas limit (typically 100,000–150,000 gas for ENS operations) and check current gas prices.
  • Confusing controller with registrant – The controller can edit records but cannot transfer ownership. If you only change the controller and think you've transferred the domain, the original registrant retains full ownership and can reclaim control at any time.
  • Failing to update DNS records for offchain names – Many users transfer .eth names that rely on DNS records for offchain resolution (e.g., via DNS-ENS or wildcard resolvers). The new owner must update these records on their own DNS provider—this is not automated.
  • Using an unverified ENS app or third-party service – Only use the official ENS app (ens.domains) or well-known interfaces. Scam sites often impersonate the UI to steal approval signatures.

Transferring Subdomains vs. Parent Domains

The procedure differs significantly depending on whether you are transferring a subdomain (e.g., subdomain.eth) or a parent .eth domain. Understanding this distinction prevents protocol-level errors.

Subdomain transfers are governed by the resolver contract set by the parent domain owner. The parent owner (registrant of the parent domain) can control subdomain ownership and expiration unless the subdomain is set to a separate registrar. To transfer a subdomain, the parent owner must use the resolver's setSubdomainOwner function. The recipient then must accept by claiming the subdomain via the same resolver. This process does not involve the main ENS registry—only the resolver contract.

Parent domain transfers (full .eth name) follow the five-step procedure described above. After transfer, the new registrant automatically gains control over all subdomains that were not explicitly set with a different owner via a custom registrar. This cascading effect means transferring a parent domain effectively transfers all its subdomains unless they were previously delegated.

For both cases, record management is critical. The new owner should immediately audit all subdomains and remove any that are unnecessary or potentially malicious (e.g., subdomains set by the previous owner for phishing purposes).

Post-Transfer Verification Checklist

After completing the ENS domain transfer, use this checklist to confirm everything is operational:

  1. Check the ENS registry (etherscan.io) to confirm the registrant address matches the recipient wallet.
  2. Verify the controller address is set to the recipient (if changed).
  3. Test resolution: use an ENS resolution tool (e.g., ens.vision) to confirm that the domain resolves to the correct Ethereum address.
  4. If the domain is used for a website, check that the content hash (IPFS, Swarm) points to the correct content.
  5. Renew the domain if less than 90 days remain until expiration.
  6. Revoke any old approvals or authorized operators from the previous owner’s wallet that might still have permission to set records.

The entire process, from proposal to final acceptance, can take anywhere from 30 minutes (if both parties are responsive and gas conditions are favorable) to 28 days (if the recipient delays acceptance). Planning ahead, verifying addresses twice, and using a dedicated manager interface significantly reduces risk. ENS transfers are a powerful tool for decentralized identity management, but they demand precision at every step.

Learn the complete ENS domain transfer procedure, from DNS configuration to wallet setup. Step-by-step instructions, technical requirements, and security best practices.

In short: Complete ens domain transfer procedure overview

External Sources

C
Casey McKenna

Honest commentary and investigations