New ERC: Attributes for Message Control in ERC-7786 gateways

TL;DR: Standardizing attributes for ERC-7786 cross-chain messaging gateways to enable consistent message lifecycle control, execution timing, and failure handling.

Background

ERC-7786 introduced an extensible attribute system for cross-chain messaging but left attribute standardization for follow-up specs. Through discussions with Matter Labs’ team and analysis of real-world requirements, clear patterns have emerged for essential message control functionality.

What We’re Proposing

7 standard attributes that address the most common cross-chain messaging needs:

  • cancellable(bool) - Enable message cancellation
  • timeout(uint256) - Automatic expiration timestamps
  • earliestExecTime(uint256) - Delayed execution scheduling
  • retryPolicy(bytes) - Standardized retry mechanisms
  • revertBehavior(uint8) - Consistent failure handling
  • dependsOn(bytes32[]) - Message dependency ordering
  • minGasLimit(uint256) - Execution gas requirements

Without standardized attributes, each gateway implements these features differently, creating ecosystem fragmentation. Applications need predictable APIs for message control, especially for complex multi-chain workflows.

Looking for feedback on: attribute design, encoding choices, additional use cases we might have missed, and general community input on the approach.