ERC-4804 defines how a web3:// URL is translated into a read-only call to an Ethereum Virtual Machine (EVM) contract. The URL can identify a contract by address or by a name resolved through a supported naming service, and can describe a method and its arguments. A compatible client turns that information into the destination address and call data for the EVM message.
How it works
The standard gives a URL a scheme, a contract name or address, an optional chain ID, a path, and optional query attributes. For example, a path can name a read method and provide arguments. A client resolves the target, encodes the method call, executes a read, and interprets the returned data. This can expose on-chain content, such as contract-generated HTML or SVG, through a URL-style interface.
Names can use ENS resolution, while a URL can also specify a contract address directly. The standard requires the client and target contract to follow its resolution rules; an ordinary web browser does not necessarily support the scheme automatically.
Scope and limitations
ERC-4804 defines read-only semantics for view calls. It does not standardize state-changing transactions, host files, or guarantee that a site is fully decentralized. A web3:// URL identifies a way to make a contract read; access still depends on compatible software, a reachable chain or RPC path, and the contract’s behavior.
Why it matters
Many Web3 front ends rely on conventional websites and services to turn a user request into a blockchain read. ERC-4804 describes a common URL-shaped translation for direct contract reads. It is a narrow interface standard, not a replacement for the entire Web3 stack.
History
- 2022 — ERC-4804 was created to specify how a Web3-style URL maps to an EVM call. It is now a Final ERC.
Common Misconceptions
“A web3:// URL means the content is automatically hosted on-chain and opens in any browser.” The standard describes a read-only contract call. A compatible client, name-resolution path, and working chain connection are still needed; the URL scheme alone does not host files or guarantee decentralization.
Criticisms
- Ordinary browsers do not necessarily resolve web3:// URLs without a compatible extension, application, or gateway.
- A read depends on contract behavior and access to an RPC or other chain connection, so the URL format alone does not remove infrastructure dependencies.
Social Media Sentiment
Sampled Ethereum discussions present web3:// as a route to fully on-chain front ends and user-controlled content. They also surface practical questions about browser support, gateways, and how this approach compares with hosting content through IPFS and ENS. The enthusiasm is about the possibility; the usability debate is about the extra client and infrastructure support still required.
Last updated: 2026-10
Related terms
See Also
Sources
- ERC-4804 specification — defines the URL format, contract-call translation, resolution modes, and read-only scope.
- ERC-137: Ethereum Domain Name Service — defines the ENS naming system that ERC-4804 lists as a resolution dependency.
- EIP-1193: Ethereum Provider JavaScript API — describes a common interface for connecting applications to Ethereum clients.
- r/ethereum discussion of web3:// access — a sampled thread about gateways, browser support, naming choices, and on-chain examples.