Skip to main content
This guide covers the different signer types Crossmint supports — what they are, how they work, and when to use each one. For a step-by-step decision guide, see Signer Decision Tree. Once you have chosen your signers, head to Registering a Signer to learn how to add them to a wallet.
Terminology update: In previous versions of the Crossmint documentation and SDKs, the terms “admin signer” and “delegated signer” were used. These have been renamed:
  • Admin signer is now called recovery signer.
  • Delegated signer is now called operational signer.
Current SDK method names (such as addDelegatedSigner and delegatedSigners) still use the old terminology. These will be updated in the next breaking API/SDK release. See the Glossary for full definitions.

What Is a Signer?

As a quick refresher from the Architecture overview: signers are keys and other mechanisms that authorize operations on a wallet. They go beyond what most blockchains natively support. Rather than being limited to raw secp256k1 or ed25519 keypairs, Crossmint wallets support a wide range of signing mechanisms — including P-256 keys native to device secure enclaves, passkeys backed by biometrics, cloud key management services, email- and phone-based credentials, and more. This flexibility is intentional. A wallet may need to be controlled by a user on a mobile app, an enterprise treasury team using HSMs, an AI agent running in the cloud, or all three at different times. The signer model is designed to make wallets securely controllable regardless of the operating environment.

Signer Slots in a Wallet

Crossmint wallet signer architecture — operational signers and recovery signers Every Crossmint wallet supports two categories of signers, each serving a different purpose:

Operational Signers

Operational signers handle the day-to-day operations of a wallet — authorizing transactions, signing messages, and interacting with protocols. The right operational signer depends on who or what controls the wallet:
  • User wallets — A key stored on the user’s own device. For example, a passkey backed by Face ID or fingerprint, or a credential derived inside the device’s secure enclave. The user signs each time they transact.
  • Server-side or treasury wallets — A key stored in your cloud infrastructure, such as an environment variable (for lower-stakes use cases) or a cloud key management service like AWS KMS, Azure Key Vault, or GCP Cloud HSM. No user interaction required.
  • AI agent wallets — A key available to the agent at runtime. For example, a securely injected secret that the agent uses to autonomously sign transactions on its own behalf.
When choosing an operational signer, optimize for:

Performance and cost

Operational signers are used for every transaction. They should add minimal latency and not become a throughput bottleneck.

Native fit for the controlling entity

The signer should live where decisions are made. For a user, that is their device. For a server, that is your cloud. For an agent, that is its runtime environment.

Recovery Signers

Recovery signers are used to regain access to a wallet when the operational signer is no longer available — for example, when a user gets a new phone and loses access to their old device key, or when a company rotates an infrastructure key. Recovery signers allow you to enroll a new operational signer on a new device or environment — in a secure and self-custodial way — without changing the smart wallet’s address or losing any of its assets and history. Some examples of recovery signers:
  • Email-based recovery — The user proves ownership of their email address to authorize the enrollment of a new device. A common pattern is to email the user a one-time code when they log in on a new phone.
  • Phone number-based recovery — Similar to email, but via SMS.
  • Managed recovery (contact center) — For enterprise clients or high-value wallets, Crossmint can support recovery flows that involve identity verification through a contact center — for cases where users may need human-assisted recovery if they have lost all credentials.
When choosing recovery signers, optimize for:

Identity guarantees

The most critical property is that only the true wallet owner can trigger a recovery. Choose a mechanism with strong authentication — ideally one that is hard to social-engineer or SIM-swap.

Acceptable friction

Recovery is an infrequent operation. A small amount of added friction is acceptable and often desirable, since it raises the bar for attackers.

Designing Your Wallet Architecture

Crossmint abstracts away the complexity of implementing any of these signers. You do not need to understand the cryptographic internals or manage key derivation, storage, or rotation yourself — you just pick the signer types that make sense for your use case, and Crossmint handles the rest.
When setting up your wallet architecture, the two key decisions are:
  1. What are my operational signers? Pick something that lives where the controlling entity — user, server, or agent — naturally operates.
  2. How will the wallet be recovered? Pick recovery signers that give you strong guarantees that only the legitimate owner can regain access.
Most wallet architectures use one operational signer and at least one recovery signer. For high-security use cases, you may want multiple recovery options (e.g., both email and phone) to reduce the chance of permanent lockout.

Not sure which signers to pick?

Use the decision tree to find the right signer configuration for your use case.

Signer Types

Operational Signers

SignerUser walletsCompany / server walletsAgent walletsCost per signaturePerformance
Device keyFreeHighest — no network round-trip
Passkey✓ (human dashboards)FreeHighest — no network round-trip
Server key✓ (programmatic, lower-risk)FreeHighest — no network round-trip
Cloud KMS✓ (programmatic)Low (~$30 / million ops on AWS)High — ~10 ms latency, ~1,000 TPS
API key (deprecated)✓ (legacy)✓ (legacy)DeprecatedDeprecated
External wallet✓ (crypto users)FreeHighest — no network round-trip

Device key

P-256 keys that are non-extractable and generated securely inside the secure storage of the user’s phone, computer, or browser (e.g., iOS Secure Enclave, Android Keystore, or the browser’s built-in credential store).
  • By default, signing is silent — transactions can be authorized without requiring the user to actively confirm each one. However, device keys can optionally be configured to require biometric authentication on every use, or after a configurable idle period.
  • If a device does not have a dedicated secure enclave, Crossmint automatically falls back to the most secure storage mechanism available on that platform.

Device key implementation guide


Passkey

Passkeys are WebAuthn credentials stored on-device and synchronized across devices by platform providers such as Apple Keychain, Google Password Manager, or third-party password managers like 1Password and Dashlane. Every transaction signed with a passkey requires the user to authenticate using their device’s biometric sensor — Face ID, Touch ID, fingerprint reader, or Windows Hello — or their password manager’s unlock mechanism. This makes passkeys one of the most secure operational signer options because each signature is explicitly authorized by the user. Passkeys are available across the user’s ecosystem of devices rather than being tied to a single one. For example, a passkey created on an iPhone and synced through iCloud Keychain is immediately available on the user’s iPad and Mac. Similarly, passkeys stored in 1Password or Google Password Manager are accessible on any device where that password manager is installed.
  • The cross-device synchronization is convenient but introduces some UX edge cases. A user who changes ecosystems (for example, switching from Apple to Android) may not have immediate access to their passkeys unless they use a cross-platform password manager like 1Password. Using passkeys in conjunction with a recovery signer is recommended to handle these scenarios.
  • Passkeys require a user interaction (biometric or password manager unlock) for every signing operation. This is a security feature, not a limitation — but it means passkeys are best suited for workflows where explicit user confirmation per transaction is acceptable.
  • On devices without a biometric sensor, the passkey provider falls back to a PIN or device password for confirmation.

Passkey implementation guide


Server key

A P-256 or native blockchain keypair injected as an environment variable (or equivalent secret) into a server-side application. Signing happens entirely in-process with no external network call, making this the lowest-latency option available.
Because this key lives as a secret in your infrastructure, enforcing regular rotations is recommended — for example, quarterly — to limit exposure in the event of a compromised environment, a departed employee, or an infrastructure incident.

Server key implementation guide


Cloud KMS

A signing key generated and stored inside a cloud key management service — AWS KMS, Azure Key Vault, or GCP Cloud HSM. The key is non-extractable by design: no employee at your company (or at the cloud provider) can ever retrieve the raw key material. Cloud KMS signers support advanced enterprise security controls natively, including IP allowlisting, cloud IAM-based access policies, rate limiting, circuit breakers, and detailed audit logs and alerting. This is the most secure option for server-side signing: bank-grade key security without the key ever leaving your cloud.
Performance: Up to ~1,000 signing operations per second per key, with latency as low as ~10 ms. Slightly higher latency than a plain server key due to the network call to the KMS endpoint, but well within acceptable range for most production workloads.Cost: Not free, but low. On AWS KMS, signing operations start at approximately 0.03per10,000requests( 0.03 per 10,000 requests (~30 per million).

Cloud KMS implementation guide


API key

API key signers are deprecated and will be removed in a future release. All signer types require an API key for authentication, but an API key is not a valid standalone signer.If you use API key signers today for server-side or agent operations, migrate to server keys instead.
In earlier versions of the Crossmint Wallets API, an API key could be used directly as an operational signer. This model is deprecated in favor of dedicated signer types that separate authentication (API key) from transaction authorization (signer key).

API key migration guide


External wallet

An existing blockchain wallet or keypair — such as a MetaMask wallet, a Phantom wallet, or a raw keypair — used as an operational signer on a Crossmint smart wallet. The external wallet signs transactions on behalf of the smart wallet, and the user retains full control of the signing key. This signer type is designed for crypto-native users who already have a wallet and want to use it to control a Crossmint smart wallet. It is not intended for general consumer onboarding. Best used for: Users, companies, or agents that already hold blockchain keypairs and want to connect them to Crossmint wallets without adopting a new key management approach.
  • Custody depends on who controls the external wallet. If the user holds the private key, the wallet is non-custodial. If a server or third party holds it, the wallet is custodial.
  • Every transaction requires a signature from the external wallet. For user-facing wallets, this means the user must confirm each operation in their wallet application (for example, MetaMask or Phantom).
  • External wallets do not benefit from Crossmint’s built-in recovery mechanisms. If the user loses access to the external wallet’s private key, wallet recovery depends on whatever backup the user has for that key.

External wallet implementation guide

Recovery Signers

SignerUser walletsCompany / server walletsAgent walletsCostRecoverabilitySecurity
Email OTP✓ (admins)LowHighMedium
SMS OTPMediumMediumMedium
Social recoveryLowLow alone / High when pairedMedium
Managed support centerHighestHighestHighest
Externally custodied keyLowestHigh (sophisticated users) / Low (general users)High
Cloud KMS (recovery)LowHighHighest

Email OTP

The user receives a one-time code to their email address to authenticate and authorize the enrollment of a new operational signer. Simple to set up, works across devices and platforms, and most users already have a stable email address. Best used for: User wallets, agent wallets, and company wallets where admins need a fallback recovery path.
CostLow
RecoverabilityHigh — email addresses tend to be stable and long-lived
SecurityMedium — protected by the security of the user’s email account; pairing with a second factor is recommended for high-value wallets
Email OTP recovery uses a master secret that is deterministically derived inside a Trusted Execution Environment (TEE) running open-source, verifiable code. The master secret is never stored anywhere — it only exists ephemerally during derivation and is immediately encrypted for secure distribution.Key components:
  • TEE (Trusted Execution Environment): A hardware-attested secure enclave (Intel TDX) that derives master secrets using HKDF from a TEE-protected root key combined with the user’s identifier and email address. The TEE’s authenticity is cryptographically verifiable via Intel TDX attestation.
  • Device identity keys: Each user device generates a P-256 ECDH keypair stored securely in the browser’s IndexedDB. These keys are non-extractable and used to decrypt the encrypted master secret. The device identity keys never leave the device.
  • Encrypted master secret: After authentication, the TEE encrypts the master secret directly to the device’s public key using HPKE (Hybrid Public Key Encryption). This encrypted master secret is stored by Crossmint’s relay service but can only be decrypted by the device holding the corresponding private key.
Authentication flow:When a user needs to recover on a new device, they authenticate via email using a one-time password (OTP):
  1. The device generates identity keys and requests onboarding from the TEE.
  2. The TEE generates a 9-digit OTP and encrypts it using Format Preserving Encryption (FPE) to the device’s public key.
  3. The encrypted OTP is sent to the user’s email — neither Crossmint nor the host application can read it.
  4. The user enters the encrypted OTP, which the device decrypts locally.
  5. The device sends the decrypted OTP to the TEE via an HPKE-encrypted channel.
  6. The TEE verifies the OTP, confirming the user controls the email.
  7. The TEE derives the master secret and encrypts it to the device’s public key using HPKE authenticated encryption.
  8. The encrypted master secret is stored by Crossmint’s relay for future access.
At no point do the host application or Crossmint have access to the unencrypted master secret or private keys.
Neither the host application nor Crossmint can unilaterally access or control the user’s keys.
  • Master secret derivation: The master secret is cryptographically bound to the user’s email through HKDF derivation. Only someone who can authenticate with that email can trigger the TEE to derive and distribute the master secret.
  • Device-only decryption: Crossmint stores only the encrypted master secret, which is encrypted using HPKE directly to the device’s public key. Without the device’s private identity key (which never leaves the device and is non-extractable), the encrypted master secret cannot be decrypted.
  • TEE attestation: The TEE code is open-source and its execution is verifiable through Intel TDX hardware attestation. Anyone can verify that the deployed TEE code matches the audited source code and that it only derives master secrets after proper authentication.
  • Authentication requirement: Every device must complete TEE-attested authentication (OTP verification) before receiving an encrypted master secret. The OTP is encrypted to the device and cannot be intercepted by Crossmint or the host application.
What Crossmint cannot do:
  • Decrypt the encrypted master secret without the device’s private key.
  • Derive the master secret without the TEE’s protected root key.
  • Bypass the OTP authentication flow enforced by the TEE.
  • Sign transactions on behalf of users without their device and authentication.

Email OTP implementation guide


SMS OTP

Similar to email OTP, but delivered via SMS — or optionally via WhatsApp, for markets where it is the preferred channel. Best used for: Consumer user wallets and agent wallets, particularly in markets where SMS or WhatsApp is more accessible than email.
CostMedium — SMS delivery has per-message costs
RecoverabilityMedium — phone numbers change more often than email addresses, and porting a number to a new carrier can take time
SecurityMedium — vulnerable to SIM-swap attacks; not recommended as the sole recovery mechanism for high-value wallets
SMS OTP recovery uses the same TEE-based architecture as email OTP. The master secret is deterministically derived inside a hardware-attested Trusted Execution Environment (Intel TDX) and is never stored in the clear.The flow is identical to email OTP, except that the one-time password is delivered via SMS (or optionally WhatsApp) instead of email:
  1. The device generates identity keys and requests onboarding from the TEE.
  2. The TEE generates a 9-digit OTP and encrypts it to the device’s public key.
  3. The encrypted OTP is sent to the user’s phone number via SMS or WhatsApp — neither Crossmint nor the host application can read it.
  4. The user enters the OTP, which the device decrypts locally.
  5. The device sends the decrypted OTP to the TEE via an HPKE-encrypted channel.
  6. The TEE verifies the OTP, derives the master secret, and encrypts it to the device’s public key.
All cryptographic operations are performed locally on the user’s device. The master secret and derived private keys are immediately wiped from memory after use.
The same non-custodial guarantees as email OTP apply. The phone number is used only to prove identity — it is not used to derive or store keys.
  • TEE-enforced authentication: The master secret can only be derived after the user proves control of their phone number through the TEE-attested OTP flow.
  • Device-only decryption: The encrypted master secret can only be decrypted by the device’s non-extractable private identity key.
  • Verifiable execution: The TEE code is open-source and its integrity is verifiable via Intel TDX attestation.
Crossmint cannot decrypt the master secret, bypass the OTP flow, or sign transactions without the user’s device and authentication.

SMS OTP implementation guide


Social recovery

Designate a trusted contact — a friend, family member, or colleague — who can authorize wallet recovery on the owner’s behalf via their own email or phone OTP. The trusted contact does not have access to the wallet itself; they can only co-authorize a recovery event. Best used for: Consumer user wallets, ideally paired with another recovery mechanism rather than used in isolation.
CostLow — same as email or SMS OTP
RecoverabilityLow on its own; High when paired with another recovery signer
SecurityMedium — depends on the trustworthiness and security hygiene of the designated contact
Social recovery is coming in Q2 2026.

Social recovery details


Managed support center

A white-glove recovery option: the wallet owner contacts a specialized support center, completes identity verification (KYC), and a trained agent facilitates the enrollment of a new operational signer. This is the most robust recovery option available and is best reserved as a last resort for situations where all other recovery methods have been exhausted. Best used for: High-value user wallets and company wallets. Best deployed in tandem with another recovery mechanism as a safety net.
CostHighest
RecoverabilityHighest — human-in-the-loop with identity verification means recovery is possible even when all credentials are lost
SecurityHighest — KYC-based verification provides the strongest identity guarantees

Managed support center details


Externally custodied key

The wallet owner generates and stores a cryptographic key or passphrase in cold storage — for example, a hardware wallet, an encrypted offline backup, or a printed seed phrase kept in a secure location. When recovery is needed, they present this credential to authorize enrollment of a new operational signer. Best used for: All wallet types, but the practical effectiveness depends heavily on the owner’s level of technical sophistication. Crypto-native users and enterprises with proper key management procedures find this highly reliable. General consumers often struggle with cold storage and are at risk of losing the backup itself.
CostLowest — no ongoing infrastructure cost
RecoverabilityHigh for sophisticated users; Low for general consumers who may lose or mismanage cold storage
SecurityHigh — the key is entirely offline and outside of any third-party infrastructure

External wallet implementation guide


Cloud KMS (recovery)

A non-extractable key stored in a cloud key management service — AWS KMS, Azure Key Vault, or GCP Cloud HSM — configured with the most restrictive access settings available. When an operational signer needs to be rotated (for example, after a suspected compromise or a scheduled key rotation), the Cloud KMS recovery key authorizes the enrollment of the new operational signer. Because the recovery key never leaves the KMS and access is governed by your cloud IAM policies, this approach provides the strongest possible security guarantees for server-side recovery. No individual employee can trigger a recovery unilaterally — access can be scoped to require multi-party approval, specific IP ranges, or other controls enforced at the cloud infrastructure level. Best used for: Company and server wallets that need to rotate operational server keys on a regular or incident-driven basis. Also appropriate for custodial architectures where the operator manages keys on behalf of users and needs a secure, auditable path to rotate those keys.
CostLow — same per-operation pricing as Cloud KMS operational signers (~$30 / million ops on AWS)
RecoverabilityHigh — always available as long as your cloud infrastructure is operational
SecurityHighest — non-extractable key, full cloud IAM controls, audit logging, and optional multi-party approval

Cloud KMS implementation guide