Subnode Symphony allows for holders of vanity ENS domains to deposit and generate passive income by enabling users to bid on subdomains.
Subdomain Symphony has deep integrations with ENS allowing for a seem-less experience for ENS holders. The ENS holder transfers their wrapped domain to the Auctioneer--while still maintaining access over ENS records for the main node. The depositor can then claim earned ETH for their subdomain at the determined allowed claim time (more on this later).
Anyone can kickoff auctions for new subdomains on deposited domains (sub-sub-domains are totally fair game). These auctions last one day and then are finalized by anyone which results in a new wrapped ENS subdomain being minted to the winner of the second price auction. The winners receive unrestricted subdomains meaning they could deposit them back into the Auctioneer and action of sub-sub-domains! Auctions start at 0.001 ETH and have a min bid increment of 0.001 ETH.
Back to the claiming mechanism. Given that usage of the subdomain is dependent on the domain, it is possible that a user could withdraw their domain from the auctioneer shorty after making some nice cash off of selling subdomains. To counteract this, a depositor has the choice of locking their domain, or having the funds in escrow for a year. If at any point the subdomain privileges are forcefully removed, the auction winner gets ALL their funds back. On the other hand, if the depositor locks the domain, they may skip any escrow period that ends before their domain unlocks (yes I check for expiration too).
Check out the contract on goerli here: https://goerli.etherscan.io/address/0xacdd6620a1d1cf31863bd4f18d50b23e02ac752b#writeContract
This project uses Foundry along with the ENS contracts and OZ contracts. Again, there is a very deep integration with the ENS contracts that allows for this incredible method to be earning passive income. We are deeply integrated with the ENS namewrapper which provides the ability to trade and sell sub-domains won at auction like any other 1155 NFT. We make use of the names stored in the namewrapper for emitting useful data including the whole ens address up for auction.
I made the questionable decision of not building a front-end and just interacting with the project via etherscan. This is because I mistakenly ended up as a solo team and my front-end chops are non-existent. I chose to build a more full featured protocol over a probably non-functioning front-end.