Skip to main content
Social recovery lets a configurable set of guardians cooperate to rotate the signing key on a smart account when the user loses access. It is implemented as an ERC-7579 validator module (the Rhinestone Social Recovery validator) that you install on top of the Startale Smart Account.
Source: StartaleGroup/scs-aa-sdk. This page uses helpers from @rhinestone/module-sdk which is already a peer of the AA SDK; install it explicitly if your project does not have it yet (npm install @rhinestone/module-sdk).

How it works

A recovery is a UserOperation validated by the Social Recovery module instead of the default validator. The module checks that the bundle of guardian signatures meets the configured threshold; if it does, the UserOperation is executed and rotates the account’s owner key.

1. Pick guardians and a threshold

The configuration is intentionally small:
Validate the configuration before installing the module: ensure addresses are deduplicated, all guardians pass isAddress, and 1 <= threshold <= guardians.length.

2. Install the module

3. Manage guardians at runtime

After installation you can add or remove guardians and adjust the threshold without re-installing the module. The helpers return an Execution ({ to, data, value }), which you wrap in a UserOperation with sendUserOperation.

4. Read the current guardian set

guardians is an Address[] of every guardian currently registered on the account.

5. Execute a recovery

A recovery is a UserOperation that:
  1. Targets the smart account itself.
  2. Calls the account’s owner-rotation method (for example, swapping the active ECDSA validator key).
  3. Is signed by enough guardians to meet the threshold.
The exact signing UX is up to you (each guardian signs typed data offchain, your backend aggregates the signatures, and you submit a single UserOperation). The module’s onchain logic verifies that the aggregated signature represents at least threshold distinct guardians from the registered set before the UserOperation is allowed to execute.
Recovery rotates the active validator key, not the smart account address. The address stays the same; the user just gains a new signer they control.

Operational guidance

Next steps

Smart sessions

Pair recovery with scoped session keys for daily UX.

Sponsored paymaster

Sponsor recovery UserOperations so guardians do not need ETH.

Smart account setup

Refresh the underlying account and client setup.

Contracts and audits

Look up validator and account addresses on each network.