@thenamespace/ens-components is a React library of complete ENS flows. Each form handles input, validation, pricing, wallet prompts, and the success screen, so you add a flow by rendering one component. The forms read the wallet from wagmi and send transactions with viem.
The current major version is 3. Onchain flows run on ENSv2 by default, on Ethereum mainnet or Sepolia.
Choose a component
The package also exports hooks and ENSv2 helpers for custom flows. See Hooks and helpers.
Quick example
After you install the package and set up providers, render a form:How ENSv2 works in the forms
These rules apply to registration, renewal, subname minting, and subname renewal.- Networks: Ethereum mainnet by default, or Sepolia when you pass
isTestnet. - Payment:
.ethregistration and renewal, and subname mints and renewals, are paid in USDC or DAI. The user picks the token inside the form. Network fees are always paid in ETH. - Wallet prompts: Wallets that support EIP-5792 atomic batching confirm each step in one prompt. Other wallets get one prompt per call, for example a token approval before the payment. The forms handle approvals, so don’t add your own.
- Balances: When the wallet holds too little of the chosen token, or too little ETH for gas, the form shows “Insufficient funds” and blocks the transaction.
version={1} to SubnameMintForm for those parents. See Mint under an old Namespace listing.
Resources
- Try every component live on enscomponents.com.
- Read the source on GitHub.
- Give an AI agent the ENS Components skill, or point it at Skill.md.
- Upgrading from 2.x? Follow Upgrade to the latest version.
- Review every release in the ENS Components changelog.

