Implementation of "ENS subdomains for NFT owners e.g. X.bayc.eth"

Hello builders,

I’m looking for an implementation of the “NFT Project owner (automatically) gives out ENS subdomain to holders”, especially a version of the implementation that works even when NFTs are transferred.

I know I can search Twitter and reverse engineer some things on Etherscan, but I’m wondering a bit more generally if there is a repository of Interesting Ideas that are implemented on top of ENS?

It might be nice to start something like that.

Cheers,
cory.eth

If it’s a brand new NFT contract, then that could be built into the contract itself. Basically the NFT contract would be the owner or approved operator for your ENS name, and then the transferFrom / safeTransferFrom methods would also call setSubnodeRecord to transfer the subname automatically, whenever the NFT itself gets transferred.

If it’s an existing NFT contract, then you’d need to setup a separate “claim” contract. That way even if the NFT gets transferred/sold, the new owner can still claim their subname at any time.

In either case the subnames would not be Emancipated in the wrapper, because otherwise the contract would not be able to automatically replace subnames. So that means the owners of the subnames would not be able to use owner-controlled fuses or fuses on any sub-subnames. However you would still be able to use parent-controlled fuses (“perks”) on the subnames if you wanted to.

1 Like

We provide this functionality at esf.tools.

You can link an ENS and configure so that holders can claim a subdomain that dynamically links to their NFT (both address and PFP).

We had a grant from the dao for the work we did on it.

6 Likes

We have this functionality as well with Bored ENS Yacht Club (BENSYC).

Also the NFT is “name bound” to subdomains on multiple roots, so when the NFT both x.BoredENSYachtClub.eth & x.bensyc.eth are automatically transferred/records updated.

1 Like

Thank you for the suggestions. I will read some code and loop back here after scoping more.

1 Like