Interoperable
Addresses

ERC-7930 / ERC-7828

Chain-aware addressing for the Ethereum ecosystem

Simplify interoperability and eliminate cross-chain mistakes with human-readable addresses that include chain information.

Backed by the Ethereum community

Ethereum Foundation
OpenZeppelin
LiFi
Unruggable
Offchain Labs
ENS
Wonderland

Why do we need interoperable addresses?

Wrong chain, lost funds

Addresses don't specify which chain they belong to. This means chain information must be expressed out of band, and introduces the risk of an address being mistakenly used on a chain it is not valid for.

Readability and typos

Existing systems rely heavily on hexadecimal strings and other opaque identifiers, with limited checks for correct data entry.

Centralized chain information

Chain identification depends on centralized offchain repositories, which act as a bottleneck exposed to hacks and human errors.

With Interoperable Addresses

Chain specificity

Addresses explicitly include which chain they belong to

Compact format

For use in cross-chain messaging and intent declaration

Error prevention

Additional checksum validation to detect potential errors

Human-readability

ENS integration means support human-readable names as well as long hexadecimal addresses

Onchain registry

Chain identifiers are stored on-chain without dependency on centralized repositories

Universal compatibility

Works with any chain type, EVM or non-EVM

How does it work?

ERC-7930 establishes the base binary format, while ERC-7828 extends it with human-readable names using ENS and an on-chain chain registry.

How it works

The Specifications

ERC-7930

Interoperable Addresses

Binary format that binds address and chain together—compact, verifiable, and extensible across any blockchain ecosystem, with a basic readable name for usability. Works with any chain type, from EVM to non-EVM networks.

View Specification →

ERC-7828

Human-readable Interoperable Names

Powered by ENS with an on-chain registry—making addresses and chain identifiers accessible while maintaining technical precision. Extends ERC-7930 by allowing resolution to shorter names using ENS. Replaces centralized chain lists with a decentralized on-chain registry.

View Specification →

Interactive Playground

Convert between formats, test with real addresses, and validate checksums in real-time. Experience how interoperable addresses work across different chains.

SDK & Implementation

Install our SDK to implement Interoperable Addresses in your application.

$ npm install @wonderland/interop-addresses
View Documentation →

Frequently Asked Questions

Why two separate ERCs?

ERC-7930 provides the foundational binary format that works everywhere. ERC-7828 adds ENS integration for better UX. You can use 7930 alone, or enhance it with 7828.

What about chain abstraction?

These ERCs complement chain abstraction. While abstraction hides complexity, interoperable addresses ensure safety when users DO need to know which chain they're using. Think of it as "abstraction with transparency."

Do I need to use ENS?

No. ERC-7930 works with raw addresses. ENS (via ERC-7828) is optional but recommended for better UX.

Does this work with non-EVM chains?

Yes! Both ERCs can support addresses on Bitcoin, Solana, and any CAIP-supported chains.

What kind of developers can use Interoperable Addresses?

Wallet and app developers can use Interoperable Addresses (ERC-7828 + ERC-7930) to create standardized and legible send flows. Infrastructure developers can simplify cross-chain interactions using the compact ERC-7930 binary standard.

How do I get started as a developer?

Install our SDK: npm install @wonderland/interop-addresses. See docs for implementation examples.

What if a name resolves to different addresses?

The standard includes 4-byte checksums calculated over the binary format. If a name resolves to a different address or there's an error, the checksum won't match and will alert about the problem. Checksums help prevent errors and detect inconsistencies in resolution.