Skip to main content

Function Signature

Description

Exports a key for the wallet identified by walletMetadata. This is the base-class operation that exportPrivateKey() builds on; most callers should use exportPrivateKey() directly.
When you pass externalServerKeyShares (the caller-supplied path), walletMetadata.externalServerKeySharesBackupInfo must also be present — exportKey throws if shares are supplied but backup metadata is missing. The full walletMetadata returned from createWalletAccount / importPrivateKey already includes it; identity-only metadata from fetchWalletMetadata will be rejected.

Parameters

Required Parameters

  • accountAddress (string) - The wallet address (must include 0x prefix). Must match walletMetadata.accountAddress.
  • chainName (string) - The chain name (e.g., 'EVM')
  • walletMetadata (WalletMetadata) - The cached metadata for this wallet

Optional Parameters

  • externalServerKeyShares (ServerKeyShare[]) - Caller-supplied plaintext shares. If omitted, the SDK recovers from backup using password.
  • password (string) - Required if the wallet was created with backUpToDynamic: true.

Returns

  • Promise<{ derivedPrivateKey: string }> - The derived private key as a hex string

Example

Error Handling

Last modified on May 21, 2026