Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Resolution Metadata

Resolution metadata is auxiliary data returned alongside a resolved Decentralized Identifier (DID) document, providing context about the resolution process itself.
Chainscore © 2026
definition
BLOCKCHAIN DATA LAYER

What is Resolution Metadata?

Resolution metadata is the structured data layer that provides the context and provenance for on-chain identifiers, enabling applications to resolve human-readable names or addresses into actionable information.

Resolution metadata is the structured data returned when a blockchain naming system, such as the Ethereum Name Service (ENS) or Unstoppable Domains, resolves a human-readable domain name (e.g., alice.eth) to its underlying resource. This data extends beyond a simple address lookup, providing a rich set of attributes that define what the identifier points to and how it should be interpreted by wallets, browsers, and decentralized applications (dApps). Core components of this metadata often include the canonical cryptocurrency addresses (for Bitcoin, Ethereum, etc.), content hashes for decentralized storage (like IPFS or Arweave), and text records for associated information such as email, website URLs, or social media handles.

The technical implementation of resolution metadata is typically governed by a set of standardized smart contract interfaces. For ENS, the primary resolver contract adheres to the EIP-137 and EIP-2304 standards, which define functions like addr(), text(), and contenthash(). When an application queries alice.eth, it first checks the ENS registry to find the assigned resolver contract, then calls the appropriate function on that resolver to retrieve the specific metadata record. This two-step process decouples the domain ownership record from the data it points to, allowing for flexible updates without transferring the domain itself.

This metadata layer is fundamental for user experience (UX) and interoperability in Web3. It allows a single, memorable name to manage a complex digital identity across multiple chains and services. For example, a .eth domain's resolution metadata can contain an EVM address for Ethereum, a Bitcoin address for receiving BTC, an IPFS hash for a hosted website, and a Discord handle for verification. Wallets and dApps consume this metadata to simplify transactions, verify identities, and display verified profile information, moving beyond the raw, inscrutable hexadecimal addresses native to blockchain protocols.

Advanced use cases leverage resolution metadata for delegation and permissions. A resolver can be programmed to return different metadata based on the querying context, such as the caller's address or the specific function invoked. This enables subdomain management, where payments.alice.eth resolves to a multi-signature wallet while blog.alice.eth points to a blog. Furthermore, cross-chain resolution protocols are emerging that allow a name registered on one blockchain (e.g., Solana's Bonfida for .sol domains) to resolve to addresses and resources on entirely separate networks, with the resolution metadata acting as the unifying layer.

The integrity and availability of resolution metadata are critical, as they represent the source of truth for a decentralized identifier. While the domain ownership record is secured on the base blockchain layer (e.g., Ethereum mainnet), the metadata itself is stored on the designated resolver contract. This introduces considerations for data permanence and upgradability. Users must trust the resolver's continued operation, and best practices often involve using well-audited, non-custodial resolver contracts or even immutable resolvers that lock records permanently on-chain to ensure long-term accessibility.

how-it-works
CHAINSCORE GLOSSARY

How Resolution Metadata Works

A technical breakdown of the structured data that enables the Chainscore API to resolve on-chain identifiers into human-readable information.

Resolution metadata is the standardized data structure returned by the Chainscore API when it resolves a blockchain identifier, such as an address or transaction hash, into its constituent human-readable components. This process, known as entity resolution, transforms raw on-chain data—like the hex string 0x...—into a structured object containing labels, categories, tags, and risk scores. The metadata acts as a universal translator, providing consistent, enriched context for any address or transaction across supported blockchains.

The core of resolution metadata is the entity object, which classifies the resolved target. Key fields include a primary label (e.g., "Uniswap V3: Router"), a category (e.g., DeFi, CEX, Wallet), and descriptive tags (e.g., router, permit2, flash_loan). For risk assessment, the metadata includes a chainscore—a probability score for malicious activity—and a risk_level (e.g., LOW, CRITICAL). This structured output allows developers to programmatically understand and act upon the nature of any on-chain interaction.

Beyond basic identification, resolution metadata provides critical contextual links. It includes the canonical identifier (the original query input), the resolved name from primary sources like ENS, and direct links to the entity's profile on explorers like Etherscan. For advanced analysis, metadata can contain nested data such as token_details for token contracts or protocol_details for DeFi applications, offering a multi-layered view of the entity's role and composition within the ecosystem.

The generation of this metadata involves querying Chainscore's proprietary Entity Graph, a continuously updated knowledge base that maps relationships between addresses, contracts, and known entities. When a resolution request is made, the system performs a lookup against this graph, aggregates data from on-chain and off-chain sources, applies classification models, and compiles the results into the unified metadata schema. This ensures the information is not just a static label but a dynamic, intelligence-rich snapshot.

For developers, integrating resolution metadata means replacing opaque addresses with actionable intelligence. Use cases are extensive: filtering transaction lists by category to isolate DeFi activity, triggering alerts based on risk_level, personalizing user interfaces with entity labels, or auditing fund flows by tracing through resolved counterparties. By returning this enriched metadata in a single API call, Chainscore turns raw blockchain data into immediately usable business logic, powering safer and more insightful applications.

key-features
BLOCKCHAIN IDENTIFIERS

Key Features of Resolution Metadata

Resolution metadata provides the technical and contextual data required to resolve a blockchain identifier (like an ENS name or a CAIP-10 account) into its underlying on-chain resources and attributes.

01

Decentralized Identifier (DID) Resolution

The core function of resolution metadata is to map a human-readable or standardized identifier to its controller's DID document. This document contains public keys, service endpoints, and verification methods essential for authentication and interaction. The process follows the W3C DID Core specification, enabling interoperability across different blockchain networks and identity systems.

02

Chain-Agnostic Addressing (CAIP)

Metadata adheres to the Chain Agnostic Improvement Proposal (CAIP) standards, such as CAIP-10 for account IDs. This ensures identifiers like eip155:1:0x... or bip122:000000000019d6689c085ae165831e93:... are parsed and resolved correctly across any supported chain. It provides a universal namespace, separating the chain namespace, chain reference, and account address.

03

On-Chain & Off-Chain Data Sources

Resolution can query multiple sources:

  • On-Chain: Smart contract state (e.g., ENS Registry), account balances, or token ownership.
  • Off-Chain: Decentralized storage (IPFS, Arweave) for profile metadata or service configurations.
  • Hybrid: A resolver contract may return an IPFS hash, which is then fetched off-chain. This separation optimizes for cost and data richness.
04

Content Hash & Text Records

A critical metadata field is the content hash, which points to a website (IPFS, Swarm) or other static content associated with an identifier (e.g., an ENS name's hosted website). Text records store arbitrary key-value pairs, such as:

  • email
  • url
  • avatar
  • com.github
  • description These enable rich, user-defined profile data.
05

Resolver Contracts & Protocols

Resolution is executed by resolver contracts (like ENS's PublicResolver) that implement standard interfaces (e.g., addr(bytes32), text(bytes32,string)). Different resolution protocols exist, such as:

  • ENS's L2 (EIP-3668 - CCIP Read)
  • Unstoppable Domains
  • Decentralized Web Nodes (DWNs) Each protocol defines how metadata is fetched and verified.
06

Verification & Proof Mechanisms

To ensure data integrity, resolution metadata often includes or enables cryptographic verification. This can involve:

  • Digital signatures within a DID document.
  • Merkle proofs for state inclusion from a blockchain.
  • Timestamp proofs for data existence. Verification allows applications to trust the resolved data without relying on a central authority.
common-properties
BLOCKCHAIN IDENTIFIERS

Common Resolution Metadata Properties

Resolution metadata provides the standardized data returned by a blockchain name service (like ENS or Unstoppable Domains) when a human-readable name is resolved to its underlying on-chain resource. These properties form the core payload for decentralized identity and resource mapping.

01

Address Records

The most fundamental property, mapping a name to one or more blockchain addresses. Different cryptocurrency addresses (e.g., ETH, BTC, LTC) are stored under specific record keys defined by the name service's standard.

  • Primary Use: Resolving vitalik.eth to an Ethereum address like 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045.
  • Multi-Chain Support: A single name can resolve to addresses across multiple blockchains (e.g., Bitcoin, Polygon, Solana) using keys like crypto.BTC.address.
02

Content Hash

A content identifier (CID) or IPFS hash that points to decentralized website content, enabling the hosting of censorship-resistant websites. This property is essential for Web3 hosting.

  • Protocols Supported: Typically supports ipfs://, bzz:// (Swarm), ar:// (Arweave), and onion:// (Tor).
  • Function: When resolved by a compatible browser or gateway (like Cloudflare's IPFS gateway), the content hash directs the user to the stored website files.
03

Text Records

Key-value pairs for storing arbitrary textual metadata, commonly used for verification and profile information. These are defined by the service's standard or community conventions.

  • Common Examples:
    • email: For a public contact email.
    • url: For a personal or project website.
    • com.github: For a GitHub username.
    • com.twitter: For a Twitter/X handle.
    • description: A short bio or description.
  • Use Case: Wallets and dapps can display this verified profile data alongside an address.
04

Resolver Contract Address

The smart contract address on the blockchain that holds and serves the metadata for a given name. This is a critical technical property, as the resolver is the on-chain source of truth.

  • Dynamic Updating: Owners can update their records by interacting with this resolver contract.
  • Public Registries: Services like ENS maintain public resolver contracts that anyone can use, but users can also set a custom resolver for advanced functionality.
05

Owner Address

The cryptographic address (typically an Externally Owned Account or smart contract) that has control over the domain name. This entity holds the right to update records, transfer ownership, or set a new resolver.

  • Key Management: Loss of access to the owner's private key means loss of control over the domain.
  • Delegation: Ownership can be delegated to a multisig wallet or a DAO's treasury contract for collective management.
06

TTL (Time To Live)

A cache directive (in seconds) that indicates how long a client or service should cache the resolved metadata before checking for updates on-chain. This optimizes performance and reduces gas costs for frequent lookups.

  • Function: Prevents excessive, costly blockchain queries for static data.
  • Typical Values: Can range from a few minutes (300 seconds) to several days. A TTL of 0 forces a fresh on-chain lookup for every request.
DID RESOLUTION

Resolution Metadata vs. DID Document

A comparison of the two primary data structures returned by a DID resolver, highlighting their distinct purposes and contents.

Feature / ComponentResolution MetadataDID Document

Primary Purpose

Describes the resolution process and result

The core identity data for the DID subject

Defined In

DID Core Specification (Metadata Section)

DID Core Specification (DID Document Section)

Content Type

Process and resolver information

Verification methods and service endpoints

Example Fields

resolverIdentifier, contentType, duration

id, verificationMethod, service, authentication

Mutable by Design

Contains DID Document

Standardized Structure

Partially (flexible properties)

Yes (strict JSON-LD or JSON schema)

Used for Verification

purpose-and-utility
RESOLUTION METADATA

Purpose and Utility

This section defines the core function and practical application of resolution metadata, the structured data that enables the resolution of on-chain identifiers to their corresponding off-chain resources.

Resolution metadata is the structured data payload attached to a blockchain transaction that provides the necessary information for a resolver contract to map an on-chain identifier, such as an Ethereum Name Service (ENS) domain or a Decentralized Identifier (DID), to its associated off-chain resource. This metadata typically includes the Content Hash, Text Records, and Resolver Address that define where and how the identifier's data is stored and retrieved. It acts as the programmable link between the immutable identifier on the ledger and the mutable data it represents.

The primary utility of resolution metadata is to enable human-readable addressing and dynamic data association without requiring changes to the core blockchain protocol. For example, an ENS domain's metadata can point to an IPFS hash for a website, store cryptocurrency addresses for various chains (like ETH, BTC, or SOL), or hold profile information such as an email or Twitter handle. This decouples the permanent identifier from the potentially changing resource, allowing users to update their website URL or payment addresses without altering the primary name record on-chain.

From a system architecture perspective, resolution metadata facilitates interoperability and verifiability. By standardizing the structure of this data—often through protocols like ERC-721 for NFTs or ERC-634 for on-chain storage—different applications and wallets can reliably parse and display consistent information. This creates a trust-minimized layer for identity, asset ownership, and resource discovery, as the metadata's integrity and provenance are cryptographically secured by the underlying blockchain.

ecosystem-usage
RESOLUTION METADATA

Ecosystem Usage and Examples

Resolution metadata is the structured data attached to a resolved name, enabling applications to retrieve essential information like wallet addresses, content hashes, and service endpoints. This section details its practical implementations across the Web3 stack.

04

Smart Contract Interactions & ABIs

Developers can store contract ABIs (Application Binary Interfaces) or direct smart contract addresses as metadata. This allows dApps to:

  • Dynamically discover and interact with the latest version of a protocol's contracts.
  • Fetch the correct ABI to decode transaction data and events.
  • Resolve names for gas abstraction paymasters or delegatecall proxy contracts.
05

Social Profiles & Attestation Frameworks

Frameworks like Ethereum Attestation Service (EAS) or Verax use resolution metadata to link names to on-chain attestations. A resolver can return a record pointing to a user's:

  • Social handles (Twitter, GitHub, Telegram).
  • Proof-of-personhood attestations.
  • Reputation scores or credit scores from lending protocols. This builds a rich, verifiable social graph anchored to a primary identity.
06

Cross-Protocol Standardization (ENS vs. Unstoppable Domains)

Different naming services implement resolution metadata differently. Key standards include:

  • ENS (EIPs): Uses a Resolver contract with standardized interfaces (EIP-137, EIP-2304).
  • Unstoppable Domains: Uses a centralized JSON metadata API for resolution, with on-chain minting.
  • Lens Protocol: Uses the Profile Metadata standard for social graph data. Interoperability is achieved through wallets and libraries that support multiple resolution paths.
RESOLUTION METADATA

Frequently Asked Questions

Resolution metadata is the structured data that describes the outcome and context of a smart contract function call. This section answers common questions about its components and uses.

Resolution metadata is the structured data returned by a smart contract function call that describes the outcome of that call, beyond just the primary return value. It provides critical context about the execution, such as whether it succeeded, how much gas was used, and any emitted events. This metadata is essential for developers and indexers to verify, debug, and interpret on-chain interactions accurately. For example, when you call a token transfer function, the resolution metadata would confirm the transaction's success and log the Transfer event details, which are separate from the function's simple boolean return value.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team