Skip to main content

What is Smart Account Kit?

Smart Account Kit is a TypeScript SDK that makes it easy to build wallet-aware applications on Stellar/Soroban using OpenZeppelin’s smart account contracts. It handles the complexity of WebAuthn passkey authentication, session persistence, and multi-signer flows so you can focus on building your app.

Key Features

Passkey Authentication

Create and manage smart wallets secured by WebAuthn passkeys - no seed phrases required.

Session Management

Automatic session persistence for seamless reconnection across page loads.

Multiple Signer Types

Support for passkeys (secp256r1), Ed25519 keys, and policy signers.

Context Rules

Fine-grained authorization control for different operations.

Policy Support

Threshold multisig, spending limits, and custom policies.

Storage Adapters

Flexible credential storage with IndexedDB, localStorage, or custom backends.

How It Works

Smart Account Kit wraps the on-chain smart account contract with ergonomic TypeScript APIs:
  1. Create - Register a passkey and deploy a smart account contract on Stellar
  2. Connect - Restore a session or prompt the user to select a passkey
  3. Sign & Submit - Sign transactions via WebAuthn and submit to the network
  4. Manage - Add/remove signers, create context rules, and attach policies

Architecture

Your App

SmartAccountKit          ← Main entry point
   ├── SignerManager      ← Add/remove signers on context rules
   ├── ContextRuleManager ← CRUD context rules
   ├── PolicyManager      ← Attach/detach policies
   ├── CredentialManager  ← Local credential lifecycle
   ├── MultiSignerManager ← Multi-sig transaction flows
   ├── ExternalSignerManager ← G-address / wallet signer support
   ├── RelayerClient      ← Fee-sponsored submission
   └── IndexerClient      ← Contract discovery by credential/address

Next Steps

Quick Start

Get up and running in minutes.

Configuration

Explore all SDK initialization options.