Function Signature
Description
Creates a new EVM wallet account with the specified threshold signature scheme. Returns a walletMetadata object (non-sensitive identity + backup pointers) alongside the sensitive externalServerKeyShares. Persist both — walletMetadata in your cache (Redis/Postgres) and externalServerKeyShares in a secrets vault. The SDK is stateless and you must pass walletMetadata to every subsequent operation.
Parameters
Required Parameters
thresholdSignatureScheme (ThresholdSignatureScheme) - The threshold signature scheme for the wallet
Optional Parameters
password (string) - Password to protect the wallet’s key shares. Required when backUpToDynamic is true. You can use the same password for all wallets or a unique password per wallet.
onError ((error: Error) => void) - Error callback function
backUpToDynamic (boolean) - Whether to back up the first key share to Dynamic’s client share service (defaults to false). When true, the first share is backed up to Dynamic and the remaining shares are returned for external storage. When false, all shares are returned for external storage. When true, a password must be provided.
Returns
Promise<object> - Object containing wallet information:
walletMetadata (WalletMetadata) - Non-sensitive identity + backup-pointer metadata. The wallet’s address is at walletMetadata.accountAddress, and walletMetadata.walletId is the unique wallet identifier. Persist this in your cache.
publicKeyHex - Public key in hex format
rawPublicKey - Raw public key object
externalServerKeyShares (ServerKeyShare[]) - Sensitive plaintext shares for MPC operations. Store these in a secrets vault.
externalKeySharesWithBackupStatus - Array of key shares with their backup status. Each entry contains:
share - The key share (ServerKeyShare)
backedUpToClientKeyShareService - Whether this share was backed up to Dynamic’s client share service
Example
Error Handling
Last modified on September 21, 2026