Skip to main content

Overview

DynamicSvmWalletClient::create_wallet_account runs an Ed25519 MPC keygen ceremony and returns the wallet metadata (with base58 address) and the server key shares the customer must persist in their vault.

Prerequisites

Step 1: Choose Your Security Model

Same as EVM — see Create EVM Wallet. Solana wallets use the same ThresholdSignatureScheme enum.

Step 2: Choose Your Backup Mode

The back_up_to_dynamic flag works identically across EVM and SVM — see Create EVM Wallet — Choose Your Backup Mode for the full breakdown.
password is required when back_up_to_dynamic: true. The SDK rejects the call with Error::InvalidArgument if you pass None. The password locally AES-256-GCM-encrypts the share that gets uploaded to Dynamic’s backup store — needed later if you ever recover via run_recover_key_shares.
You always vault the returned Vec<ServerKeyShare> in your own infrastructure for day-to-day signing — the flag only decides whether Dynamic also keeps an encrypted disaster-recovery copy. With back_up_to_dynamic: false, no copy lives on Dynamic and password becomes optional; losing your vault in that mode means losing the wallet.

Step 3: Create the Wallet

wallet_properties.account_address is the base58-encoded Ed25519 public key — the standard Solana address format.

Step 4: Persist State

create_wallet_account() returns two pieces of state — each belongs in a different storage tier:
See Storage Best Practices for the full pattern.

Next Steps

Last modified on May 19, 2026