Skip to main content
The forms are built from hooks and helpers that the package also exports. Use them when you build a custom UI and a form doesn’t fit. Start with the forms when you can, because they handle pricing, approvals, batching, and errors for you.

Check ENSv2 availability

ENSv2 helpers take a viem PublicClient and a deployment object that holds the contract addresses for mainnet or Sepolia.
Pass true to the deployment getters for Sepolia, and use a Sepolia public client.

ENSv2 helpers

Durations are bigint seconds.

Hooks

useOffchainManager puts the API key in the browser. Use it only with keys you are comfortable exposing, such as in a local demo. In production, keep the key on your server, as shown in Offchain subnames.
useRegisterENS targets ENSv1, which is retired for registration. For ENSv2 registration, use EnsNameRegistrationForm or the ENSv2 helpers.

Upload an avatar

For the full upload API, see the Avatar SDK.

Other exports

The package also exports the atoms and molecules the forms use, such as Button, Input, Modal, Alert, TokenSelect, and DurationPicker, plus record utilities such as getEnsRecordsDiff, validateEnsRecords, and convertEVMChainIdToCoinType. Their props are in the package’s TypeScript types.