{"id":"ERC-7930","name":"Chain-Specific Address Format","status":"Draft","chain":"both","category":{"id":"cross-chain","name":"Cross-Chain","description":"Moving assets and messages between chains"},"journeyStages":[{"id":"authentication","name":"Authentication & Identity","description":"Proving who you are and logging in"},{"id":"status","name":"Status & Confirmation","description":"Waiting for and confirming outcomes"}],"uxImpact":"Address format that makes the target chain explicit to users — prevents wrong-chain sends by encoding chain context directly in the address. Design implications: display chain-specific addresses with visible chain identifiers, validate address format against target chain before sending, show clear warnings when address chain doesn't match current network. Design decisions: how to display the chain prefix (icon, name, or code), whether to auto-convert between formats, handling addresses that exist on multiple chains. High priority — 'Prevents wrong-chain sends.' Complements EIP-1191 (chain-specific checksum) — while 1191 encodes chain ID in the checksum, 7930 provides a full address format standard that makes the chain explicit.","hasDetailedContent":true,"content":{"id":"ERC-7930","sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-7930","type":"official-spec"}],"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25","summary":"Address format that makes the target chain explicit to users — prevents wrong-chain sends by encoding chain context directly in the address.","designerTakeaways":["You can display chain icon plus shortened address with chain prefix visible in confirm step.","Your paste validator can reject format when prefix chain mismatches wallet network.","You can offer copy as chain-specific or universal format with user preference."],"applicability":{"whenToUse":["Multi-chain send and receive flows.","Wrong-chain sends are critical risk.","Wallets adopt ERC-7930 formatted addresses."],"whenToAvoid":["Legacy hex-only addresses only.","Single-chain app with no cross-chain send.","Format not supported by target wallets."]},"prototypeFirst":[{"screen":"Formatted address display","why":"Every address shown should encode chain context.","covers":["With prefix","Legacy fallback"],"include":["Chain icon","Prefix label","Truncated hex","Copy button"]},{"screen":"Paste validation mismatch","why":"Catch wrong chain before compose completes.","covers":["Match","Mismatch","Invalid format"],"include":["Red inline error","Expected vs got chain","Switch or fix CTA"]},{"screen":"Send confirm with chain emphasis","why":"Last chance before irreversible send.","covers":["Confirm step"],"include":["Large chain badge","Full formatted address","This sends on [chain] copy"]},{"screen":"Copy format picker","why":"Power users need universal vs chain-specific copy.","covers":["Settings preference"],"include":["Copy format toggle","Preview string","Save preference"]}],"mentalModel":[{"label":"Chain prefix","description":"Part of address string identifying target network."},{"label":"Legacy address","description":"Raw 0x hex — ambiguous across chains."},{"label":"Formatted address","description":"7930 string — chain explicit to human and parser."},{"label":"Validation","description":"Parser checks prefix matches intended send chain."},{"label":"Conversion","description":"Wallets may convert between legacy and formatted views."}],"statesToDesign":[{"state":"Valid formatted address — match","trigger":"Prefix matches active chain.","userNeed":"Send confidently.","designResponse":"Green validation; proceed."},{"state":"Prefix mismatch","trigger":"Address for different chain.","userNeed":"Not send on wrong chain.","designResponse":"Block with This address is for [chain] message."},{"state":"Legacy address pasted","trigger":"No prefix.","userNeed":"Pick chain or convert.","designResponse":"Prompt select network or upgrade format."},{"state":"Invalid format","trigger":"Malformed string.","userNeed":"Fix paste.","designResponse":"Invalid address format inline error."},{"state":"Copy formatted","trigger":"User copies receive address.","userNeed":"Share unambiguous address.","designResponse":"Copy includes chain prefix by default."}],"designDecisions":[{"question":"Display prefix as icon, name, or code?","recommendation":"Icon plus short name in UI; code in advanced.","rationale":"Icons scan fast; chainId codes confuse."},{"question":"Auto-convert legacy to formatted?","recommendation":"Suggest upgrade on paste, do not silent convert.","rationale":"Conversion errors send to wrong encoding."},{"question":"Hide prefix in compact views?","recommendation":"Never on send confirm; optional in lists with chain column.","rationale":"Confirm step needs maximum clarity."}],"problemsSolved":[{"problem":"Ambiguous 0x address across chains","oldWay":"Same hex valid everywhere","newWay":"Chain embedded in address format","impact":"critical"},{"problem":"Wrong-chain loss from copy-paste","oldWay":"Sent ETH mainnet to Base user address","newWay":"Prefix mismatch blocks before sign","impact":"critical"},{"problem":"Support cannot tell intended chain","oldWay":"User sends hex only","newWay":"Formatted address self-documents chain","impact":"medium"}],"uxPatterns":[{"name":"Chain-Prefixed Address Display","description":"Icon and prefix with truncated hex.","mockup":"concept/bridge","components":["ChainIcon","AddressPrefix","CopyButton"],"userFlow":["Display address","Prefix visible","User copies","Recipient parses chain"]},{"name":"Format Validation Gate","description":"Block send on prefix mismatch.","mockup":"concept/verify-safety","components":["FormatValidator","MismatchBanner","SwitchChainCTA"],"userFlow":["Paste address","Validate prefix","Mismatch blocks","User fixes or switches"]}],"seenInTheWild":[{"app":"CAIP-10","url":"https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-10.md","note":"Chain-agnostic account ID patterns inform prefix display."},{"app":"EIP-1191","url":"https://eips.ethereum.org/EIPS/eip-1191","note":"Chain-specific checksum complement to format standard."},{"app":"Ledger","url":"https://www.ledger.com/","note":"Hardware wallet chain verification on confirm."}],"antiPatterns":[{"pattern":"Stripping prefix on display","why":"Defeats purpose of format","instead":"Always show prefix on send and receive","severity":"critical"},{"pattern":"Silent legacy conversion","why":"Wrong encoding sends to void","instead":"Explicit convert with preview","severity":"high"},{"pattern":"Chain id number as only prefix","why":"Users do not know chain ids","instead":"Icon plus network name","severity":"medium"}],"vocabulary":[{"use":"[Chain] address","avoid":"7930-encoded CAIP string","why":"Human chain attribution."},{"use":"Wrong network for this address","avoid":"Prefix chainId mismatch","why":"Plain error language."},{"use":"Copy with network","avoid":"Export formatted blob","why":"Share action language."}],"onMonad":[{"aspect":"Monad prefix adoption","ethereum":"New format rollout uneven","monad":"Ship Monad prefix in receive flows at launch","designImplication":"Default copy includes monad: prefix on Monad wallet."},{"aspect":"Validation speed","ethereum":"Format check negligible","monad":"Same — validate on every paste instantly","designImplication":"Real-time prefix validation on Monad send forms."}],"technicalNotes":"ERC-7930 is draft High priority; show chain prefix on confirm step always.","relatedStandards":[{"id":"ERC-7828","relationship":"Resolution uses formatted addresses"},{"id":"EIP-1191","relationship":"Chain-specific checksum"}]},"sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-7930","type":"official-spec"},{"label":"Discussion","url":"https://ethereum-magicians.org/search?q=ERC-7930","type":"discussion"},{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-7930","type":"official-spec"}],"urls":{"canonical":"https://www.eipsfordesigners.com/standards/ERC-7930","markdown":"https://www.eipsfordesigners.com/standards/ERC-7930/content.md","agent":"https://www.eipsfordesigners.com/standards/ERC-7930/agent.md","api":"https://www.eipsfordesigners.com/api/standards/ERC-7930","official":"https://eips.ethereum.org/EIPS/erc-7930","discussion":"https://ethereum-magicians.org/search?q=ERC-7930"},"freshness":{"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25"}}