Skip to main content
Give your users readable names to safely and easily identify and transact. ENS subnames can support branded onboarding, public profiles, and username-based payments in compatible wallets and apps.

Common product patterns

  • Wallets and payment apps: Issue a readable name during onboarding and resolve it before a transfer.
  • Chains and platforms: Create a shared namespace for users, apps, agents, or contracts.
  • AI products: Assign each agent a unique name with public address and text records.
  • Games and communities: Give members portable, branded profiles.
See Use cases for more examples.

Choose an issuance model

Read Learn about Subnames for the architecture and ownership differences.

Choose an integration path

Offchain SDK guide

Create gasless subnames and manage their records with TypeScript.

L1 and L2 minting guide

Prepare and submit onchain mint transactions.

API reference

Integrate the hosted Offchain, Mint, or Resolvio APIs.

Starter integrations

Start from RainbowKit, Privy, or Openfort examples.

Plan for production

  • Keep API keys and signing credentials on the server.
  • Decide how labels are normalized, reserved, recovered, and moderated.
  • Show the resolved address and network before users confirm a payment.
  • Handle unavailable names and resolver failures explicitly.
  • Monitor SDK and API changelogs during upgrades.

Troubleshooting

Review common authentication, validation, resolver, and network failures.