Interface Definition

interface Wallet {
  walletId: string;
  chainName: string;
  accountAddress: string;
  serverKeySharesBackupInfo: KeyShareBackupInfo;
  externalServerKeyShares: ServerKeyShare[];
  derivationPath?: string;
  thresholdSignatureScheme: ThresholdSignatureScheme;
}

Properties

Required Properties

  • walletId (string) - Unique identifier for the wallet
  • chainName (string) - The blockchain chain name (e.g., ‘eip155’ for EVM, ‘solana’ for SVM)
  • accountAddress (string) - The wallet’s account address
  • serverKeySharesBackupInfo (KeyShareBackupInfo) - Information about backed up key shares
  • externalServerKeyShares (ServerKeyShare[]) - Array of external server key shares for MPC operations
  • thresholdSignatureScheme (ThresholdSignatureScheme) - The threshold signature scheme used for this wallet

Optional Properties

  • derivationPath (string) - The derivation path used for the wallet (optional)

Example

const wallet: Wallet = {
  walletId: 'wallet_123456',
  chainName: 'eip155',
  accountAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
  serverKeySharesBackupInfo: {
    passwordEncrypted: false,
    backups: {
      dynamic: [],
      googleDrive: [],
      iCloud: [],
      user: [],
      external: []
    }
  },
  externalServerKeyShares: [
    // ServerKeyShare objects
  ],
  derivationPath: 'm/44\'/60\'/0\'/0/0',
  thresholdSignatureScheme: ThresholdSignatureScheme.TWO_OF_TWO
};

Usage

This type is returned by the following methods:
  • getWallets() - Returns Promise<Wallet[]>
  • getEvmWallets() - Returns Promise<Wallet[]> (filtered for EVM wallets)
  • getSvmWallets() - Returns Promise<Wallet[]> (filtered for SVM wallets)