---
eip: 6821
title: Support ENS Name for Web3 URL
description: A mapping from an ENS name to the contract address in Web3 URL
author: Qi Zhou (@qizhou), Qiang Zhu (@qzhodl)
discussions-to: https://ethereum-magicians.org/t/eip-6821-support-ens-name-for-web3-url/13654
status: Draft
type: Standards Track
category: ERC
created: 2023-04-02
requires: 137, 634, 3770, 4804
---

## Abstract

This standard defines the mapping from an Ethereum name service (ENS) name to an Ethereum address for [ERC-4804](./eip-4804.md).

## Motivation

ERC-4804 defines a `web3://`-scheme RFC 2396 URI to call a smart contract either by its address or a **name** from name service.  If a **name** is specified, the standard specifies a way to resolve the contract address from the name.

## Specification

Given **contractName** and **chainid** from a `web3://` URI defined in ERC-4804, the protocol will find the address of the contract using the following steps:

1. Find the `contentcontract` text record on ENS resolver on chain **chainid**.  Return an error if the chain does not have ENS or the record is an invalid ETH address.
2. If the `contentcontract` text record does not exist, the protocol will use the resolved address of **name** from [ERC-137](./eip-137.md#contract-address-interface).
3. If the resolved address of **name** is the zero address, then return an "address not found" error.

Note that `contentcontract` text record may return an Ethereum address in hexadecimal with a `0x` prefix or an [ERC-3770](./eip-3770.md) chain-specific address.  If the address is an ERC-3770 chain-specific address, then the **chainid** to call the message will be overridden by the **chainid** specified by the ERC-3770 address.

## Rationale

The standard uses `contentcontract` text record with ERC-3770 chain-specific address instead of `contenthash` so that the record is human-readable - a design principle of ERC-4804.  Further, we can use the text record to add additional fields such as time to live (TTL).

## Security Considerations

No security considerations were found.

## Copyright

Copyright and related rights waived via [CC0](../LICENSE.md).
