EIP-3326 primary sources — 2026-05-09
Project status in this pass
- No standalone EIP-3326 whitepaper or litepaper surfaced.
- The clearest source of truth was the canonical EIP, with MetaMask documentation useful for confirming that the method remains part of real wallet-dapp integrations.
- The sources consistently frame EIP-3326 as a wallet-controlled active-chain switching interface.
Primary-source snapshots
1) Canonical EIP page
- URL: https://eips.ethereum.org/EIPS/eip-3326
- Key excerpt/signals:
- The simple summary says it is an RPC method for switching the wallet’s active Ethereum chain.
- The abstract says the caller specifies a chain ID, the wallet may refuse or accept, and
nullis returned on success. - The page is marked
Stagnant, which matters because the method still appears in production wallet docs.
- Why it mattered:
- This is the clearest source-level evidence that EIP-3326 standardizes a narrow but important wallet routing boundary.
2) Raw EIP text / active-chain semantics
- URL: https://raw.githubusercontent.com/ethereum/EIPs/master/EIPS/eip-3326.md
- Key excerpt/signals:
- The EIP says it presupposes the wallet has a concept of a single active chain.
- It defines the active chain as the chain the wallet is forwarding RPC requests to.
- The method uses a single object parameter containing only
chainId.
- Why it mattered:
- This shows EIP-3326 is about execution-context handoff, not chain metadata management.
3) Raw EIP text / wallet authority boundaries
- URL: https://raw.githubusercontent.com/ethereum/EIPs/master/EIPS/eip-3326.md
- Key excerpt/signals:
- The requested
chainIdMUST be a hexadecimaleth_chainIdvalue. - The chain MUST be known to the wallet.
- The wallet MUST be able to switch to that chain and service RPC requests there.
- If the wallet does not have a concept of an active chain, it MUST reject the request.
- The requested
- Why it mattered:
- These requirements make clear that dapps can request context switches, but wallets retain authority over which chains exist and whether switching is even meaningful.
4) Raw EIP text / relationship to EIP-3085 and security model
- URL: https://raw.githubusercontent.com/ethereum/EIPs/master/EIPS/eip-3326.md
- Key excerpt/signals:
- The rationale explicitly points to EIP-3085 and EIP-2015 as related work, while saying EIP-3326 intentionally omits chain metadata because it is purely about switching the active chain.
- The security section says wallets should display a confirmation clearly identifying the requester and the destination chain.
- It also says wallets should cancel all pending RPC requests and chain-specific user confirmations when switching occurs.
- Why it mattered:
- This is the strongest evidence that chain switching is a separate control surface whose real complexity lies in invalidating old execution context safely.
5) Raw EIP text / privacy considerations
- URL: https://raw.githubusercontent.com/ethereum/EIPs/master/EIPS/eip-3326.md
- Key excerpt/signals:
- Automatically rejecting unsupported or not-yet-added chains lets requesters infer which chains the wallet supports.
- The EIP says implementers should consider whether that communication channel violates wallet security properties.
- Why it mattered:
- This makes wallet refusal behavior part of the standard’s practical trust surface, not just an implementation detail.
6) MetaMask documentation
- URLs:
- Key excerpt/signals:
- MetaMask exposes a direct
provider.request({ method: 'wallet_switchEthereumChain', ... })example. - The network-management guide says MetaMask Connect supports both switching and adding networks, and its
switchChainhelper can take chain configuration for unknown chains.
- MetaMask exposes a direct
- Why it mattered:
- This is strong practical evidence that EIP-3326 remains a live wallet-dapp integration standard, and that production UX often combines switching with EIP-3085-style add flows when needed.
Working conclusion
EIP-3326 is best cataloged as active-chain routing control-plane infrastructure. The decisive evidence in this pass was its narrow request surface, explicit definition of active-chain semantics, wallet-first authority over known chains, security guidance around canceling in-flight confirmations, and continued use in MetaMask’s current integration docs.