HomeEIPsNewsletter
EIPsERC-3770
ERC-3770

Chain-specific addresses

Prepending chain-specific addresses with a human-readable chain identifier
DraftStandards Track: ERC
Created: 2021-08-26
Lukas Schor (@lukasschor), Richard Meissner (@rmeissner), Pedro Gomes (@pedrouid), ligi <ligi@ligi.de>
Discussions ForumOriginal Proposal LinkEdit
1 min read

ERC-3770 proposes a new address standard for Ethereum that includes a human-readable prefix to indicate the specific chain the address belongs to, in order to prevent ambiguity and potential loss of funds due to human error. The prefix is separate from EIP-155 chain IDs and is meant to be displayed to users in dApps and wallets. The proposal includes syntax and examples for chain-specific addresses.

Video
Anyone may contribute to propose contents.
Go propose
Original

Abstract

ERC-3770 introduces a new address standard to be adapted by wallets and dApps to display chain-specific addresses by using a human-readable prefix.

Motivation

The need for this proposal emerges from the increasing adoption of non-Ethereum Mainnet chains that use the Ethereum Virtual Machine (EVM). In this context, addresses become ambiguous, as the same address may refer to an EOA on chain X or a smart contract on chain Y. This will eventually lead to Ethereum users losing funds due to human error. For example, users sending funds to a smart contract wallet address which was not deployed on a particular chain.

Therefore we should prefix addresses with a unique identifier that signals to Dapps and wallets on what chain the target account is. In theory, this prefix could be a EIP-155 chainID. However, these chain IDs are not meant to be displayed to users in dApps or wallets, and they were optimized for developer interoperability, rather than human readability.

Specification

This proposal extends addresses with a human-readable blockchain short name.

Syntax

A chain-specific address is prefixed with a chain shortName, separated with a colon sign (:).

Chain-specific address = "shortName" ":" "address"

  • shortName = STRING

  • address = STRING

Semantics

Examples

Chain-specific addresses

Rationale

To solve the initial problem of user-facing addresses being ambiguous in a multichain context, we need to map EIP-155 chain IDs with a user-facing format of displaying chain identifiers.

Backwards Compatibility

Ethereum addresses without the chain specifier will continue to require additional context to understand which chain the address refers to.

Security Considerations

Similar looking chain short names can be used to confuse users.

Copyright and related rights waived via CC0.

Further reading
Anyone may contribute to propose contents.
Go propose
Adopted by projects
Anyone may contribute to propose contents.
Go propose

Not miss a beat of EIPs' update?

Subscribe EIPs Fun to receive the latest updates of EIPs Good for Buidlers to follow up.

View all
Serve Ethereum Builders, Scale the Community.
Resources
GitHub
Supported by