Conversation
This ENSIP extends the addr() resolver profile to use Interoperable Addresses (ERC-7930) instead of coinType (ENSIP-11) for chain selection. - Defines addr(bytes32 node, bytes chain-identifier) -> bytes - Chain-identifier is an ERC-7930 Interoperable Address with zero-length address - Returned address bytes MUST be in CAIP-350 binary format - Enables ENS compatibility with the wider ERC-7930 ecosystem Made-with: Cursor
Made-with: Cursor
- Expand Motivation: no widely accepted chain ID standard; ENS coinTypes filled the gap; ERC-7930 provides Ethereum-wide standard - Abstract: clarify extended vs non-extended resolver support - Add ENSIP-10 links throughout - Simplify invocation: direct addr() calls or ENSIP-10 resolve() - Remove CCIP-Read, gateways from scope (addr-focused) Made-with: Cursor
- Add 'When invoked' section with resolver requirements - Resolver MUST return empty bytes when no address stored (matches ENSIP-9) - Security Considerations: reference ENSIP-1, ENSIP-9 for empty-return behavior Made-with: Cursor
TMerlini
pushed a commit
to TMerlini/ensips
that referenced
this pull request
Jul 11, 2026
Per the repo README, ENSIP numbers are assigned by a maintainer at merge. Rename ensips/27.md -> ensips/agent-card-schema.md and move the heading to the ENSIP-X placeholder (matching the Add-ENSIP convention, e.g. ensdomains#68) to clear the self-numbered collision. Content unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new ENSIP draft: Interoperable Address Profile (
ia-addr-profile.md).What it does
Extends the
addr()resolver profile to use ERC-7930 Interoperable Addresses (chain-identifier) instead ofuint256coinType (ENSIP-9, ENSIP-11) when specifying the target chain for address resolution.New profile
addr(bytes32 node, bytes chainIdentifier) -> bytes— resolves an ENS name to address bytes for a chain identified by an ERC-7930 chain-identifier (Interoperable Address with zero-length target).Rationale
There has been no widely accepted standard for a globally unique binary address format for chain identification. ENS coinTypes filled this role with an ENS-specific solution. ERC-7930 Interoperable Addresses provide an Ethereum-wide standard that is increasingly adopted. Using it for ENS resolution aligns ENS with the broader ecosystem.
Backwards compatibility
Additive only: existing
addr(node)andaddr(node, coinType)remain unchanged. Resolvers may opt in by supportingaddr(node, chain-identifier).Invocation
Works with both extended (ENSIP-10) and non-extended resolvers: direct
addr()calls or via ENSIP-10resolve().