What is a Signer?
A Signer is a service (e.g. Alchemy Signer) or application (e.g. MetaMask) that manages the private key and signs operations. Most web3 users today use an Externally Owned Account (EOA) with a self-custodial Signer such as MetaMask to manage the private key.
With Account Kit, you will deploy a smart account for each user instead of an EOA wallet. This smart account stores the user's assets (e.g. tokens or NFTs).
The signer connected to the SmartAccountClient
is used to sign messages, data including user operations and transactions. The signatures for the user operation will be only valid and execute if the signer is the owner or one of the owners of the account.
Using Account Kit, you can secure your user's account with an email, social login, or passkeys. You can also use a self-custodial wallet like MetaMask as the Signer. You can choose any Signer service or application to manage the Owner private key for the user.
This doc provides a basic introduction to signers and the criteria you should consider when choosing which Signer to use with Account Kit in your application.
Role of a Signer
The Signer plays a crucial role in your app because it controls the user’s smart account. The Signer is responsible for:
- Securely storing the user’s private key which controls the user’s assets
- Authenticating the user
- Protecting the user’s account from phishing attacks
- Signing user operations requested by the user, if and only if the user has authenticated
- Optionally offering account recovery methods
Alchemy Signer
User security is our top priority. Alchemy Signer is a non-custodial signer service where private keys are securely generated inside a secure enclave. Only the end user can access their keys, not Alchemy nor your app. Read more about Turnkey's security model that powers Alchemy Signer.
Alchemy Signer is supported out of the box with Account Kit via easy to use React Hooks and lower-lever SDKs. Using Account Kit with the Alchemy Signer, you can secure your user's account with an email, social login, or passkeys.
Read more about signers here.
Disclaimer: This page refers to third-party services, products software, technology, and content (collectively, “Third-Party Services”) that may be integrated or interact with Alchemy’s software and services. Alchemy is not responsible for any Third-Party Service, or for any compatibility issues, errors, or bugs caused in whole or in part by the Third-Party Service or any update or upgrade thereto. Your use of any Third-Party Service is at your own risk. You are responsible for obtaining any associated licenses and consents to the extent necessary for you to use the Third-Party Services. Your use of the Third-Party Services may be subject to separate terms and conditions set forth by the provider (including disclaimers or warnings), separate fees or charges, or a separate privacy notice. You are responsible for understanding and complying with any such terms or privacy notice.