Logo PhantomLogo Phantom
Download

Still need help? Start a chat.

© Phantom
  • |
  • Privacy Policy
  • |
  • Terms of Use
  • |
  • phantom.com
PhantomSecurity

Understanding Phantom KMS

Phantom's Key Management System (KMS) stores wallet keys in secure enclaves instead of on your device. KMS powers features like your Cash account and Phantom Terminal trading account. You still control your keys and can export them, but day-to-day signing happens through KMS without exposing private keys to your device.

What is KMS? #

KMS allows you to securely generate, store, and access wallet keys inside trusted enclaves. Phantom does not export private keys out of the enclave environment, but you can choose to do so for the keys you control.

In Phantom, an account can be backed in two ways:

  • KMS account: a reference to a KMS-managed wallet. Wallet keys are stored remotely in a secure enclave, not on your device.
  • Local account: an account whose wallet keys are stored on your device.

Rather than storing the wallet's private keys on your device, KMS allows you to store the wallet's private key remotely in a secure enclave and a second cryptographic identifier key on your device that refers to the wallet's private key when you sign transactions. This is how KMS accounts support recovery and access across devices without exposing private keys.

Examples of Phantom features that use KMS accounts #

  • KMS powers your Cash account.
  • New wallets created with Google or Apple accounts use KMS.

How signing works #

Signing a transaction with a KMS account works differently than with a local account.

phantom-kms-signing.png

With a local account, Phantom signs transactions directly on your device. With a KMS account, your Phantom app or extension sends a signing request to KMS and receives a signature back. The flow works as follows:

  1. Your Phantom app or extension sends a signing request to the KMS API.
  2. KMS authenticates and authorizes the request in a Policy Engine enclave, where permissions and policies are enforced.
  3. If allowed, signing happens in a Signer enclave.
  4. KMS returns a signature to Phantom. The signed transaction is then submitted to the network.

Each request to KMS is cryptographically signed using an authenticator keypair that lives on your device. KMS checks that signature and independently enforces policies (like spending limits) before it will sign a transaction.

The authenticator #

KMS uses an authenticator to confirm that signing requests are coming from you. The authenticator is a cryptographic identifier key that’s separate from your wallet keys. The authenticator lets your Phantom app or browser extension request signatures from KMS without exposing your private keys.

This authenticator is stored in Phantom on your device.

How KMS accounts sync between mobile and extension #

Phantom stores a reference to a KMS-managed account and can re-discover it when you sign in on another device. The reference helps Phantom find the same KMS account again, and an authenticator on your device is used to access KMS and request signatures.

If you previously connected a third-party app to a KMS account, Phantom can recognize that same KMS account later when you sign in on another device.

Phantom can sync KMS accounts in two ways:

  • Sync an existing KMS account. Phantom discovers a KMS account you already have and adds it to your account list.
  • Create a new KMS account. When you create a new KMS account, a reference to it is saved so the account can appear on your other devices.

You can see various account types in your Phantom wallet—KMS, local recovery phrases, Ledger hardware wallets, or private keys.

See also #

Why you no longer need a PIN to sign in

Contents

Related articles

“This account might be malicious. Do not send or deposit funds into it."

If you see “This account might be malicious. Do not send or deposit funds into it. Please proceed with caution,” Phantom has detected signs that the Solana account may be controlled by a scammer or ma...
Updated 4 days ago

Understanding Phantom Auth

Phantom Auth is the system Phantom uses to associate certain wallet customizations with you across supported devices. It uses cryptographic verification similar to blockchain transactions and does not...
Updated 2 months ago

Common NFT scams

Fake NFT mints, airdrops, and giveaways are among the most common scams in crypto. Phantom can't recover lost assets, but we can help you avoid the most common traps. This guide covers what to watch f...
Updated 2 months ago

Security tips for Phantom users

Before you start buying, swapping, or exploring crypto on Phantom, there are a few important things to understand about how your wallet works and how to keep your funds safe.
Updated 2 months ago

Migrate your Phantom wallet to sign in without the PIN

You may see an in-app prompt asking you to confirm your identity with the Google or Apple account connected to your wallet. This is part of a security upgrade for accounts created with Google or Apple...
Updated a month ago