Overview
DynamicSvmWalletClient::createWalletAccount runs an Ed25519 MPC keygen ceremony and returns a KeygenResult carrying the wallet metadata (with base58 address) and the server key shares the customer must persist.
Prerequisites
Step 1: Choose Your Security Model
Same as EVM — see Create EVM Wallet. Solana wallets use the same ThresholdSignatureScheme enum (TWO_OF_TWO / TWO_OF_THREE).
Step 2: Create the Wallet
result.walletProperties().accountAddress() is the base58-encoded Ed25519 public key — the standard Solana address format.
Step 3: Persist State
KeygenResult carries two pieces of state — each belongs in a different storage tier:
See Storage Best Practices for the full pattern.
.backUpToDynamic(false) means Dynamic will not store the key shares for you. Set it to true and pass a .password(...) to leverage Dynamic’s key share service — the password AES-256-GCM-encrypts your share before upload.
Deriving the address from a public key
DynamicSvmWalletClient.deriveAccountAddress(rawPublicKeyBytes) is a static helper that base58-encodes 32 raw bytes into a Solana address — useful when you have the public key out-of-band and don’t want a network round-trip.
Next Steps