Skip to main content
Recovery builds the calls required to add the new owners, update the threshold, and remove old owners. Submit every returned call as a separate guardian-signed UserOperation in the order returned. Before starting, confirm that recovery is set up on this chain and that the SDK has a bundler. Guardian signers cannot authorize prepareTransaction, signMessage, or signTypedData.
newOwners is the complete target owner set. Existing owners omitted from it are removed.

Ordering and signing constraints

  • Send exactly one returned recovery call per UserOperation. The recovery validator authorizes one account execute call, so batching the array is rejected on-chain.
  • Preserve the returned order and wait for each UserOperation before sending the next. Additions run before threshold changes and removals to keep the validator configuration valid throughout the rotation.
  • Pass at least the configured guardian threshold. Every guardian in the guardians array is asked to sign.
  • Recovery is complete only after the final call lands. Old and new owners can both remain valid during the sequence.
  • If a call fails, do not regenerate a different sequence against stale state. Read the account state again and rebuild the remaining recovery calls.

Nexus accounts

For Nexus with Ownable V0, pass the same module address used by the account configuration:
Ownable V0 does not support legible EIP-712 signing. The SDK uses its personal-sign fallback for typed data and intents.