Basenames are growing in popularity. Users set them for their EOA accounts so that they don’t have to use hex addresses when interacting on Base. Basenames use the solid ENS infra underneath and are fully ENSIP-19 compliant.
Since Enscribe is on a mission to eradicate hex addresses from Web3 UX and contract naming is overlooked, we wanted to enable users to set Basenames for deployed contracts as well. We are excited to announce support for naming your contracts using Basenames.
ENSIP-19 is an ENS Standardization Proposal that standardizes reverse and primary name resolution for all coin types, and defines how this resolution process operates across the multichain Ethereum ecosystem.
This is done by deploying an L2-specific Reverse Registrar contract that takes care of setting reverse records.
For example, suppose we want to set a Basename v1app.alice.base.eth. Then, we first create a subname on L2 ENS Registry by calling setSubnodeRecord:
Navigate to the Name Contract page & connect your wallet if you haven’t already. From the chain dropdown, select Base/Base Sepolia i.e. the chain you want to set the Basename on.
Enter your contract’s address in the Contract Address field and it should automatically detect the chain like shown above.
Click on Create New Name button and enter the new contract name you want to register and the parent domain under which you want to register the subname:
Note: the parent domain entered should already be registered. If you want to register a new parent domain, then use https://www.base.org/names to do so.
Click on Name Your Contract button & you’ll see all the transactions executing successfully:
And just like that, we have successfully set a Basename for our deployed Ownable contract!
Here's a video tutorial on how to set a Basename for your contract:
We’re excited to see how the community puts this to use. As always, feedback is welcome—we’re continuing to refine our ENSIP-19 aligned features and would love to hear what you think.
Head over to Enscribe and use a Basename to name your contract!
L2 primary names solve a fundamental problem in the multi-chain Ethereum ecosystem. A single DApp can have different contract addresses across various Layer 2 networks, or sometimes the same address (often due to CREATE2 deployments). Without a standard way to name them, users and developers must manage a confusing list of addresses.
According to ENSIP-19, L2 primary names enable reverse and primary name resolution for all coin types across the multichain Ethereum ecosystem. This standardizes how ENS names resolve to different addresses based on the network, making the ecosystem more legible and trustworthy. This works regardless whether the contract's address is the same or different across networks.
This is possible through a coinType parameter in the ENS resolver function addr(bytes32 node, uint256 coinType), which specifies the network. A single ENS name like mycontract.eth can be configured to point to the correct contract address on each chain.
Enscribe supports L2 primary names across five Layer 2 networks:
Optimism (Mainnet & Sepolia)
Arbitrum (Mainnet & Sepolia)
Scroll (Mainnet & Sepolia)
Base (Mainnet & Sepolia)
Linea (Mainnet & Sepolia)
The feature works in two directions. Forward resolution means your ENS name resolves to the correct contract address on each L2. Reverse resolution means your contract address resolves back to your ENS name on each L2.
Example: If you set up myname.eth → 0x123... on Ethereum and Base:
Forward Resolution:
Ethereum: Coin type 60 (0x3c) - myname.eth resolves to 0x123...
Base: Coin type 2147483653 (0x80002105) - myname.eth resolves to 0x123...
Reverse Resolution:
Ethereum: 0x123...addr.reverse - resolves back to myname.eth
Base: 0x123...80014a34.reverse - resolves back to myname.eth
Note: L2 primary names for Linea and Base are different from currently supported .linea.eth and .base.eth names. L2 primary names work through ENSIP-19 coin types, while .linea.eth and .base.eth are separate ENS domains.
You must set up L2 primary names from an L1 chain (Ethereum mainnet or Sepolia). This process cannot be done by connecting directly to an L2 network.
The reason is that the core ENS infrastructure, which manage name registration and resolution rules, reside on L1. Key actions, like creating subnames and configuring them to point to different addresses on various L2s—must be recorded on these foundational L1 contracts to ensure a single, authoritative source of truth.
Enscribe supports three main scenarios for setting up L2 primary names:
L1 + L2 Naming: Set primary names on both L1 and selected L2 chains when your contract has the same address across all networks
L2 Only Naming: Skip L1 naming and set primary names only on specific L2 chains
Multi-Address Naming: Use the same ENS name for different contract addresses on different L2 chains
If you want to set up primary names only on specific L2 chains without L1 naming:
Follow steps 1-3 from Case 1
Enable "Skip L1 Naming" to skip L1 forward and reverse resolution
Submit to execute only L2-related steps
Case 3: Different Contract Addresses on Different L2 Chains
If you deployed the same contract on different L2 chains but it has different contract addresses, you can use the same ENS name as the primary name for all chains.
Use the same name label and ENS parent, then:
Enter the first contract address and select its corresponding L2 chain
Enable "Skip L1 Naming" to focus only on L2 naming
Execute the naming process
Repeat for each different contract address on different L2 chains
Don't worry — it won't create a subname every time on L1. The subname creation happens only once, and subsequent operations just set up the L2 primary names.
Note: The default Enscribe parent domain, deployd.eth, is not yet compatible with L2 primary names. For now, please use your own ENS domain as the parent.
We will resolve this issue in our next release, which will involve redeploying the Enscribe contract.
Contract deployers get a unified identity for their contracts across all chains. Users can interact with your contract using the same name regardless of which chain they're on, eliminating the need to explain different addresses for the same contract.
Users benefit from simplified interactions — they can use the same ENS name to interact with contracts across chains. This reduces errors from sending transactions to wrong addresses and makes it easier to find and verify contract addresses.
The broader ecosystem sees improved interoperability as cross-chain contract interactions work smoothly. Enhanced security comes from reduced risk of address confusion, leading to a more intuitive multi-chain experience.
Ready to give your contracts a unified identity across the Ethereum ecosystem? Visit app.enscribe.xyz, connect your wallet to Ethereum mainnet or Sepolia, navigate to "Name Contract", enter your contract details, select your desired L2 chains, and execute the naming process.
We want to hear your experience with L2 primary names. Share your thoughts, suggestions, and any issues you encounter through our Discord community, Telegram, or Twitter/X.
L2 primary names help make the multi-chain Ethereum ecosystem more legible and trustworthy. We're excited to see how this feature helps developers and users navigate the onchain landscape more effectively.
We've updated Enscribe to make contract exploration clear and useful across multiple networks. This update focuses on direct sharing links, multi-chain support, and better ENS integration to help you identify and trust smart contracts.
The updated search bar lets you look up any Ethereum address or ENS name without connecting your wallet first. Just paste a 0x address or type an ENS name, and Enscribe immediately shows you the relevant details.
The search works with:
Standard Ethereum addresses (0x...)
ENS names
Automatic detection of which chain to use
The ENS resolution works correctly across different networks, using mainnet resolvers for production chains and Sepolia for test networks, then directing you to the right page based on chain context.
Our new Explore page serves as a central hub for getting ENS details for any address onchain. It detects whether you're looking at a smart contract or a regular account (EOA) and shows you specific information that matters for each type.
You can directly access any address using this URL format:
This standardized URL structure makes addresses easy to bookmark and share with others, allowing for collaborative exploration of the Ethereum ecosystem.
Primary ENS name (if available) with appropriate expiry status icon similar to contract view
All associated ENS names pointing to this address
ENS names owned or managed by this address with expiry information
Copy functionality for addresses and names
Both account and contract views include external links — addresses link to Etherscan while ENS names link to the ENS app. When you click on an ENS name that a contract or account owns, Enscribe resolves it to an address and opens that address in a new tab within Enscribe.
The ENS name resolution for owned names:
Opens resolved addresses in a new tab for convenient exploration
The chain selector helps you navigate between networks while examining an address. It sits at the top of the interface and changes how it works based on whether your wallet is connected.
When No Wallet is Connected:
Choose any supported chain from the dropdown
Switch networks to compare the same address across chains
All data loads specifically for the selected network
When a Wallet is Connected:
Chain selector automatically syncs with your connected wallet's network
When switching chains on wallet, you'll be redirected to view the same address on the newly selected chain
Base Sepolia - Partial support (working with ENS node Namehash team for full integration)
This design handles the specific requirements of each chain, including ENS resolution differences and verification source availability. When you switch chains, the URL updates with the new chain ID, creating direct links to the same address across different networks.
This update makes Enscribe a more useful tool for everyone who works with smart contracts. It creates clarity around contract identity and verification status across multiple networks.
We’re thrilled to announce that Enscribe is now officially live on mainnet — across Ethereum,
Linea, and Base networks.
Enscribe is a smart contract deployment and naming service purpose-built to bring human-readable identity to on-chain contracts. It allows developers to deploy
contracts and assign ENS names — including subname creation, forward resolution, and reverse resolution (primary name) — all in a single, atomic transaction.
Until now, naming smart contracts using ENS was a fragmented and manual process that required interacting with multiple ENS contracts post-deployment. Enscribe abstracts that complexity entirely.
And yes — we’ve used Enscribe itself to name our production deployments.
This is a major step toward bringing trust and transparency to on-chain contracts through meaningful naming and identity. We’re excited to see what you build with it.
Enscribe your contracts. Make them recognizable.
For more details, visit our site, and don't hesitate to join our Discord community to share your feedback and experiences.
Base, developed by Coinbase, is an Ethereum Layer-2 solution built on Optimism’s OP Stack, designed to deliver faster, cheaper, and more scalable transactions while preserving Ethereum’s security guarantees. Our integration with Base Sepolia provides a powerful new way for developers to effortlessly deploy smart contracts and immediately assign them Ethereum Name Service (ENS) names.
It also can be used to easily name existing smart contracts too.
With Enscribe’s new support for Base Sepolia, your smart contracts gain human-readable ENS identities instantly upon deployment, greatly enhancing their discoverability, verifiability, and usability.
With Sepolia, Linea Sepolia and Base Sepolia all supported, we're getting ready for our mainnet deployments for developers to really start battle testing the Enscrbie services.
On top of this we're going to be announcing our first partner integrations which you'll definitely want to watch out for. This will be a bit step forward in establishing greater trust in smart contracts for users.
In the meantime, make sure you have a go with our Base service and let us know what you think!
We're excited to announce our latest milestone — Enscribe has officially added support for the Linea Sepolia testnet!
Linea is an innovative Ethereum-equivalent zk-rollup solution developed by ConsenSys, designed to dramatically enhance Ethereum’s scalability. It also happens to be the layer 2 technology that the upcoming ENS Namechain will be built on. This integration brings quicker, cheaper, and more efficient transactions while retaining the strong security guarantees and decentralization of Ethereum.
With Enscribe's support for Linea Sepolia, developers can now easily deploy smart contracts directly to the Linea network and assign human-readable Ethereum Name Service (ENS) names at the point of deployment. This makes smart contracts easier to use, manage, and verify, significantly improving the overall user experience for both developers and end-users.
This integration with Linea Sepolia is just one step toward our broader vision of enhancing smart contract usability and trust across Ethereum and its vibrant ecosystem of Layer-2 solutions. We remain committed to supporting additional layer 2 network and continually improving our service based on community feedback and innovation.
We warmly invite you to explore Enscribe's Linea Sepolia integration and experience firsthand the future of scalable Ethereum deployments.
For detailed information, comprehensive guides, and further resources, visit our documentation. To join the conversation, share your feedback, or ask questions, connect with our team and community on Discord.