Ignition is in active development. Features and pricing may change.Follow updates →

Wallets

Solana keypair management with client-side AES-256-GCM encryption. Keys never leave your browser unencrypted.

Operations

OperationDescription
CreateGenerates new Keypair.generate(), encrypts private key, stores in Supabase
ImportPaste base58 private key, validates keypair, encrypts and stores
WithdrawSend SOL to any address. MAX button drains full balance minus rent.
Export keyShows private key for 30 seconds then auto-hides
DeleteRemoves from Supabase + clears key cache. Bulk delete available.
RenameCustom display name, synced to Supabase
ReorderDrag and drop. Order persisted in localStorage (walletOrder)
RotationCreates new wallet, transfers all SOL from current to new, sets new as active. One TX.

Encryption

ParameterValue
AlgorithmAES-256-GCM
Key derivationPBKDF2 with 100,000 iterations, SHA-256
Salt16 bytes random per key
IV12 bytes random per encryption
CryptoKey storageIndexedDB (ql_keystore database, keys store)
Session timeout24 hours
Server storesencrypted_secret_key + iv (ciphertext only)

Key cache

  • Decrypted keys cached in-memory Map with 5-minute TTL
  • Cleared on logout
  • Prevents repeated decryption during multi-wallet operations

Balance tracking

  • Refresh TTL: 10 seconds per wallet (skips if fetched within TTL)
  • Batch refresh: getMultipleAccountsInfo for all wallets at once
  • Guard: refreshInFlight flag prevents concurrent batch calls

Active wallet

One wallet is active at a time (used as dev wallet for launches). Persisted to Supabase settings.active_wallet_id. Anti-bubblemap wallets (names starting with [AM:) are filtered from the main wallet list.