ENS Integration

Core principle

NFTFactory uses ENS as an identity layer, but the current build keeps a strict distinction between:

  • names NFTFactory creates on-chain
  • names the app only links and renders

What NFTFactory creates on-chain today

The only native ENS creation flow owned by NFTFactory contracts is:

  • a subname under nftfactory.eth

That flow is handled by SubnameRegistrar.

Example:

  • input label: studio
  • resulting name: studio.nftfactory.eth

The app can also work with:

  • a freshly registered .eth name created through the ENS controller flow in /profile/setup
  • an existing external ENS name such as artist.eth
  • an existing external ENS subname such as drops.artist.eth

These are product-level identity links. They are not names minted by NFTFactory contracts.

/profile/setup

/profile/setup supports:

  • checking .eth name availability
  • running the ENS controller commit/register flow for a fresh .eth name when the controller env is configured
  • linking an existing external ENS name
  • linking an existing external ENS subname
  • creating a new nftfactory.eth subname on-chain

It does not create external ENS subnames on-chain.

Shared mint attribution

Shared mint contracts accept an optional NFTFactory subname label during publish.

Behavior:

  • the creator can pass a label
  • the shared mint contract attempts to call recordMint
  • failure in attribution should not block the mint itself

Attribution is useful metadata, not a hard mint gate.

Limits

The build does not:

  • mint arbitrary .eth names from NFTFactory contracts
  • manage external ENS parent domains
  • turn linked external ENS names into on-chain NFTFactory-owned records