# ERC-7950: Chain ID with Tx Hash

Source: https://www.eipsfordesigners.com/standards/ERC-7950
Agent brief: https://www.eipsfordesigners.com/standards/ERC-7950/agent.md
Machine-readable JSON: https://www.eipsfordesigners.com/api/standards/ERC-7950
Last reviewed: 2026-05-25
Last updated: 2026-05-25

| Field | Value |
| --- | --- |
| Status | Draft |
| Chain | both |
| Category | Cross-Chain |
| Journey stages | Status & Confirmation |
| Detailed guide | Yes |
| Official specification | https://eips.ethereum.org/EIPS/erc-7950 |
| Discussion search | https://ethereum-magicians.org/search?q=ERC-7950 |

## UX Impact

Users can share or receive transaction references as a single portable string that includes chain context — no more 'which chain was this on?' confusion. Design implications: generate shareable tx links in format '1:0xabc123...:tx', auto-detect chain ID when pasting tx references, show chain icon/name when displaying decoded references. Design decisions: whether to auto-redirect to appropriate block explorer, how to handle unrecognized chain IDs, displaying the chain-prefixed format vs hiding complexity behind copy button.

## Summary

Users can share or receive transaction references as a single portable string that includes chain context — no more 'which chain was this on?

## For Designers

- You can generate share links in standard format while showing friendly tx status in UI.
- Your paste field can decode chain-prefixed references and open correct explorer.
- You can hide encoded format behind Copy transaction link button.

## Applicability

### When to Use

- Support and social sharing of transactions across chains.
- Activity feeds span multiple networks.
- Users paste tx refs from other users frequently.

### When to Avoid

- Single-chain app with native explorer links only.
- No multi-chain explorer routing.
- Users never share raw tx references.

## Problems It Solves

### Which chain was this tx on?

Impact: high

Old way: Support asks back and forth

New way: Encoded reference self-documents chain

### Wrong explorer opened

Impact: high

Old way: Etherscan link for Arbitrum tx

New way: Decode routes to correct explorer

### Ugly tx hash only shares

Impact: medium

Old way: 0x hash ambiguous

New way: One copy button produces portable reference

## Anti-Patterns

### Paste hash only without chain decode

Severity: critical

Wrong chain lookup

Instead: Accept and decode 7950 format on paste field

### Showing raw encoded string as primary UI

Severity: high

Users cannot read or verify

Instead: Chain badge plus hash; encode only on copy

### Dead end on unknown chain id

Severity: medium

New chains break support flow

Instead: Fallback hash display and generic search

## Design Decisions

### Show encoded string in UI?

Recommendation: Hide behind copy; show chain badge plus truncated hash.

Rationale: 1:0xabc…:tx frightens non-technical users.

### Auto-open explorer on paste?

Recommendation: Load in-app status first; explorer as secondary action.

Rationale: Keep users in app when possible.

### Pending tx shareable?

Recommendation: Yes with Pending disclaimer in share template.

Rationale: Support needs refs before confirmation.

## States to Design

### Tx confirmed — share ready

Trigger: Inclusion complete.

User need: Share proof.

Design response: Copy transaction link with chain context embedded.

### Paste valid reference

Trigger: User pastes encoded ref.

User need: See tx details.

Design response: Decode show chain badge and hash; load status.

### Malformed paste

Trigger: Invalid format.

User need: Fix input.

Design response: Could not read transaction reference inline error.

### Unknown chain in reference

Trigger: Chain id not in app registry.

User need: Still access hash.

Design response: Unknown network — show hash with generic explorer search link.

### Pending tx share

Trigger: User shares before confirm.

User need: Recipient knows may pending.

Design response: Share link plus Pending label in copied message template.

## Vocabulary

- Use "Transaction link" instead of "7950-encoded reference": Share artifact language.

- Use "On [chain name]" instead of "ChainId prefix": Network name on status rows.

- Use "Look up transaction" instead of "Decode tx reference": Paste field action label.

## What to Prototype First

### Transaction status with share

User shares proof of payment cross-chain.

Covers: Confirmed, Pending, Failed

- Status strip
- Copy transaction link
- Chain badge on status

### Paste tx reference lookup

Support and power users paste refs from tickets.

Covers: Valid decode, Unknown chain, Malformed

- Paste field
- Decoded chain + hash
- Open explorer CTA

### Activity feed tx row

Each row must show chain context.

Covers: Multi-chain feed

- Chain icon on row
- Share icon
- Explorer link

### Unrecognized chain ID

New chains appear before explorer list updates.

Covers: Unknown chain

- Unknown network message
- Raw hash fallback
- Add explorer config admin

## Mental Model

### Tx reference

Portable string tying hash to chain.

### Decode

Parser splits chain id and hash from paste.

### Explorer routing

Correct block explorer opens from decoded chain.

### User-facing link

Copy button hides encoding complexity.

### Cross-app paste

Same string works in wallet, support bot, and explorer.

## Seen in the Wild

- Etherscan: Chain-specific explorer link patterns. (https://etherscan.io/)

- Blockscout: Multi-chain explorer routing. (https://www.blockscout.com/)

- Socketscan: Cross-chain tx tracking UX. (https://socketscan.io/)

## On Monad

### Monad tx shares

Ethereum: Monad txs need chain id in reference

Monad: Include Monad chain id in all share links from day one

Design implication: Copy link on Monad always produces monad-prefixed reference.

### Confirm speed

Ethereum: Pending share window long

Monad: Quick confirm reduces pending share confusion

Design implication: Shorter pending state before share on Monad.

## UX Patterns

### Copy Transaction Link

One button produces chain-prefixed reference.

Components: ShareButton, ChainBadge, TxHashTruncate

User flow:

- Tx confirms
- User taps copy link
- Encoded ref copied
- Recipient pastes and decodes

Mockup registry key: `concept/tx-status` (React UI on the live standard page).

### Paste Tx Reference Lookup

Decode pasted reference to status view.

Components: PasteField, DecodePreview, ExplorerLink

User flow:

- Paste reference
- Decode succeeds
- Status loads
- Optional open explorer

Mockup registry key: `concept/bridge` (React UI on the live standard page).

## Related Standards

- ERC-7930: Chain-aware addresses complement tx refs

- EIP-695: Chain ID in encoded reference

## Technical Notes

ERC-7950 is draft; hide encoded format in UI, use on copy and paste decode paths.
