Skip to main content

How to Name Your Smart Contract with ENS on Ethereum

Already have a smart contract deployed on Ethereum? Learn how to give it a human-readable ENS name using Enscribe, making your contract more discoverable and trustworthy.

Visual Comparison

Before: 0x742d35cc567890c000c000c07c81c25d7df34793 After: my-defi-vault.eth

What You'll Learn

This guides covers:

  1. Understanding contract compatibility for ENS naming
  2. Using Enscribe's Name Contract tool for existing contracts
  3. Managing the naming process step-by-step
  4. Troubleshooting common issues

Prerequisites

Before you begin:

  • Contract deployed on Ethereum (mainnet or testnet)
  • Web3 wallet connected (MetaMask, Safe, WalletConnect, etc.)
  • Contract ownership or proper permissions
  • ETH for gas fees on your chosen network

Understanding Contract Types and ENS Resolution

Not all contracts support the same level of ENS naming. Enscribe automatically detects your contract type and add transactions to set forward and primary name accordingly.

Contract Compatibility Check

Enscribe classifies contracts into two categories:

Contract TypeForward ResolutionPrimary Name (Reverse Resolution)
Compatible Contracts
Ownable, ERC173, ReverseClaimer
YesYes
Other Contracts
No ownership interface
YesNo

What This Means

Forward Resolution (ENS name → contract address)

  • Anyone can set this mapping
  • Makes your contract findable by ENS name
  • Example: my-vault.eth resolves to 0x742d35...

Primary Name/Reverse Resolution (contract address → ENS name)

  • Only the contract or its owner can set this
  • Shows ENS name when users look up the contract address
  • Example: 0x742d35... displays as my-vault.eth in wallets

Enscribe automatically detects the type of your contract so you don't need to know the technical details.

Step-by-Step Naming Process

Step 1: Access the Name Contract Tool

  1. Go to enscribe.xyz
  2. Click "Name Contract" in the navigation or use the direct link: app.enscribe.xyz/nameContract
  3. Connect your wallet
  4. Select the network

Name Contract

Step 2: Enter Contract Information

Contract Address

Contract Address

  • Enter the address of your deployed contract
  • Enscribe will automatically detect the contract type
  • If you see a green checkmark saying contract implements required interfaces(Ownable, ReverseClaimer), your contract supports primary names

Choose Your ENS Name

Contract Name

Label Name: The subdomain for your contract

  • Use descriptive names: defi-vault, nft-marketplace, dao-governance
  • You can auto generate a label name using the "Generate Name" button

ENS Parent Domain: Choose where to create your subdomain

ENS Parent Domain

Option 1: Enscribe-Provided Parent (Recommended for beginners)

  • No additional permissions needed
  • Instant setup
  • Your contract gets: your-label.deployd.eth

Option 2: Your Own ENS Domain

Your Own ENS Domain

  • Requires you to own an ENS domain
  • More control over branding
  • Your contract gets: your-label.yourdomain.eth
  • Better for established projects

Step 3: Review and Execute

  1. Review details: Double-check contract address and ENS name
  2. Start naming: Click "Name Contract"
  3. Sign transactions: Enscribe will open a modal with all the steps, approve each transaction in your wallet

Based on your contract type, you'll see different number of trasanctions:

Contract Naming steps

Your own ENS domain without ERC173/ReverseClaimer

  1. Create subdomain
  2. Set forward resolution

Your own ENS domain + Primary name:

  1. Create subdomain
  2. Set forward resolution
  3. Set primary name

Step 5: Verify Success

After completion, you'll see a success modal with:

Contract Naming Success

  • Contract address
  • Your new ENS name for the contract
  • Links to view txs on block explorer
  • Share on X/Twitter and Farcaster

Using Safe Wallet for Contract Naming

If you're using a Safe wallet (multi-signature), the process works slightly differently:

Safe Wallet Setup

  1. Connect via WalletConnect:

    • Choose WalletConnect in Enscribe
    • Copy the connection link
    • Paste in your Safe wallet app
  2. Transaction Approval:

    • Transactions are queued in Safe
    • All signers must approve
    • Execution happens asynchronously
  3. Benefits:

    • Multi-signature security
    • Team-controlled naming
    • Transparent approval process

For more details, check our Safe Wallet Support blog post.

Troubleshooting Common Issues

Transaction Failures

Gas Issues:

  • Increase gas limit in wallet
  • Try during lower network congestion
  • Check you have sufficient ETH

Permission Errors:

  • Verify you're the contract owner
  • Check connected wallet address
  • Ensure contract implements required interfaces

Retry Failed Steps

If any transaction fails:

  1. Enscribe detects completed steps
  2. You can retry only failed transactions
  3. No need to start over completely

What Happens After Naming?

In Wallets and dApps

  • Your contract shows its ENS name instead of hex address
  • Users can interact using the readable name
  • Increased trust and recognition

In Block Explorers

  • Many explorers now support ENS lookups
  • Search for your ENS name to find the contract
  • Enhanced discoverability

Getting Help

Community Support

  • Discord: Real-time community help
  • Telegram: Developer discussions
  • X: Updates and announcements

Documentation Resources


Ready to name your contract? Head to Enscribe and give your smart contract the human-readable identity it deserves.