ENS Name Gift Link

How about instead of a “buy me this name” link, what if there was an easy way for someone to buy and gift a name to someone else? I’ve answered this question a number of times on the discord server recently. As it stands today, the process of gifting an ENS name to someone else is rather arduous, especially if the buyer and/or recipient is new to ENS or Ethereum in general.

For example, if you’re gifting an ENS domain to someone else and just want everything set to their address so that they have to do the fewest number of transactions possible, then you:

  1. Register the ENS name.
  2. Update the ETH address record to the recipient’s address, and also the avatar and anything else you want to set for them, all in one transaction
  3. Set the Controller to their address
  4. Transfer the Registrant to their address. Now they own the NFT.

The receiver will still need to be the one to set the primary name on their address though, so that’s one transaction they will need to do, if they want a Primary Name set.

Is it technically possible today to manually register against the contract from one address while setting the registrant, controller, and ETH address record to a different address in one fell swoop? At first glance at least, it appears the pieces are there: https://github.com/ensdomains/ens-contracts/blob/master/contracts/ethregistrar/ETHRegistrarController.sol#L88

If it is possible, then that would hopefully make things far less gassy. If not, then it could still be done, just more transactions for the user (or another contract that interacts with the ENS registrar). But either way an easy-to-use UI would need to be built for the average person to be able to do that.

3 Likes