If a .eth domain is bought in a Metamask web wallet. Can it be transferred to a different ethereum wallet address of a Ledger Nano S or X?
Hardware wallets don't store funds (or in this case ENS addresses), they store the keys that give access to those funds (or ENS addresses). Your Ether, tokens, ENS address, etc. are all stored on the Ethereum blockchain, and your hardware wallet simply provides access to those things.
Basically what that means is that it does not matter where you're transferring your ENS name from or to, as long as you have the private key to access the address where you're sending it to.
To transfer your ENS address, you can use the official ENS interface found here: https://app.ens.domains/
Absolutely. ENS addresses now follow the ERC-721 standard, making them an NFT (non-fungible token) and can be transferred as such.
You have two options to assign ownership with ENS domains as they have access control functions built in:
- Leave the MetaMask account as the token owner, but assign the address from the Ledger as the controller. The owner is responsible for paying the renewal fees, but the controller can set the metadata and have the ENS domain resolve to the Ledger address.
- Transfer the token itself to the Ledger account. This will cost less in gas. The Ledger account is now the owner and controller of the domain, responsible for renewal fees, and must set the resolving address to the new Ledger address through the app (or a function call to the contract).
Technically speaking, all of the ENS domains (tokens) are stored in memory of the core ENS contract which keeps track of what accounts own which token (your address does not actually store any tokens in storage at all, it is simply a pointer for contracts to assign values to).
For practical purposes though, yes, an ENS domain can be transferred to any account and even listed for sale on NFT marketplaces as it's contract creates each domain as a token.
NOTE: Subdomains (
sub.domain.eth) cannot be sold on NFT marketplaces as they do not fit the ERC-721 standard, but can still be transferred as they are a token. Using the app.ens.domains you can assign each subdomain to a separate account who becomes the new controller, although whichever account owns
domain.eth has full control of the domain and all subdomains. Keep this in mind if you set up subdomains for other accounts or purchase a subdomain through a privately deployed resolver (some people set up contracts that let people purchase subdomains to a domain which they own for a fee they specify) that the account or contract that owns the main domain retains final decision on what happens to it. So make sure you either own
domain.eth or trust that the entity who does will not remove the subdomain or deny your ability to control it.