[ethresear.ch] [Security] ERC draft: Account Authority Lifecycle for STVA
November 1
Description:
A standard model and interface for the full lifecycle of authority over an account: issuance, activation, attenuation (via Scoped Capabilities), review, suspension, revocation, and recovery. Prevents authority drift (stale owners, modules, or keys that outlive their intended purpose).
Provides the governance backbone that makes Scoped Capability Tokens and independent simulation operationally meaningful for high-value accounts and multisigs.
author: @MATOBOYCRYPTO65
discussions-to: ERC draft: Account Authority Lifecycle for STVA - ERCs - Fellowship of Ethereum Magicians
status: Draft
type: Standards Track
category: ERC
created: 2026-10-31
Abstract:
Defines states, transitions, and mandatory checks for authority over EOAs (via EIP-7702), smart accounts, and multisigs. Authority changes that are high-risk MUST pass independent simulation and, where applicable, be exercised only through Scoped Capability Tokens.
Motivation:
Many losses stem from residual or overly broad authority that was never cleanly revoked or reviewed. Lifecycle discipline turns one-time setup into continuous least-privilege management.
Specification:
States: Uninitialized Active Attenuated (capability-only) Suspended Revoked Recovered.
Mandatory events and view functions for current authorities (owners, modules, guardians, session keys).
High-privilege transitions (add owner, change threshold, install module, upgrade implementation, set EIP-7702 delegation)
REQUIRE:
Independent Simulation Result matching the proposed change.
Explicit Scoped Capability (or multi-party ceremony) authorizing exactly that change.
Optional time-lock or dual-control.
Review cadence: accounts MAY expose a lastAuthorityReview timestamp; Strict compliance surfaces stale authority.
Recovery path must itself be capability-scoped and simulatable.
Interface:
interface IAccountAuthorityLifecycle
enum AuthorityState Uninitialized, Active, Attenuated, Suspended, Revoked
function authorityState external view returns (AuthorityState);
function listAuthorities external view returns (address memory, bytes32 memory roles);
function lastReviewTimestamp external view returns (uint48);
High-privilege changes must be called with a valid Scoped Capability
function transitionAuthority
bytes32 capabilityHash,
bytes calldata capabilitySig,
SimulationResult calldata simResult,
bytes calldata newAuthorityData
external;
event AuthorityTransitioned(AuthorityState from, AuthorityState to, bytes32 capabilityHash);
event AuthorityReviewed(uint48 timestamp);
Discussion points:
Mapping onto existing Safe ERC-7579 module systems.
Whether lifecycle state is on-chain mandatory or off-chain recommended with on-chain commitments.
Integration with recovery modules and social recovery.
Visit Topic to respond.
You are receiving this because you enabled mailing list mode.