ERC-7835: Universal On-Chain Metadata Parser Interface

Hi, so happy to share my design of a standardized interface for parsing on-chain metadata, this is greatly inspired by vitalik’s recent article: What I would love to see in a wallet

Abstract

This proposal defines a standardized interface for parsing on-chain metadata (MetaData) relevant to Wallets. The standard consists of two core components:

  • 1.Wallet-level parser interface: wallet_metaDataAbstractParser

A universal entry point that Wallets can use to request metadata parsing.

  • 2.Smart contract-level parsing logic: parserHandler and parserData

Smart contracts that handle specific parsing logic, receiving parameters from Wallets and returning readable metadata.

The aim of this proposal is to establish a general-purpose, trustless, and decentralized metadata parsing standard that enhances user experience, security, and the readability of Ethereum ecosystem metadata.

Motivation

Wallets serve as the primary interface between users and the Ethereum ecosystem. To improve user experience and security, Wallets need to parse various types of on-chain metadata, such as:

  • ENS mappings to addresses.

  • Standard assert’s readable label (eg. ERC-20, ERC-721)

  • On-chain content (e.g., resources like eth.limo).

  • Cross Chain intentions standard like EIP-7683

  • Other human-readable on-chain information.

Currently, Wallets lack a standardized way of parsing metadata, leading to several challenges:

  • 1.Inconvenience: Different Wallets implement metadata parsing differently, resulting in inconsistent user experiences.

  • 2.Security Risks: Scattered parsing logic increases the attack surface for malicious actors.

  • 3.Low Readability: On-chain data is often difficult for users to understand without additional processing.

This proposal aims to solve these problems by creating a standardized, secure, and user-friendly way for Wallets to parse on-chain metadata.

Specification

Workflow

Please check out the full spec in github: