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

address

Address to get primary ENS name 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.