Skip to content
Blockchain

Why does a valid signature on one chain still authorize a transfer on another?

85

Opportunity

Cross-chain bridges sign messages to authorize transfers, but most protocols do not include the destination chain ID or action type inside the signed payload itself. An attacker who sees a legitimate signed message can broadcast it to a different chain or replay it as a different action, and the receiving contract cannot distinguish the replay from a fresh authorization. The CrossCurve bridge lost $3M in February 2026 this way, and replay-class bridge incidents have totaled over $180M with a median six-week window from deployment to first exploit. ERC-7281 standardizes cross-chain token interfaces but does not mandate domain-separated signing across the broader message layer. No enforced standard today requires that every signed cross-chain payload carry a chain ID and action-type commitment that makes re-broadcasting structurally invalid.

Why it matters

Domain-separated signing is the missing primitive that makes a signed cross-chain message valid exactly once on exactly one chain.

How I score the opportunity

The Opportunity Score is my own read, not a measurement: how much it hurts, how often it bites, and how little exists to solve it today. Higher means I think it is more worth building.

Severity9/10

How much pain it causes when it shows up.

Frequency7/10

How often people actually run into it.

Whitespace8/10

How little good tooling exists for it today.

More problems worth solving