getEnsAddress โ
Gets address for ENS name.
Calls resolve(bytes, bytes) on ENS Universal Resolver Contract to resolve the ENS name to address.
Usage โ
ts
import { normalize } from 'viem/ens'
import { publicClient } from './client'
 
const ensAddress = await publicClient.getEnsAddress({
  name: normalize('wagmi-dev.eth'),
})
// '0xd2135CfB216b74109775236E36d4b433F1DF507B'
ts
import { createPublicClient, http } from 'viem'
import { mainnet } from 'viem/chains'
export const publicClient = createPublicClient({
  chain: mainnet,
  transport: http(),
})
WARNING
Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to normalize ENS names with UTS-46 normalization before passing them to getEnsAddress. You can use the built-in normalize function for this.
Returns โ
The address that resolves to provided ENS name.
Returns null if ENS name does not resolve to address.
Parameters โ
name โ
- Type: 
string 
Name to get the address for.
ts
const ensName = await publicClient.getEnsAddress({
  name: normalize('wagmi-dev.eth'), 
})
blockNumber (optional) โ
- Type: 
number 
The block number to perform the read against.
ts
const ensName = await publicClient.getEnsAddress({
  name: normalize('wagmi-dev.eth'),
  blockNumber: 15121123n, 
})
blockTag (optional) โ
- Type: 
'latest' | 'earliest' | 'pending' | 'safe' | 'finalized' - Default: 
'latest' 
The block tag to perform the read against.
ts
const ensName = await publicClient.getEnsAddress({
  name: normalize('wagmi-dev.eth'),
  blockTag: 'safe', 
})
universalResolverAddress (optional) โ
- Type: 
Address - Default: 
client.chain.contracts.ensUniversalResolver.address 
Address of ENS Universal Resolver Contract.
ts
const ensName = await publicClient.getEnsAddress({
  name: normalize('wagmi-dev.eth'),
  universalResolverAddress: '0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376', 
})
Live Example โ
Check out the usage of getEnsAddress in the live ENS Examples below.