Documentation Index
Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Two related pieces of wallet lifecycle live on the baseDynamicWalletClient:
updatePassword— Rotate the password protecting the wallet’s backup. Local re-encrypt only, no MPC ceremony.- State predicates —
isPasswordEncrypted,requiresPasswordForOperation,requiresRestoreBackupSharesForOperation. Pure-local static helpers that tell you what inputs the next operation will need.
updatePassword to rotate the AES-256-GCM password that wraps the backup shares Dynamic stores on your behalf.
State Predicates
All three predicates are pure-local — no MPC, no network. They inspect theWalletProperties.externalServerKeySharesBackupInfo field and return a boolean.
WalletOperation enum
The operation argument is one of:
SIGN_MESSAGE/SIGN_TYPED_DATA/SIGN_TRANSACTION/SEND_TRANSACTIONEXPORT_PRIVATE_KEYREFRESH/RESHAREUPDATE_PASSWORD
Use in UI Gating
Rotate the Backup Password
updatePassword is a local re-encrypt only (no MPC ceremony). It decrypts the existing backup shares with existingPassword, re-encrypts with newPassword, and POSTs the new ciphertext. The MPC secret-share material inside the shares is unchanged — only the AES key wrapping it.
Skipping the recovery round-trip
When the caller already has plaintextexternalServerKeyShares cached client-side, existingPassword can be omitted — the SDK skips the recovery round-trip entirely:
Why Both Predicates and updatePassword Are Local
Both fall in the same conceptual bucket: the SDK already has everything it needs to answer / perform them client-side, so there’s no MPC ceremony involved. This matters for:
- Throughput — no Dynamic backend round-trip on the hot path (predicates)
- Recovery —
updatePasswordworks the same in disaster scenarios as it does in steady state - Cost — no MPC compute consumed for a password rotation
updatePassword. If both are lost, the wallet’s MPC shares are recoverable only through the standard refresh / reshare flows (not yet exposed in v0.1.0).
Next Steps
- Storage Best Practices — persist updated
WalletPropertiesafter rotation - Create EVM Wallet / Create SVM Wallet
- Delegated access — the alternate auth model that doesn’t use a password