Skip to content
On this page

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 โ€‹

Address

The address that resolves to provided ENS name.

Returns 0x0000000000000000000000000000000000000000 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.

Released under the MIT License.