Keychain

Solana Keychain provides a unified interface for signing Solana transactions across multiple key management backends. Use it to integrate enterprise-grade signing into your backend services.

Why Keychain?

  • Single Interface: One SolanaSigner trait works across all backends
  • Swap Backends: Change key management providers without rewriting code
  • Zero-Cost Abstraction: Feature flags include only what you need

Architecture

  • Languages: Rust + TypeScript
  • Trait: Unified SolanaSigner interface
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Compatibility: @solana/kit and @solana/signers compatible (TypeScript) | solana-sdk and solana-sdk-v3 compatible (Rust)

Supported Backends

BackendUse CaseRustTypeScript
MemoryDevelopment, testing
HashiCorp VaultSelf-hosted HSM
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyEmbedded wallets
TurnkeyNon-custodial
FireblocksInstitutional MPC
CDPCoinbase Developer Platform
CrossmintCrossmint managed wallets
DfnsDfns wallet infrastructure
OpenfortOpenfort embedded wallets
ParaPara MPC wallets

Quick Start

Rust

Install the Rust crate:

cargo add solana-keychain

Basic usage:

use solana_keychain::{Signer, SolanaSigner};
// Create a signer from any backend
let signer = Signer::from_memory("base58_private_key")?;
// All signers share the same interface
let pubkey = signer.pubkey();
let signature = signer.sign_transaction(&mut tx).await?;

TypeScript

Install the TypeScript package:

pnpm add @solana/keychain

Basic usage:

import { createKeychainSigner } from "@solana/keychain";
import { signTransactionWithSigners } from "@solana/signers";
// Create any signer via the unified factory
const signer = await createKeychainSigner({
backend: "vault",
vaultAddr: "https://vault.example.com:8200",
vaultToken: "hvs.xxxxx",
keyName: "my-solana-key",
publicKey: "base58_public_key"
});
// Sign an already-compiled transaction
const signedTx = await signTransactionWithSigners(
[signer],
compiledTransaction
);

Other Resources

Source

GitHub Repository

Built and maintained by the Solana Foundation.

Licensed under MIT. See LICENSE for details.

Is this page helpful?

Table of Contents

Edit Page
© 2026 Solana Foundation. All rights reserved.