Adding BTC address to your domain on Etherscan

Modified on: Mon, 11 Oct, 2021 at 9:20 PM

NFT domain owners can manage their domains with Etherscan if they prefer. In this guide, we will change the BTC address of a domain on Etherscan.

Update July 2021: The registry smart contract address, required for Step 2, for our new TLDs like .wallet and .coin is 0x049aba7510f45ba5b64ea9e658e342f904db358d, but supported wallets will need to update with our latest libraries before they will resolve the new TLDs.

Step 1: Find out your tokenId. You can do this by searching for your domain (without the extension) on OpenSea and copying the last part of the URL.

For example:

Domain: mago.crypto

Opensea link:

TokenId: 33642913257357346721724917523059851128572772060169355559133602752160435159602

Step 2: Find the specific resolver Smart Contract for your domain:

Access our registry Smart Contract (see note at the start of the article for the registry address for new TLDs and use Read as Proxy and field 19 resolverOf as shown in the image below):
For .crypto only not the new TLDs

Enter tokenId from step 1 in field 19 resolverOf and press ‘Query’. Example for mago.crypto gives a link of

Step 3: Set up Metamask and access the specific resolver Smart Contract from Step 2:

Ensure Metamask account is unlocked, set to the wallet for the domain, and funded.

Go to the Contract tab and then ‘Write Contract’ (for .crypto)  or Write as Proxy (for new TLDs) tab of the specific resolver Smart Contract from step 2. Example for mago.crypto is and connect with Metamask by pressing “Connect to Web3”.

Step 4: Change the BTC address of your domain by entering in ‘4. Set’ fields if it's a .crypto domain:

key (string): crypto.BTC.address


tokenId (uint256): ENTER YOUR TOKEN ID FROM STEP 1 (Example for mago.crypto: 33642913257357346721724917523059851128572772060169355559133602752160435159602)

Press ‘Write’ and sign the transaction. You will need a small amount of ETH for the transaction fees. 

For live gas prices:

For the new TLDs (.coin, .x .888 etc) please use Write as Proxy for field 21 as shown below:

Still need help?

Submit a Support Ticket

Join us on social media

or with us