Skip to main content
Recovery is the process of regaining signing access to a wallet when the original signer is no longer available. The most common trigger is a user switching to a new device — the device signer on the old phone or laptop cannot be transferred, so the user must authenticate with their recovery method and enroll a new device key. Operational signers handle day-to-day wallet actions. See Signers for that side of the model.

What a Recovery Method Is For

A recovery method can authorize:
  • Adding a new operational signer, such as a new device.
  • Removing an operational signer.
  • Adding or removing another recovery method.
  • Restoring access when no operational signer is available.
For the recovery flow, including detection, authentication, and device re-enrollment, see Recover a Wallet.

Recovery Method Types

Multiple Recovery Methods

Wallets can have one or more recovery methods — for example several email addresses and phone numbers — and a single method is enough to authorize any recovery operation. Recovery methods are configured through the wallet’s recoveryMethods configuration. In the SDK, wallet.signers() returns the wallet’s operational signers and wallet.recoveryMethods returns the wallet’s recovery methods.
Multiple recovery methods are available on Solana and Stellar. EVM wallets accept a single recovery method today; support for multiple recovery methods on EVM is coming soon.

Recovery and Custody

Recovery authorization is enforced onchain. Crossmint cannot bypass the configured recovery methods. Whoever controls a recovery method can also change signers and send transactions. Account for that authority when choosing a Custody Model.
Recovery methods are registered in the wallet’s onchain signer set. The REST API field is recoveryMethods. Authorization is enforced by the smart contract. Email and phone methods derive their key inside a TEE.

See Also

Configure Recovery

Set up recovery methods for a wallet

Wallet Recovery

Recover wallet access when an operational signer is unavailable

Operational Signers

Choose signers for day-to-day wallet actions