Skip to main content
Namoshi is the primary naming service for the Citrea ecosystem. Citrea is the first rollup that enhances the capabilities of Bitcoin with EVM-compatible smart contracts.

Chain Information

To interact with Namoshi, you must configure your application to use the Citrea Mainnet.
PropertyValue
Network NameCitrea Mainnet
Chain ID4114
RPC URLhttps://rpc.mainnet.citrea.xyz
Currency SymbolcBTC
Block Explorerexplorer.mainnet.citrea.xyz

Core Contract Addresses

ContractAddress
Namoshi Registry0x9fA2e2370dF8014EE485172bF79d10D6756034A8
Universal Resolver0xc5Ed1fA34AD1F23F0cD2E36DB288290488B1B493
Base Registrar0xf264775e533816Ff2b4B8988697A19662ba767B4
Controller0x6f315a6b09B8B3D84879B5436E6738561C79037C

Configuring Viem / Wagmi

You can define the Citrea chain in your application using the following configuration:
import { defineChain } from 'viem'

export const citrea = defineChain({
  id: 4114,
  name: 'Citrea Mainnet',
  nativeCurrency: {
    name: 'Bitcoin',
    symbol: 'cBTC',
    decimals: 18,
  },
  rpcUrls: {
    default: {
      http: ['https://rpc.mainnet.citrea.xyz'],
    },
  },
  blockExplorers: {
    default: {
      name: 'Citrea Explorer',
      url: 'https://explorer.mainnet.citrea.xyz',
    },
  },
  contracts: {
    ensRegistry: {
      address: '0x9fA2e2370dF8014EE485172bF79d10D6756034A8',
    },
    ensUniversalResolver: {
      address: '0xc5Ed1fA34AD1F23F0cD2E36DB288290488B1B493',
    },
  },
})

Important: Resolution Configuration

For Wagmi and Viem hooks (like useEnsName, useEnsAddress, or getEnsAddress) to work on Citrea, your chain definition must explicitly include the Namoshi contract addresses in the contracts object. Without these addresses, the libraries will default to looking for ENS on Ethereum Mainnet, which will fail to resolve your .btc and .citrea names.
Always verify that ensRegistry and ensUniversalResolver are pointing to the Namoshi addresses listed above in your wagmi config or viem public client.