So you’ve got a .eth domain that you’d like to sell subdomains of using ENSNow. This guide will show you how to get it set up.

First, some disclaimers:

ENSNow is experimental! It may contain bugs that affect you as a domain owner, up to and including permanent loss of control of your domain. We’ve done everything we can to ensure that can not happen, but ENSNow is still early in its lifecycle, and we cannot guarantee zero bugs.

Committing your domain is irrevocable! In order to protect customers who buy subdomains, once you commit your domain name to the ENSNow registrar, you cannot regain direct control of it. You may change the rates charged, disable new domain sales entirely, and transfer ownership of your interest in the name to another account, but you cannot remove it from control of ENSNow and manage it yourself.

When the permanent registrar is ready to be deployed, you will have an opportunity to precommit to an upgrade path, which will provide you a one-time opportunity to withdraw your domain with ample prior notice to users. The goal for this is that users commit to a trustless upgrade process to transition their names to the permanent registrar.

In the event that the permanent registrar offers a method to recover some or all of the deposit on your name, ENSNow will offer a way for you to claim that refund.

If you’ve read and are happy with those caveats, read on…

1. (Optional) Request addition of your name to now.ens.domains

To prevent spam, adding your domain to the contract does not automatically cause it to show up on now.ens.domains, and other interfaces may exercise similar whitelisting practices. To get your domain displayed, you will need to request whitelisting from one or more user-interfaces. If you follow the remainder of the steps, but don’t get your domain whitelisted, it won’t show up in any interfaces.

now.ens.domains maintains a whitelist of domains. To get yours added:

Go to this page and click ‘fork’ in the top right corner. Navigate to app -> js -> domains.json Click on the pencil icon in the top right corner of the file. Find the appropriate place to insert your entry (entries are listed alphabetically). Add a new line with your entry. If using the default registrar for steps 2 and 3, this should look like {"name": "yourdomain", "version": "1.0"}, . Commit your changes by clicking ‘Commit changes’ down the bottom of the page. Click on ‘Pull requests’, then ‘New pull request’. Click on ‘Create pull request’.

Once your pull request has been accepted, you can follow the remaining steps knowing your domain will appear on now.ens.domains when you are done.

2. Transfer ownership of your domain to the subdomain registrar

Use your favourite ENS management tool to transfer ownership of the Deed for your domain to the subdomain registrar’s address, which is 0x0b07463b30b302a98407d3E3dF85EBC073B0DBd1 . It’s important that you transfer the Deed, not just the ENS record.

In MyCrypto, follow these steps:

Go to https://www.mycrypto.com/#contracts Under ‘Select Existing Contract’, choose ‘ENS: Eth Registrar (Auction)’. Click ‘Access’ Under ‘Read / Write Contract’ pull down the ‘Select a function’ box and choose ‘transfer’. ‘How would you like to access your wallet?’ will appear; unlock your wallet as appropriate. Under ‘_hash’ enter the label hash of the domain to transfer. If you do not know this, you can find it by going to https://etherscan.io/ and searching for your domain name. Under ‘newOwner’ enter the address of the subdomain registrar, 0x0b07463b30b302a98407d3E3dF85EBC073B0DBd1 . Click ‘write’ and follow the usual steps for submitting a transaction with MyCrypto. Set gas to 100,000.

3. Configure your domain with the subdomain registrar

Call the configureDomain function on the subdomain registrar, passing in the name of your domain (without .eth), the amount you wish to charge per registration in wei, and the referral fee to pay to the UI for each registration, in parts per million — eg, use 100000 for a 10% fee. You may call this function again at any time to change these settings. Providing a referral fee is optional, but user interfaces may rank or filter domains based on the referral fee they offer.

In MyCrypto, follow these steps:

Go to https://www.mycrypto.com/#contracts Under ‘Contract address’, enter the address of the subdomain registrar, 0x0b07463b30b302a98407d3E3dF85EBC073B0DBd1 . Under ABI, paste the following: [{“constant”:false,”inputs”:[{“name”:”name”,”type”:”string”},{“name”:”price”,”type”:”uint256"},{“name”:”referralFeePPM”,”type”:”uint256"}],”name”:”configureDomain”,”outputs”:[],”payable”:false,”stateMutability”:”nonpayable”,”type”:”function”}] Click ‘Access’ Under ‘Read / Write Contract’ pull down the ‘Select a function’ box and choose ‘configureDomain’. ‘How would you like to access your wallet?’ will appear; unlock your wallet as appropriate. Under ‘name’ enter the name of your domain, without ‘.eth’ (eg, ‘mydomain’). Under ‘price’ enter the price you want to charge, in wei. 1 ether is 1e18 wei (1 with 18 zeroes). You can use MyCrypto’s helper page for easy conversions. Under ‘referralFeePPM’, enter the desired referral fee in parts-per-million. A value of 1000000 means giving 100% of the fee to the dapp, while 100000 means a 10% fee and 10000 means a 1% fee. Click ‘write’ and follow the usual steps for submitting a transaction with MyCrypto. Set gas to 100,000.

Done! People can now register subdomains of your domain.